ORIGIN / 为什么做 在共享 AI 工作站上,裸跑浏览器命令会把端口、Profile、显示和清理责任混在一起。我需要每个原生 Agent 会话都拥有可追踪、可等待、可回收的浏览器生命。
浏览器实例必须绑定稳定 owner,普通调用只能看见自己的记录。
远端控制端口始终留在 loopback,通过专用 SSH 隧道返回。
启动器只管浏览器的生命周期,Playwright 或具体的浏览器 Agent 负责网页操作。
DETAIL / 01 它在解决什么
一个工作站同时跑多个 Agent 时,浏览器 Profile、端口和显示要是没有所有者,复用和清理就只能靠碰运气。AgentBrowser 记住每个浏览器由谁启动,进程崩溃后,原 owner 仍能找回残留实例并清理。
DETAIL / 02 每个浏览器都有主人
- 启动 Chromium 或 Camoufox,并分配端口、显示、Profile 与状态记录。
- 基于原生 Agent Session 自动识别 owner,其他调用者必须显式提供稳定 owner ID。
- 普通操作默认 owner-scoped;跨会话查看和终止需要显式 --global 管理权限。
- 远端执行面把 CDP 绑定在远端 loopback,再用独立 SSH 隧道返回本机。
- 同一个持久身份会记住自己的 Profile、出口 IP 检查结果和 cookie 存放位置,下次启动可以接着用。
DETAIL / 03 边界在哪里
AgentBrowser 管理浏览器的启动、归属、连接和回收。网页上点什么,仍由 Playwright、浏览器控制工具或具体 Agent 决定。CDP 端口拥有很高权限,只能绑定在本机回环地址。