浏览器自动化工具大横评:哪些能复用你的登录态?

一、为什么这个问题很重要

当 AI Coding Agent 要帮你操作浏览器时,第一个遇到的障碍就是登录态

你想让它去 GitHub 提 Issue、去飞书查消息、去知乎看私信——结果它打开的是一个干净的、没有任何登录信息的浏览器实例。要么让你手动登录,要么就得想办法传递 Cookie。

市面上大多数浏览器自动化工具(Playwright、Puppeteer、Selenium)默认启动一个全新的浏览器实例,和你的日常浏览完全隔离。这对于自动化测试是好事,但对于 AI Agent 要替你办事来说,这就是最大的绊脚石

所以在选型时,一个关键问题就是:这个工具能不能复用我当前 Chrome 的登录态?

本文将调研结果整理分享,覆盖 GitHub 上所有主流方案。

二、前提知识:CDP 是什么

所有浏览器自动化工具底层都离不开 Chrome DevTools Protocol(CDP)——这是 Google 为 Chrome/Chromium 设计的一套调试协议,通过 WebSocket 通信,可以控制浏览器的几乎所有行为:导航、点击、截图、执行 JS、读取 DOM……

Playwright / Puppeteer  ── 高层 API(方便,但开销大)

CDP (WebSocket JSON)    ── 底层协议(最灵活,理解它才能选对工具)

Chrome / Chromium       ── 真实浏览器

复用登录态的本质,就是让工具连接到你已经登录的那个 Chrome 实例,而不是自己启动一个新的。

三、技术路线分类

GitHub 上现有的方案按复用登录态的方式可以分为三大类:

路线 A:连你正在跑的 Chrome(推荐)

通过 chrome://inspect/#remote-debugging 开启调试端口,工具直接连接到你已经在使用的 Chrome。你的所有登录态、Cookie、插件天然可用。

已登录的 Chrome  ←── CDP WebSocket ──→ 自动化工具

                                        AI Agent (pi / Claude Code / Cursor 等)

优点:零额外配置,登录态完整,还可以看到你当前的 tab 缺点:需要一个”桥接”步骤(开启调试端口)

路线 B:拷贝 Chrome Profile

启动独立的 Chrome 实例,但把你的 Chrome profile(含 Cookie、LocalStorage)复制过来用。

你的 Chrome Profile (Default)  ──拷贝──→  临时目录  ──→  新 Chrome 实例

优点:隔离性好,不会干扰你正在用的浏览器 缺点:拷贝可能不完整(有些 session 态在内存中),需要等 Chrome 启动

路线 C:Chrome 扩展注入

通过 Chrome 扩展在浏览器内部注入 CDP 桥接能力,不走调试端口。

Chrome  ←── chrome.debugger API ──→  Chrome 扩展  ←── WebSocket ──→ Daemon  ──→ AI Agent

优点:不弹权限对话框,不需要额外开关,体验最丝滑 缺点:需要安装扩展,架构更复杂

四、全网工具大横评

以下按路线分类,列出我在 GitHub 上找到的所有相关开源项目:

路线 A:连你正在跑的 Chrome

项目Stars语言一句话总结
bb-browserNode.js你当前正在用的方案,36+ site adapter,103+ 命令
agent-chrome-cli⭐ 新Node.js极轻量 CLI,npm link 即用,无 daemon
jabbarium⭐ 新Node.js”一个可复用的 tab”,自带 AI skill 文件
chrome-cdp-skill⭐ 新Node.js已支持 pi install,纯 CDP 直连,无依赖
browser-cdp⭐ 经典Node.js老牌工具,支持 cookies/storage 导入导出
dev-browserRust + TS沙箱执行 JS + Playwright 完整 API
browser-harness⭐15kPythonbrowser-use 的底层引擎,专为 coding agent 设计

代表工具详解:

agent-chrome-cli

npm link 即可安装,连接你正在跑的 Chrome,读取无障碍树(accessibility tree)并生成 @ref 定位元素。

# 列出你浏览器的所有 tab
agent-chrome tabs
# 输出: t1  https://github.com   GitHub
#       t2  https://gmail.com    Gmail

# 对特定 tab 拍照
agent-chrome --tab t2 snapshot -c

# 点击
agent-chrome --tab t2 click @e5

