桃子桃子快讯
返回首页
工具

Rust 写的浏览器自动化 CLI:chrome-agent 为 LLM 减负

开发者发布 chrome-agent,一款 3MB 的 Rust 工具,主打用 a11y 树替代 DOM,将页面快照压至…

2026.07.21 · 周二3 分钟阅读

chrome-agent 是一款专为 LLM 代理设计的浏览器自动化 CLI 工具,作者将其定位为「面向代理的浏览器」,强调一件事:让模型把 token 花在推理上,而不是花在解析网页上。项目与 Google / Chrome 团队无任何关联,是社区独立开发作品。

核心思路:把 token 砍下来

传统的 Playwright 快照一次返回约 2,000 token 的原始 HTML,代理光读懂页面就要消耗大量上下文。chrome-agent 直接读取浏览器的无障碍树并剥离噪声,把单次页面快照压缩到约 50 token,相对 DOM 减少约 96%。

  • 元素标识基于 Chrome 的 backendNodeId,在 DOM 节点存在期间保持稳定,无需写 CSS 选择器。
  • 所有动作命令支持加 --inspect,一次调用同时执行动作并返回新页面状态,省掉第二轮往返。
  • 错误信息自带 hint 字段,例如 {"ok":false,"error":"...","hint":"run inspect"},让模型直接读懂下一步该做什么。
  • 提供 read(类 Firefox 阅读模式)、extract(自动识别列表 / 表格)、network(抓 API 载荷)三套内容提取命令,全程不写选择器。

形态与部署

工具以单一 Rust 二进制形式发布,体积约 3 MB,无需 Node.js、npm 或 Playwright 运行时,Linux 版本走 musl 静态链接,可跨发行版运行。代码量约 8.8K 行,作者刻意与 Vercel 的 agent-browser(4 万行 Rust,含仪表盘、云浏览器、可视化调试等)走相反路线:一个做平台,一个追求极致精简。

安装方式包括:

  • npx skills add sderosiaux/chrome-agent(同时安装 SKILL.md,让代理自动学会调用)
  • npm install -g chrome-agent(预编译包)
  • npx chrome-agent --help(零安装直接试用)
  • cargo install chrome-agent(从源码编译)

反检测与多代理隔离

针对 Cloudflare 等常见的 headless 检测,作者默认内置 7 项 CDP 补丁,其中刻意跳过 Runtime.enable 这一「没人提过的检测向量」。多代理场景下,通过 --browser agent1--browser agent2 参数即可为不同代理分配独立 Chrome 进程,避免互相抢同一个浏览器实例。

与同类工具的取舍

chrome-agent 与 agent-browser 不是替换关系:前者把代理能完成的事做到最轻,后者把可视化的运营平台做到最全。选择标准取决于 agent 是更需要监控与云浏览器,还是更需要把上下文预算留给推理。chrome-agent 还在快速迭代中,仓库地址为 sderosiaux/chrome-agent

信源