• LuckyNova356

    最近一直在研究 Browser Use ,也尝试了几种让 Agent 操作浏览器的方案。目前来看,主流方案大致有三种:

    1. CDP 协议( Playwright / Selenium )

    优势是技术成熟、生态完善,基本上各种浏览器操作都能覆盖。

    但实际使用中有个比较明显的问题:独立启动的 Chrome 没有日常浏览器的账号登录状态;如果想接管已经在使用的 Chrome ,又需要提前配置远程调试参数,使用起来不够自然。

    1. 浏览器插件( Extension )

    这是我个人比较看好的方案。

    不需要修改 Chrome 启动参数,可以直接复用用户日常浏览器的登录状态,也更适合个人 Agent 的使用场景。

    Anthropic 和 OpenAI 的部分 Browser Use 产品也采用了类似的技术路线。

    但问题是,这些厂商的浏览器插件通常只服务于自家 Agent ,不会直接开放给第三方 Agent 接入。部分产品的实际可用性也还有待完善,比如今天测试 WorkBuddy 时,就没能正常跑通。

    1. WebContentsView + JS 注入

    这种方案灵活性比较高,可以自行控制浏览器容器和脚本执行逻辑。

    缺点是需要自己维护 WebContentsView 及相关能力,而且和独立 Chrome 类似,也会面临用户日常账号会话无法直接复用的问题。

    综合体验下来,我更倾向于浏览器插件这条路线。

    但随之而来的问题是:

    如果我们自己开发了一个 Agent ,能不能也像这些大厂的 Agent 一样,直接控制用户日常使用的 Chrome ?

    为了解决这个问题,最近做了一个小工具:Xtaff Browser。

    Chrome 插件地址:
    https://chromewebstore.google.com/detail/xtaff-browser/ojklapkgpijghmlifajbmldghnhmejfh

    它的思路比较简单:通过 Chrome 插件提供浏览器操作能力,再通过 MCP 将这些能力开放给自己的 Agent 。

    使用流程基本只有三步:

    在 Chrome 中安装 Xtaff Browser 插件

    给自己的 Agent 配置对应的 MCP

    开始让 Agent 操作浏览器

    比如浏览论坛、读取网页信息,或者操作一些已经登录的业务系统,都可以直接复用当前浏览器环境,不需要再单独启动一个 Chrome 。

    除此之外,还做了两个辅助功能:

    网站 Playbook:记录特定网站的操作流程,方便 Agent 后续复用。

    会话暂存:保存操作过程中的会话上下文,方便后续继续执行任务。

    目前插件不涉及向外部服务发送请求,相关数据均保存在浏览器本地。

    更完整的图文介绍和实际使用效果放在这里:

    https://x.com/qiwiview/status/2118566997126701380

    项目还在持续完善中,欢迎交流,也欢迎反馈使用中遇到的问题。

    主楼
  • WildMesh861

    这个可以的,思路挺清晰。

    #1
  • ZeFoodKing

    不如直接上 Go,性能好很多。

    #2
  • 谢知秋

    前端这一块确实挺折腾的。

    #3

发表回复

登录后回复