CDP 模式

通过 Chrome DevTools 协议连接到现有的浏览器:

# 启动 Chrome 时使用:google-chrome --remote-debugging-port=9222

# 连接一次后,后续命令可不带 --cdp 选项
agent-browser connect 9222
agent-browser snapshot
agent-browser tab
agent-browser close

# 或在每个命令中都传递 --cdp 选项
agent-browser --cdp 9222 snapshot

远程 WebSocket URL

通过 WebSocket URL 连接到远程浏览器服务:

# 连接到远程浏览器服务
agent-browser --cdp "wss://browser-service.com/cdp?token=..." snapshot

# 可与任何兼容 CDP 的服务配合使用
agent-browser --cdp "ws://localhost:9222/devtools/browser/abc123" open example.com

--cdp 标志接受以下任意一种形式:

  • 端口号(例如 9222),用于通过 http://localhost:{port} 进行本地连接
  • 完整的 WebSocket URL(例如 wss://...ws://...),用于连接远程浏览器服务

自动连接

使用 --auto-connect 可自动发现并连接到正在运行的 Chrome 实例,而无需指定端口:

# 自动发现启用远程调试的 Chrome
agent-browser --auto-connect open example.com
agent-browser --auto-connect snapshot

# 或通过环境变量设置
AGENT_BROWSER_AUTO_CONNECT=1 agent-browser snapshot

自动连接通过以下方式发现 Chrome:

  1. 从默认用户数据目录读取 Chrome 的 DevToolsActivePort 文件
  2. 若失败,则尝试探测常见调试端口(9222、9229)

这在以下场景中非常有用:

  • Chrome 144+ 通过 chrome://inspect/#remote-debugging 启用了远程调试(使用动态端口)
  • 希望对现有浏览器实现零配置连接
  • 不想追踪 Chrome 当前使用的端口

色彩方案

当通过 CDP 连接时,Playwright 默认会将浏览器的色彩方案覆盖为 light。使用 --color-scheme 可设置持久化的偏好:

agent-browser --cdp 9222 --color-scheme dark open https://example.com
agent-browser --cdp 9222 snapshot  # 保持在深色模式

或通过配置文件或环境变量全局设置:

AGENT_BROWSER_COLOR_SCHEME=dark agent-browser --cdp 9222 open https://example.com

使用场景

此功能支持控制:

  • Electron 应用程序
  • 启用远程调试的 Chrome/Chromium
  • WebView2 应用程序
  • 远程浏览器服务(通过 WebSocket URL)
  • 任何暴露 CDP 端点的浏览器

全局选项

选项描述
--session <name>使用隔离的会话
--profile <path>持久化的浏览器配置文件目录
-p <provider>云浏览器提供商(browserbasebrowserusekernel
--headers <json>作用于源站的 HTTP 头信息
--executable-path自定义浏览器可执行文件路径
--args <args>浏览器启动参数(以逗号分隔)
--user-agent <ua>自定义 User-Agent 字符串
--proxy <url>代理服务器地址
--proxy-bypass <hosts>绕过代理的主机列表
--json脚本输出为 JSON 格式
--full, -f全页面截图
--name, -n定位器名称过滤器
--exact精确文本匹配
--headed显示浏览器窗口
--cdp <port|url>CDP 连接(端口或 WebSocket URL)
--auto-connect自动发现并连接到正在运行的 Chrome
--color-scheme <scheme>持久化的色彩方案(darklightno-preference
--debug调试输出

云服务提供商

当本地浏览器不可用时,可使用云浏览器基础设施:

# Browserbase
export BROWSERBASE_API_KEY="您的 API 密钥"
export BROWSERBASE_PROJECT_ID="您的项目 ID"
agent-browser -p browserbase open https://example.com

# Browser Use
export BROWSER_USE_API_KEY="您的 API 密钥"
agent-browser -p browseruse open https://example.com

# Kernel
export KERNEL_API_KEY="您的 API 密钥"
agent-browser -p kernel open https://example.com

# 或通过环境变量设置
export AGENT_BROWSER_PROVIDER=browserbase
agent-browser open https://example.com

-p 标志优先级高于 AGENT_BROWSER_PROVIDER