VimalinxOS / 组件档案
Agent 系统 / Agent 所有者隔离的浏览器生命周期

AgentBrowser

Owner-isolated lifecycle

浏览器属于发起它的 Agent,也由那个 Agent 负责收尾。

为真实自动化浏览器分配独立所有者、端口、显示、配置与回收记录;一个 Agent 看不见、复用不了,也不能误杀另一个 Agent 的浏览器。

ORIGIN / 为什么做

在共享 AI 工作站上,裸跑浏览器命令会把端口、Profile、显示和清理责任混在一起。我需要每个原生 Agent 会话都拥有可追踪、可等待、可回收的浏览器生命。

PRINCIPLES

产品判断

浏览器实例必须绑定稳定 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 端口拥有很高权限,只能绑定在本机回环地址。