当前 browser_use 默认就是以 managed CDP 方式启动并接管本地 Chrome/Chromium,但这不等于每次都应该把 CDP 端口暴露给用户或其他工具。
本 skill 关注的是更“显式”的 CDP 用法:
connect_cdp)
cdp_port 启动浏览器
也就是说:
start 默认会使用 managed CDP,但通常不需要用户理解或感知 CDP 细节隐私建议
如果用户不希望暴露浏览器历史、Cookies、页面内容或会话信息,推荐使用
private_mode=true,改走 Playwright 直接管理模式。
⚠️ 单 workspace 单浏览器实例
同一 workspace 同时只能运行或连接一个浏览器。若当前已有浏览器实例,必须先执行
stop,再切换到新的浏览器或新的 CDP 连接。
仅在用户明确表达以下意图时使用本 skill:
以下情况通常不要进入本 skill:
这些情况通常直接使用普通 start,必要时加 headed=true,参考 browser_visible 即可。
默认扫描端口范围 9000–10000:
{"action": "list_cdp_targets"}
指定单个端口:
{"action": "list_cdp_targets", "port": 9222}
自定义扫描范围:
{"action": "list_cdp_targets", "port_min": 8000, "port_max": 12000}
适用场景:
连接已存在的 CDP 端点:
{"action": "connect_cdp", "cdp_url": "http://localhost:9222"}
特点:
open、snapshot、click、type 等常规操作stop 时只断开连接,不会关闭外部浏览器
适用场景:
如果用户明确要求使用固定端口,或需要把端点提供给其他工具,可以在 start 时指定 cdp_port:
{"action": "start", "cdp_port": 9222}
如需同时打开可见窗口:
{"action": "start", "headed": true, "cdp_port": 9222}
当前行为说明:
cdp_port 已被占用,会直接报错,不会强行复用cdp_port,默认会自动挑选空闲端口,通常可避免多 workspace 冲突因此:
cdp_port
cdp_port
当前多 workspace 下的端口策略是:
127.0.0.1:cdp_port 是否已占用;若已占用则直接失败,提示用户换端口或先停止旧进程这意味着:
cdp_port,后启动的那个会因为端口已占用而失败CDP 相关 stop 需要区分两类:
例如:
{"action": "start"}
或:
{"action": "start", "cdp_port": 9222}
这类浏览器由 QwenPaw 自行启动并持有进程,stop 时会:
例如:
{"action": "connect_cdp", "cdp_url": "http://localhost:9222"}
这类浏览器不是 QwenPaw 启动的,stop 时只会:
简单说:
start 虽然底层使用 managed CDP,但这属于 tool 的内部默认实现,不代表每次都要把 CDP 概念暴露给用户private_mode 是每次 start 的显式参数,不作为 workspace 持久状态保存