集成 · 中级

为 AI 智能体配置代理:环境变量、Playwright MCP 与浏览器智能体

智能体浏览网页时像急躁的人:访问大量页面、目标不可预测,也记不住哪些网站曾经拦截它们。为每个任务分配一个住宅出口、让会话覆盖整个任务,再设置支出上限,就能获得稳定的配置。

阅读约需 3 分钟 7 个章节 审核日期 编辑团队 Proxy Cyber

智能体带来的三个问题#

  • 目标不可预测。 智能体自行决定访问哪里;你无法预先为一个网站选择数据中心代理、为另一个网站选择住宅代理。住宅出口是稳妥的默认选择。
  • 每个任务包含大量跳转。 搜索、打开、点击、阅读,再重复:一个任务就是一个会话,在任务持续期间应始终使用同一出口。
  • 支出没有上限。 陷入循环的智能体可能获取数 GB 数据。请为其设置不可超出的上限。

适用于整个工具链的环境变量#

requests、HTTPX 和 urllib 的默认配置可以读取代理环境变量。aiohttp 需要 ClientSession(trust_env=True),或显式传入 proxy。浏览器及采用独立网络栈的工具可能忽略这些变量。应分别验证每个工具的出口;NO_PROXY 只填写需要直接连接的主机。

Shell
export HTTPS_PROXY="http://AGENTUSER-cc-us-sid-task-4f2a-ttl-2h:PASS@res.proxy-cyber.com:9000"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1,api.openai.com,api.anthropic.com"
python agent.py

使用 NO_PROXY 排除模型提供商的 API 主机:LLM 调用不需要住宅出口,只会徒增流量费用。

Node.js 智能体#

受支持的 Node.js 版本可通过 NODE_USE_ENV_PROXY=1 让内置 fetch 使用 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY;Node.js 22.21+ 与 24.5+ 支持 --use-env-proxy。也可显式配置 undici 的 ProxyAgent 或 EnvHttpProxyAgent。使用独立传输层或自定义代理器的库仍需单独配置和测试。

Node.js
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
setGlobalDispatcher(new EnvHttpProxyAgent()); // 读取 HTTPS_PROXY / NO_PROXY

Playwright MCP 服务器#

Claude、ChatGPT 类工具和 IDE 智能体使用 Playwright MCP 服务器驱动浏览器,该服务器可在启动时接收代理。请传入网关、粘性用户名,以及本地主机绕过列表。

MCP 配置
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--proxy-server=http://res.proxy-cyber.com:9000",
        "--proxy-bypass=localhost,127.0.0.1"
      ]
    }
  }
}

在「访问管理」中提交服务器实际出口的公网 IPv4,等待管理员启用。NAT 或 VPN 可能改变网关看到的源地址。只有该条目针对交付服务确认生效后,才能使用免密码连接。地区和会话选项需另外确认;源 IP 白名单不会发送用户名参数。

基于 Playwright 构建的浏览器智能体#

browser-use 等框架会在浏览器配置中公开 Playwright 的代理设置(server、username、password)。每次运行智能体时都分配新的会话 ID,避免并行运行共享出口;同时将上下文的区域设置和时区设为出口所在国家/地区。

基于 Playwright 的 Python 智能体
proxy = {
    "server": "http://res.proxy-cyber.com:9000",
    "username": f"AGENTUSER-cc-us-sid-{run_id}-ttl-1h",
    "password": "PASS",
}
# 在框架接收 Playwright 代理设置的位置传入 `proxy`

上限控制:子用户#

在「访问管理」中提交子用户申请,注明独立标签、网络和所需 GB 限额。管理员分配凭据,并确认启用状态及网关实际执行的限额。待处理申请不是已启用账户。应用中也应设置用量预算;若有效凭据泄露,请联系支持撤销或更换。

保持合理的访问行为#

  • 限制智能体每分钟对每个域名的请求数;轮换出口不能成为高频轰炸的借口。
  • 在浏览器上下文中屏蔽图片、媒体和字体;智能体只需读取文本。
  • 为每个任务记录会话 ID,以便将被拦截的运行追溯到其出口,并在新出口上重新执行。

大家常问的问题#

LLM API 调用也应该通过代理吗?

不应该。使用 NO_PROXY 排除提供商主机:这些调用不需要住宅出口,只会消耗流量。

主要阅读文档和开放网站的智能体应使用哪种网络?

不同会话标识只区分路由偏好,不会隔离浏览器 Cookie 或应用状态。先用少量并发任务测量错误率和流量,再按照订单确认的限额及目标网站限制逐步增加。限定城市或运营商可能减少可用容量。

您的账户

在一个账户中管理代理服务

在同一控制台比较网络、下单并查看余额与支持请求。团队人工核验付款,交付后提供连接信息。

创建账户