agent-browser + 16YUN 代理:企业级 AI 采集部署

多 Session 隔离、域白名单安全策略、操作审批控制、与 16YUN 各代理产品的配合方案以及生产部署 Checklist。

亿牛云技术团队2026年5月13日3 分钟阅读

从开发到生产

前三篇文章覆盖了 agent-browser 的单个能力。生产环境需要的是把这些能力组合成安全、稳定、可扩展的采集系统

Session 隔离架构

生产环境中,多个采集任务应使用独立的 Session,互不干扰:

# 每个采集任务独立 session
AGENT_BROWSER_SESSION=crawler-task-1 agent-browser open https://example.16yun.cn
AGENT_BROWSER_SESSION=crawler-task-2 agent-browser open https://example.16yun.cn
 
# 查看当前活跃 session
agent-browser session list
# Output:
# Active sessions:
# -> crawler-task-1
# -> crawler-task-2

每个 Session 拥有独立的:

  • 浏览器实例
  • Cookie 和存储
  • 导航历史
  • 认证状态

Session + 代理绑定

# 任务 1:独享代理 A + session A
HTTP_PROXY=http://user:pass@dedicated-a.16yun.cn:8888 \
AGENT_BROWSER_SESSION=task-a \
agent-browser batch \
  "open https://example.16yun.cn/login" \
  "fill @e3 admin@a.com" \
  "fill @e4 pass-a" \
  "click @e5" \
  "wait 3000" \
  "screenshot dashboard-a.png"
 
# 任务 2:爬虫代理隧道 + session B
HTTP_PROXY=http://user:pass@proxy.16yun.cn:8888 \
AGENT_BROWSER_SESSION=task-b \
agent-browser batch \
  "open https://example.16yun.cn/products" \
  "snapshot -i -c" \
  "screenshot products-b.png"

安全策略

agent-browser 为 AI Agent 场景提供了多层次的安全控制:

域白名单

限制浏览器只能访问指定域名,防止 AI Agent 产生意外导航:

export AGENT_BROWSER_ALLOWED_DOMAINS="example.16yun.cn,*.example.16yun.cn,api.example.16yun.cn"
 
# 以下可访问
agent-browser open https://example.16yun.cn/dashboard
agent-browser open https://app.example.16yun.cn/settings
 
# 以下被拒绝
agent-browser open https://blocked.example.16yun.cn  # *.example.16yun.cn 通配符已覆盖此域名

通配符 *.example.16yun.cn 也会匹配裸域名 example.16yun.cn。子资源请求(script、image、fetch)和 WebSocket 连接也会被限制。

操作审批

对高风险操作(evaldownload)要求确认:

export AGENT_BROWSER_CONFIRM_ACTIONS="eval,download"
 
# 执行 eval 时会提示确认
agent-browser eval "document.cookie"  # 需要确认

操作策略文件

通过 JSON 策略文件定义运行时的操作规则:

# policy.json
cat > policy.json << 'EOF'
{
  "allowedDomains": ["example.16yun.cn"],
  "blockedDomains": ["evil.com"],
  "maxScreenshots": 100,
  "denyEval": true,
  "denyFileUpload": true
}
EOF
 
export AGENT_BROWSER_ACTION_POLICY=./policy.json

内容边界标记

在页面输出前后添加标记,让 AI 明确区分工具输出和页面内容:

export AGENT_BROWSER_CONTENT_BOUNDARIES=true
 
# 输出会被包裹在边界标记中
agent-browser get text body
# <BEGIN_PAGE_CONTENT>
# ... 页面文本 ...
# <END_PAGE_CONTENT>

输出长度限制

防止页面内容过大导致上下文溢出:

export AGENT_BROWSER_MAX_OUTPUT=50000  # 最大 50K 字符

安全配置一览

配置环境变量 / 参数说明
域白名单AGENT_BROWSER_ALLOWED_DOMAINS限制导航范围
操作确认AGENT_BROWSER_CONFIRM_ACTIONS高风险操作需确认
策略文件AGENT_BROWSER_ACTION_POLICYJSON 策略文件
内容边界AGENT_BROWSER_CONTENT_BOUNDARIES标记工具输出边界
输出上限AGENT_BROWSER_MAX_OUTPUT防止上下文过多
Session 加密AGENT_BROWSER_ENCRYPTION_KEYAES-256-GCM 存储加密

