浏览器插件

一个 MV3 扩展把你已经打开、已经登录的真实 Chrome 接到平台,Agent 实时在这个会话里操作——不是起一个无头实例跑完就退出。

解决的核心问题常见浏览器自动化(Playwright 等)每次启动一个无头、无登录态的临时实例,跑完即丢——要处理登录、验证码、已有会话就很别扭。CDP 桥接反过来:复用你正在用的浏览器和它已有的登录态。

特色:与无头脚本的差别

无头脚本(Playwright 等)Ai Lubricant CDP 桥接
浏览器实例每次新起一个临时实例复用你正在用的真实 Chrome
登录态 / Cookie默认没有,需自己注入沿用你已登录的会话
生命周期脚本跑完即销毁常驻,Agent 随时接管当前标签
操作方式写死在脚本里Agent 实时决定读页、执行 JS、切标签、截图、抓网络

特色:12 个 CDP 工具

工具能力
browser_get_tabs列出已连接的浏览器标签页(ID/URL/标题)
browser_scan返回当前活动标签的优化 HTML/文本及标签列表
browser_execute_js在页面执行 JavaScript,捕获结果与 DOM 变化
browser_navigate导航活动标签到指定 URL
browser_switch_tab切换 MCP 活动标签(不改变可见 Chrome 标签)
browser_focus_tab把某标签带到前台并聚焦其窗口
browser_screenshot截取活动标签(返回 base64 PNG)
browser_batch一次请求执行多个扩展/CDP 命令
browser_wait等待某 JavaScript 条件返回真值
browser_network_start / get / stop启动/读取/停止标签网络请求捕获(附加调试器、缓冲事件、返回捕获)
新任务开新标签新任务或独立站点用 browser_open_tab 开新 tab,同站内跳转才用页内点击——避免把当前会话的上下文覆盖掉。

特色:网页内直接和 Agent 对话

不止把浏览器当工具。一套 chat_* 帧协议复用同一条扩展 WebSocket,按帧 type 前缀与 CDP 驱动帧分流,让你在网页里直接和 Agent 对话、管理会话:

  • chat_list_agents / chat_send / chat_abort / chat_new_conversation / chat_load_conversation / chat_list_conversations 等帧覆盖会话生命周期。
  • 每帧按连接身份校验:Agent 是否对该 client 授权、页面是否属于该 client(会话级隔离)。
  • 对话流以 chat_event 帧回传;底层 chunked 传输被截断时有专门收尾处理,避免半截流污染会话。

效果:用户在受控浏览器页面里就能让 Agent 读取当前页、执行 JS、跨标签操作,Agent 的模型调用仍走平台统一网关和权限校验。

特色:两类 token 不能混用

连接 token ≠ MCP 访问 tokenChrome 扩展的连接 token只用于扩展↔平台的 WebSocket 握手;外部 MCP 客户端访问 /mcp/cdp-bridge/sse 用的是单独签发、绑定具体 CDP client 的 MCP 访问 token。per-request token 路由到对应浏览器会话池,一个外部 token 只能操作它绑定的那个 client——未绑定会得到 "not authorized to operate any CDP client"。
  • 用户侧只建对外开放 token:agent/node/user 用的 token 由服务自动签发,管理端看全量。
  • 改数据要重下发运行时:写完 CDP 明细后必须 resync 把新快照推给活着的 driver,否则连不上/不生效。
  • 使用隔离 Chrome profile:不连接个人日常浏览器;只开启任务需要的标签页和账户。

技术白皮书:12 个 CDP 工具与两类 token 隔离 → · 网页内 Agent 帧协议 → · CDP 隔离治理 →