Chrome Bridge 是由 frsorrentino 开发的开源项目,将你真实、已登录的 Chrome 浏览器作为 MCP 服务器提供给 Claude Code 使用。它通过一个浏览器扩展与本地 WebSocket 桥接,让 AI 智能体借用你正在使用的 Chrome 标签页——已登录、带你的扩展和 Cookie——在其中工作,完成后归还。只有人才能完成的操作(登录、2FA 验证码、CAPTCHA、做选择)通过 handoff 机制交还给你:页面中出现横幅,你操作后智能体继续。
主要能力
- 约 60 个面向 Web 开发的工具,覆盖导航、DOM 检查、视觉回归、审计、网络模拟等。
- 紧凑的元素引用(element refs),navigate 直接返回元素引用,可立即 click(ref="n1"),无需额外的发现轮次。
- fill_form 一次调用填写多个字段;大页面上的表格过滤在服务端完成,减少传输负载。
- 提供无障碍、SEO 与安全审计,以及视觉回归和网络模拟能力。
- 支持无头实例,可用于 CI。
- 提供 CLI 通道,可批量操作并通过 grep 或 jq 管道过滤后再进入上下文。
- 提供启动模式(launch mode):使用临时配置文件的独立 Chromium 实例,用于隔离会话或 CI。
- 工具总数为 67 个:core(44 个工具,默认加载)加上 7 个可选能力包中的 23 个工具,智能体可在会话中通过 get_status({enable: ["visual"]}) 开启,无需重启。
使用方式
- 要求 Node.js 18+ 和 Chrome 135+。
- 安装扩展:打开 chrome://extensions,启用开发者模式,点击“加载已解压的扩展程序”,选择 extension/ 文件夹。
- 重启 Claude Code。
- 然后可提出类似“打开 localhost:3000,运行无障碍审计并找到 Sign Up 按钮”的请求:Claude Code 会调用 navigate、audit 和 find_text。
- 在 ChromeOS/Crostini 上请从 Chrome 应用商店安装,因为未打包扩展在每次重启后会被丢弃(Chrome 启动时容器尚未挂载)。
- 在 Windows 上 install.sh 无法从 PowerShell 或 cmd 运行,可使用插件路径(claude plugin marketplace add frsorrentino/chrome-bridge,然后 claude plugin install chrome-bridge@chrome-bridge)配合应用商店扩展,或从 Git Bash 运行 install.sh。
- install.sh 以 --scope user 注册 MCP 服务器;手动注册:claude mcp add --scope user chrome-bridge node /path/to/server/index.js。
- 对于 execute_js,需在 chrome://extensions → Chrome Bridge → Details 中启用 Allow user scripts(Chrome 135-137 上改为启用开发者模式)。
- 作为插件安装(无需克隆):在 Claude Code 会话中执行 /plugin install chrome-bridge --marketplace frsorrentino/chrome-bridge(Claude Code 2.1.275+);旧版本先 /plugin marketplace add frsorrentino/chrome-bridge 再 /plugin install chrome-bridge@chrome-bridge。从 shell 执行 claude plugin install 没有 --marketplace 选项:先 claude plugin marketplace add frsorrentino/chrome-bridge,再 claude plugin install chrome-bridge@chrome-bridge。
- 注意:插件与 install.sh 会重复注册同一服务器;从 Anthropic 目录添加的插件(chrome-bridge@synced)与市场安装也会重复。在 claude.ai 聊天中插件只加载 recipes 技能,工具需要 Claude Code 或在你电脑上运行的 Cowork。
适用场景
- 在已登录的网站(网页邮箱、托管面板、客户后台、basic auth 后的预发布站点)上执行自动化操作。
- Web 开发调试:表单填写、大表格中查找行、调试损坏页面、无障碍/SEO/安全审计、视觉回归、网络模拟。
- CI 中的无头实例与启动模式,配合 session_record + replay 做冒烟测试。
- 需要人工介入的流程:登录、2FA、CAPTCHA、选择元素等,通过 handoff 横幅交还控制权。
限制与安全
- 页面内容未经过滤地到达模型,敌对页面的文本属于不可信输入。
- get_storage、session_fixture、HAR 导出和截图不做脱敏,可能携带 Cookie、令牌或个人数据。
- 不要将自动化指向含有你不愿粘贴到聊天中的秘密的页面。
- 桥接绑定回环地址,仅接受来自 chrome-extension:// 来源的扩展连接;设置令牌后两次握手都要求令牌。未设置令牌时,任何本地进程都可能作为中继并触及 execute_js。
- 启动模式会在 127.0.0.1 打开 DevTools 端口(系统选择),CDP 无认证,任何本地进程都可在其运行时驱动该专用浏览器;其配置文件是临时的,不含你的数据;你自己的 Chrome 不会开放端口。
- 调试器栏是信号:click / press_key 使用 trusted、emulate_media 使用 via: "debugger"、perf_trace 和 screencast 会临时将 chrome.debugger 附加到一个标签页,期间 Chrome 显示“已开始调试此浏览器”栏,取消即结束。
- 真正的风险是提示注入:页面可要求智能体运行 JavaScript、携带你的 Cookie 发送请求、提交表单或上传文件。请将每个自动化的页面视为不可信输入。
- 减少攻击面:--caps core(默认)暴露最小集合;--no-js 移除任意 JavaScript;--write-root 限制模型写入的每个路径;upload_file 拒绝密钥和凭据,--read-root 将其限制到一个目录。对重要会话,请在单独的 Chrome 配置文件中自动化。
- --no-js 不是沙箱:inject_css 仍保留,带 url() 的 CSS 属性选择器可将属性值泄露到远程主机。
- chrome-bridge 本身没有遥测;错误日志保留在本地,除非你批准发送。
本地错误日志
- 当自身工具失败时,chrome-bridge 会向本地文件 ${XDG_STATE_HOME:-~/.local/state}/claude-observe/chrome-bridge.jsonl(权限 0600,位于 0700 文件夹)添加一行,格式为 claude-observe。
- 保留:工具名、脱敏后的错误文本(主目录变为 ~;邮箱、URL 查询、秘密和输入值被移除)、参数名和文本值长度、chrome-bridge 版本、操作系统、工作文件夹名和 Claude Code 配置文件夹名。使用插件时还保留 Claude Code 和模型版本、会话 ID 及最后三个调用的工具名。
- 从不保留:参数值——没有 URL、选择器、输入文本或页面内容。
- 除非你同意,否则不会离开你的电脑。使用插件时,错误积累后会在回合末尾提示,Claude 可能提议将其作为一个 GitHub 问题发送:先展示匿名化文本,再用按钮询问(从你的 GitHub 发送,或暂不),只发送你选择的内容。/chrome-bridge:observe send 可按需执行;list、mark 和 add 用于读取和分类日志。仅服务器不会发送或提议任何内容。
- 安全观察(越界读写、秘密暴露、非预期代码执行、数据离开电脑)绝不进入公开问题:/chrome-bridge:observe send --security 准备私密漏洞报告,见 SECURITY.md。
- 关闭:在 ~/.config/claude-observe/config.json 中设置 {"enabled": false}(所有使用 claude-observe 的插件),或对服务器设置 CHROME_BRIDGE_OBSERVE=off。保留日志但停止提议:{"propose": false}。
相关项目
- agent-webbridge — 同时驱动多个 Chrome 配置文件,支持并行标签页。
- awb-recipes — 社区维护的、按站点标注日期的已登录网站自动化配方。