# 截图
agent-chrome --tab t2 screenshot

chrome-cdp-skill

设计理念最简洁——一个 .mjs 脚本 + 一个 SKILL.md,不需要任何 npm install。已经支持直接通过 pi install 安装。100+ tab 也能稳定工作。

# 直接在脚本里驱动
scripts/cdp.mjs list                              # 列出 tab
scripts/cdp.mjs snap   t1                         # 无障碍树快照
scripts/cdp.mjs click  t1 "#submit"               # CSS 选择器点击
scripts/cdp.mjs clickxy t1 800 500                # 坐标点击
scripts/cdp.mjs eval   t1 "document.title"        # 执行 JS

browser-harness(⭐15k)

browser-use 团队的”薄 CDP harness”方案。核心哲学是不给 Agent 抽象,给你自由——直接在浏览器上写 Python DSL。

browser-harness <<'PY'
new_tab("https://github.com")
print(page_info())
capture_screenshot()
click_at_xy(400, 300)
PY

支持本地 Chrome 和云浏览器两种模式。local 模式直接连你正在跑的 Chrome,全部登录态可用。

路线 B:拷贝 Chrome Profile

项目Stars描述
agent-browser(Vercel)⭐36kRust 写的超高性能 CLI,--profile "Default" 拷贝 profile
browser-use(Python)⭐40k+最流行的 AI 浏览器框架,通过 BrowserProfile 复用
AI-BrowserLightpanda + Chromium 双引擎,支持 cookies export/import

代表工具详解:

agent-browser(Vercel,⭐36k)

Vercel 出品,Rust 写的高性能浏览器自动化 CLI。通过无障碍树读页面,比截图方式省 17 倍 token。

# 连接已有 Chrome(路线 A 也可以)
agent-browser connect --port 9222

# 或者拷贝 profile 启动新实例(路线 B)
agent-browser open https://github.com --profile "Default"

# 核心操作
agent-browser snapshot              # 无障碍树 + refs
agent-browser click @e2             # 点击
agent-browser fill @e3 "text"       # 填写
agent-browser eval "document.title" # 执行 JS

内置 MCP Server,可作为 MCP tool 接入任何 AI Agent。

browser-use(⭐40k+)

目前最流行的 AI 浏览器自动化框架。默认启动独立 Chrome,但可以配置连接已有实例或使用 profile。

from browser_use import Agent, BrowserProfile

# 方式1:用已有 Chrome profile
agent = Agent(
    task="帮我查一下 GitHub 通知",
    browser_profile=BrowserProfile(
        user_data_dir="/path/to/Chrome/Default",
        headless=False,
    ),
)

# 方式2:连已有 Chrome
agent = Agent(
    task="...",
    browser_profile=BrowserProfile(
        cdp_url="http://localhost:9222",
    ),
)

也提供了 MCP Server:browser-use --mcp,暴露 15 个工具包括 retry_with_browser_use_agent(自主 Agent)。

路线 C:Chrome 扩展注入

项目描述
WebBridgeChrome 扩展 + daemon + 34 tools,支持 4 种 AI 工具的 skill
unibrowse72 个 tool,支持多 tab 标签订位,MCP Server

代表工具详解:

WebBridge ⭐(推荐)

目前架构最优雅的方案。通过 Chrome 扩展的 chrome.debugger API 获取 CDP 控制权,不走调试端口。Daemon 提供 HTTP API。

AI Agent → HTTP POST /api/tool → Daemon (localhost:10087)
    → Chrome 扩展 → chrome.debugger → 你的浏览器

34 个内置 tool:

  • 导航:navigate, back, forward, reload
  • 截图:screenshot, snapshot, save_as_pdf
  • 坐标 CUA:move, click, double_click, hover, scroll, drag
  • DOM CUA:get_visible_dom, click_element, type_element, element_info
  • 表单:fill, send_keys, upload, clipboard
  • Tab 管理:list_tabs, new_tab, switch_tab, close_tab
  • 脚本:evaluate

用法极简:

# 检查状态
curl http://127.0.0.1:10087/api/status

# 导航到页面
curl -X POST http://127.0.0.1:10087/api/tool \
  -H "Content-Type: application/json" \
  -d '{"name":"navigate","args":{"url":"https://github.com"}}'

