为了让 Agent 直接操作我的本地 Chrome,我做了个 Browser Relay

金光暖暖推广者 2026-04-27 18:42 1

一言以蔽之,现在还没有能让 Agent 操作我的浏览器的方案


比如很多时候我想让 Agent 帮我看一个网页、点几个按钮、抓一下登录后的内容,结果就会遇到这些问题:



  • Playwright / Puppeteer 默认是一个全新的浏览器环境,没有我的登录态。

  • 云浏览器就不用说了,完全没用


有些网站就是只有你本机 Chrome 里才是完整可用的:cookie、localStorage、扩展、登录态,全都在里面。之前尝试过几个项目:



  • openclaw-broswer-relay: 可以做到,但是只有 openclaw 能用

  • dotobot: 可以做到但是要连接别人服务器,而且只能读,不能操作浏览器

  • agent-reach: 专注于获取信息,而不是操作浏览器

  • opencli/opencli-rs: 把网站 cli 化,但很多时候我要的不是反复操作某个网页,就是要临时用各个网页


所以我做了个小东西,叫 Browser Relay


它的作用很简单:把你本机 Chrome 接给任意 AI Agent。


架构大概是这样:


任意 AI Agent
↓ HTTP API / MCP
本机 Relay Server
↓ WebSocket
Chrome Extension
↓ CDP
你的真实 Chrome 标签页

它能做这些事:



  • 读取当前网页内容,输出成 Agent 友好的文本快照

  • 点击按钮、输入文字、提交表单

  • 滚动页面、截图

  • 执行 JS

  • 保留你的真实浏览器登录态、cookie、localStorage、扩展环境


也就是说,Claude Code、Cursor、Codex、Windsurf,或者你自己写的 Agent,只要能调 HTTP 都能用。为此我还专门提供了 skills。


使用分三步,先安装:


npm install -g @linsoai/browser-relay
browser-relay status

安装 Chrome 扩展:


browser-relay path
chrome://extensions
打开开发者模式
Load unpacked
选择 browser-relay 的 extension 目录

安装 skill,根据提示执行 npx skills 命令安装到对应的 agent 里:


browser-relay skill

然后就可以愉快地让 agent 操作你自己的浏览器了


------------补充-----------


评论里大家提到的东西我之前有用过的,也有去试用的,统一回复下。



  • playwright 类方案,试了,都会导致浏览器和 tab 顶到前台,如果你有方案不会,请联系我

  • claude in chrome 魔改之类的,首先这东西不开放,其次用法不优雅,没意思。可借鉴,但我不会去用。

  • MCP 这类协议也不在考虑范围内,skill 可以按需加载,MCP 每次都要加载一堆东西,即使用不着,这东西在我这里已经面临淘汰了

  • agent_browser 我也用过,难用,或者说跟我的需求不匹配,我就是要 AI 看到并使用我的浏览器,给它一个单独的浏览器没有任何意义

  • browser-harness 的我还没试,但是友人对比后反馈「这一坨就是狗屎,千万别用」


这个项目马上会开源,其实很简单,就是根据 openclaw-browser-relay 把鉴权那块改了改,加上了更方便的安装和 skill,更加开放更加开箱即用。


下一步应该会加强 agent 操作的友好化,例如操作时减少转义工作,加强操作功能,加强与其他机器的浏览器的连通性




项目已开源:GitHub - reliefeai/browser-relay · GitHub




2025-05-11


开源后我们更新了一版,现在从优先 curl 转成了 cli 优先,出错的概率大大降低,AI 调用的时候也不用写 curl 的 body 再各种转义了。同时也更新了 skill,让 AI 优先使用 cli 命令就可以。


这几天 codex 也发布了 chrome 插件,我看了下实现方案和这个项目基本是一样的,区别就在于它只能连接 codex,而这个项目对所有 agent 都是开放的