16YUN 产品配合方案

代理产品适用 agent-browser 场景配置要点
爬虫代理(隧道)大量 session 共享 IP 池,每个请求自动切换 IPHTTP_PROXY=http://user:pass@proxy.16yun.cn:8888
API 代理需要精细化控制 IP 分配,自定义提取策略先提取 IP 列表,创建 session 时指定不同代理
独享代理长期固定身份,需要稳定登录态的采集绑定固定 session + 固定 proxy + state 持久化

爬虫代理 + 批量 Session

#!/bin/bash
# 10 个采集任务共享爬虫代理 IP 池
export HTTP_PROXY=http://user:pass@proxy.16yun.cn:8888
 
for i in $(seq 1 10); do
  AGENT_BROWSER_SESSION="batch-$i" \
  agent-browser batch \
    "open https://example.16yun.cn/page-$i" \
    "snapshot -i -c > snaps/page-$i.txt" &
done
wait

API 代理 + 精细化 IP 控制

#!/bin/bash
# 提取 IP 列表,为每个 session 分配不同出口
 
IP_LIST=$(curl -s "http://ip.16yun.cn:817/myip/pl/xxx/?s=xxx&u=user&format=json&count=5")
 
echo "$IP_LIST" | jq -c '.[]' | while read -r proxy; do
  IP=$(echo "$proxy" | jq -r '.ip')
  PORT=$(echo "$proxy" | jq -r '.port')
  SESSION_NAME="crawl-${IP//./-}"
 
  HTTP_PROXY="http://user:pass@$IP:$PORT" \
  AGENT_BROWSER_SESSION="$SESSION_NAME" \
  agent-browser batch \
    "open https://example.16yun.cn" \
    "screenshot shots/$IP.png" &
done
wait

独享代理 + 长期账号运营

#!/bin/bash
# 每个账号绑定独享代理 + 独立 session + 持久化状态
 
ACCOUNTS=(
  "account-01:http://user:pass@dedicated-01.16yun.cn:8888"
  "account-02:http://user:pass@dedicated-02.16yun.cn:8888"
)
 
for entry in "${ACCOUNTS[@]}"; do
  NAME="${entry%%:*}"
  PROXY="${entry##*:}"
 
  HTTP_PROXY="$PROXY" \
  AGENT_BROWSER_SESSION_NAME="$NAME" \
  agent-browser batch \
    "open https://seller.example.16yun.cn/dashboard" \
    "snapshot -i -c"
done

生产部署 Checklist

□ Session 隔离
   □ 每个任务使用独立 --session 参数
   □ 配置 AGENT_BROWSER_SESSION_NAME 自动持久化
 
□ 安全配置
   □ 设置 AGENT_BROWSER_ALLOWED_DOMAINS 白名单
   □ 启用 AGENT_BROWSER_CONTENT_BOUNDARIES
   □ 设置 AGENT_BROWSER_MAX_OUTPUT 限制输出
   □ 生产环境配置 AGENT_BROWSER_ENCRYPTION_KEY
 
□ 代理选型
   □ 大批量匿名采集 → 爬虫代理(隧道模式)
   □ 精细化 IP 控制 → API 代理(IP 池)
   □ 长期固定身份 → 独享代理(固定出口)
 
□ 错误处理
   □ 代理 407 认证失败:核对凭据
   □ 代理 429 频率限制:降低并发
   □ 超时 retry:3 次重试 + 指数退避
 
□ 监控日志
   □ 记录每个 session 的操作日志
   □ 定期清理过期 session 和 state 文件
   □ 监控代理流量和消耗

总结

agent-browser 为 AI Agent 提供了 CLI-first 的浏览器自动化能力,结合 16YUN 代理产品,可以构建从单步命令到大规模分布式采集的完整方案:

层级技术解决的问题
自动化层agent-browser CLI浏览器控制、截图、内容提取
身份层Session + State 管理认证持久化、操作隔离
安全层白名单 + 策略 + 加密防止误操作和数据泄漏
网络层16YUN 代理IP 隐藏、频率控制、区域覆盖

需要企业代理方案?

我们可根据目标站点、并发规模与稳定性目标提供定制方案。