# 截图
curl -X POST http://127.0.0.1:10087/api/tool \
  -H "Content-Type: application/json" \
  -d '{"name":"screenshot","args":{}}'

并且提供了 Cursor / Claude Code / Codex / OpenClaw 四种 AI 工具的 Skill 文件,复制即用。

unibrowse

72 个 tool,覆盖导航、DOM 交互、表单、Cookie、下载、历史、书签、扩展管理。支持多 tab 标签订位(自动生成 github.comgithub.com-2 这类标签)。

// 列出所有已附加的 tab
browser_list_attached_tabs()
// 输出:[{ tabId: 123, label: "github.com", ... }, { tabId: 456, label: "gmail.com", ... }]

// 对特定标签操作
browser_screenshot({ tabTarget: "github.com" })
browser_navigate({ url: "https://example.com", tabTarget: 456 })

⚠️ 特殊补充:SeeClick

SeeClick 不算严格复用你正在运行的 Chrome,但它读取你的 Chrome profile 路径来启动一个附加了登录态的新实例。

from seeclick import Agent

# 安装后自动检测 Chrome profile
agent = Agent()
agent.run("打开 LinkedIn,找 Berlin 的 AI 初创公司")

独特之处在于它使用 有限状态机 + GPT-4o Vision 双引擎——普通操作用 FSM 确定性执行,选择器失败时回退到视觉定位。

五、核心参数对比

对比维度bb-browser ✅WebBridgeagent-chrome-clichrome-cdp-skillSeeClickbrowser-harnessagent-browser
路径AC(扩展)AAB(拷贝)AA+B
连你当前 Chrome✅(A模式)
安装复杂度⭐ 无⭐⭐⭐ build⭐ npm link⭐ 无依赖⭐⭐ pip⭐⭐ uv tool⭐⭐ npm i
Site Adapter✅ 36+平台
自主 Agent
MCP 支持
Pi 集成✅ 内置⚠️ HTTP⚠️ CLI✅ pi install⚠️ Python⚠️ Python⚠️ CLI
核心语言CLINode.js + 扩展Node.jsNode.jsPythonPythonRust
工具数量103+ 命令34 tools20+ 命令13 命令3 agentsPython DSL30+ 命令
Token 效率高(无障碍树)DOM 两者无障碍树无障碍树截图+DOMPython无障碍树

六、选型建议

如果你已经在用 pi

你已经有了 bb-browser,它在这方面有一个很大的优势——36+ 平台、103+ site adapter。登录态的复用能力也是第一梯队(连你 Windows Chrome)。

如果你想补充自主 Agent的能力,最佳搭配是:

  1. agent-browser 的 MCP Servermcp_connect_stdio 即可接入,21 个 tool)
  2. 或者 WebBridge(Chrome 扩展 + HTTP API,34 tools,体验最丝滑)
  3. 或者 browser-harness(Python DSL,可编程性最强)

各场景最佳工具

使用场景推荐工具理由
快速信息获取bb-browsersite adapter 一键搞定
简单页面交互agent-chrome-clinpm link 即用,无 daemon
复杂多步操作browser-harnessbrowser-use MCP自主 Agent 决策执行
无缝集成到已有 AI 工具WebBridgeChrome 扩展 + HTTP API + Skill 文件
极致性能agent-browserRust 实现,token 省 17 倍
视觉理解SeeClickGPT-4o Vision 兜底
超多 tabchrome-cdp-skill100+ tab 稳定,pi install 即用

一句话总结

没有完美的工具,但一定有适合你场景的。

  • 登录态复用 + 信息获取 → bb-browser ✅
  • 自主 Agent + 登录态 → browser-harness / SeeClick
  • 轻量无依赖 → agent-chrome-cli / chrome-cdp-skill
  • 最全工具集 → unibrowse(72 tools)
  • 最丝滑体验 → WebBridge(Chrome 扩展注入)
  • 生态最全 → agent-browser(Vercel 出品,MCP 支持)

七、写在最后

这轮调研让我感受最深的一点是:开源社区对”AI Agent 控制浏览器”这件事的探索正在飞速进行。从去年底只有 Playwright/Puppeteer 两个选择,到现在十几款工具各具特色,这个领域的变化实在太快了。

如果你也在捣鼓 pi 或其他 AI Agent 的浏览器自动化,欢迎留言交流!