最新回复 (19)
  • PHP 码农 04-27 18:45
    1

    我用的 playwright-cli ,是可以使用已有登录态的,而且我有多个 chrome profile 的情况下,还可以指定使用某个 profile,完全没问题

  • WeirdOldman 04-27 18:49
    2

    我前面发现谷歌浏览器的 CDP 可以让 AI 类人操作浏览器,实际也是用的 devtools,导致某些反自动化的网站就会检测到而跳转到错误页面,不知道这个 skills 能不能解决这个问题

  • 金光暖暖推广者 楼主 04-27 18:55
    3

    刚试了下:



    1. 直接传入我的 profile 会报错 “profile is already in use”

    2. 尝试用 CDP + playwright 会遇到老问题


    通过 CDP 连接 Chrome 会需要授权,且一段时间不用下次再用还需要授权,根据我之前的体验大概不到 24 小时就要重新授权一次


    我的方式是直接控制 tab 页,不会弹出不会聚焦,不耽误自己使用浏览器。你用你的,它用它的。

  • 金光暖暖推广者 楼主 04-27 18:56
    4

    CDP 的问题是老需要授权,授权是有时效的

  • liqi7 04-27 18:56
    5

    这个可以读局域网其他设备里的浏览器吗?和 devtools 一样效果吗,还是只能读页面,snapshot

  • PHP 码农 04-27 18:57
    6

    奇怪,我用的 headless 模式,没有让我授权呀,直接就去操作了

  • 金光暖暖推广者 楼主 04-27 19:00
    7

    这个可以考虑,目前默认是只监听了 localhost 没有开放给本机之外(安全起见)


    你在另一台机器启动 relay 的时候修改下 host


    BROWSER_RELAY_HOST=0.0.0.0 BROWSER_RELAY_PORT=18795 browser-relay

    然后在本地就可以这样去操作:

    curl http://192.168.x.x:18795/api/tabs


    把要操作的 ip port 告诉 agent 就行

  • 哈雷彗星 04-27 19:01
    8

    Claude in Chrome 不能满足吗?





    甚至更早的

    【硬核开源mcp-chrome】一个chrome插件,能让任意chatbot接管你的chrome浏览器

  • 金光暖暖推广者 楼主 04-27 19:01
    9

    奇怪,我用的 headless 模式,没有让我授权呀,直接就去操作了



    不需要授权,只要授权给浏览器插件就可以了,这个是通过浏览器插件,和浏览器进行交互的,不是通过 CDP DevTools 之类的交互的

  • 金光暖暖推广者 楼主 04-27 19:07
    10

    其实也不是不行,佬也可以体验下我这个捉捉虫,更加开放而且 Agent 友好

  • sunfly 04-27 19:43
    11

    蹲一波使用,我也在搞这个cdp,尝试从wsl里面遥控宿主的windows chrome独立profile来模拟登录

  • sunfly 04-27 19:45
    12

    这个可以远程无gui环境里面遥控吗,比如wsl里面遥控宿主机的

  • Loveyless 04-27 19:48
    13

    Playwright装个扩展,输入key,可以免弹窗

  • Loveyless 04-27 19:49
    14

    playwright有个扩展模式,可以设置的,然后装个扩展,填key

  • GGboy 04-27 21:01
    15

    刚刚在烦恼这个ai控制怎么弄就刷到了,agent_browser一直桥接断连不懂为什么,试试佬的

  • 金光暖暖推广者 楼主 04-27 23:45
    16

    它操作的时候依然会把浏览器顶到前台吧,不能做到人机共用

  • 叽里咕噜说什么呢 04-27 23:50
    17

    这个好像还真可以 我记得让hermes写了个shared-browser的skill 他可以通过cdp调用你Windows电脑上的chrome浏览器 chrome在wsl里对应了路径好像是 /mnt/c里面 然后可以有个启动命令指定profile持久化的路径 手动登录之后 登录态还有cookies之类的都能持久化 然后工具调用的话应该也是hermes原生的浏览器工具

  • Loveyless 04-28 00:35
    18

    playwright不会,Chrome会!

  • Loveyless 04-28 00:36
    19

    我今天ai用playwright我切标签切应用,感觉没影响,在公司用Chrome mac老是跳屏幕到浏览器那个桌面

* 帖子来源Linux.do
返回