kunchenguid/chrome-devtools-axi
The most agent-ergonomic browser automation
chrome-devtools-axi – 面向Agent的Chrome自动化
它是什么
- 一个命令行界面,与 chrome-devtools-mcp(无头Chrome控制器)通信,并以 AXI 格式呈现结果,这是一种为大型语言模型Agent设计的紧凑、高效的token表示格式。
- 该CLI特意设计为对Agent友好:单个命令即可完成导航、捕获页面快照、返回下一步的可执行提示,同时保持数据量低(TOON编码输出比原始JSON节省约40%的token)。
为什么对AI Agent重要
- 许多基于LLM的Agent需要真实的浏览器来执行简单HTTP请求无法处理的任务(例如点击多步骤流程、处理对话框、运行JavaScript、提取动态内容)。chrome-devtools-axi为这些Agent提供了稳定、低开销的Chrome桥接。
- 该工具与 AXI 生态系统集成(参见 https://axi.md),可通过
npx skills安装为Agent Skill,让Agent按需加载,无需手动运行npm install。
工作原理
- 桥接服务器 – 一个分离的进程在CLI调用之间保持持久的MCP会话,因此每次命令不会重启Chrome。
- CLI – 解析参数,通过HTTP(默认
localhost:9224)向桥接发送请求,接收TOON编码的快照,并打印人类可读的摘要以及下一步操作的help提示。 - 持久性选项 –
- 独立模式:桥接启动本地
chrome-devtools-mcp子进程(默认)。 - 共享服务:将
CHROME_DEVTOOLS_AXI_MCP_SERVER_URL指向已运行的MCP服务器,以便多个Agent共享单个Chrome实例。
- 独立模式:桥接启动本地
- 输出 – 可访问性树的快照以TOON编码,交互元素具有稳定的
@g<N>:<uid>引用。Agent可以将这些引用反馈给CLI进行点击、填写等操作。
主要命令(面向Agent)
| 命令 | 功能 |
|---|---|
open <url> |
加载页面,捕获可访问性快照,并返回简短摘要和 help 建议(例如 click link @g1:1)。 |
click @<uid> |
点击由最新快照中的引用标识的元素。 |
fill @<uid> <text> |
在表单字段中输入文本。 |
eval <js> |
在页面上下文中执行任意JavaScript并返回结果(包装为TOON值)。 |
snapshot |
捕获当前页面的可访问性树而不进行导航。 |
screenshot … |
保存视口或整个页面的PNG/JPEG/WebP。 |
lighthouse … |
运行Lighthouse审计并将报告写入磁盘。 |
perf-start / perf-stop |
启动和停止Chrome性能跟踪。 |
setup hooks |
为Claude Code、Codex和OpenCode安装会话启动钩子,使Agent在每次聊天开始时自动接收当前浏览器上下文。 |
安装与激活
- Agent技能方式(推荐)
该技能告诉AXI兼容的Agent在需要真实浏览器时运行npx skills add kunchenguid/chrome-devtools-axi --skill chrome-devtools-axi -gnpx -y chrome-devtools-axi …。 - 零安装运行 – Agent可以直接使用
npx -y chrome-devtools-axi调用CLI,无需预先安装。 - 全局安装(用于手动使用或钩子设置)
npm install -g chrome-devtools-axi chrome-devtools-axi setup hooks - 从源码 – 克隆,
pnpm install --frozen-lockfile,pnpm run build,pnpm link。
性能亮点(来自README的基准测试)
| 指标 | chrome-devtools-axi | 次优 |
|---|---|---|
| 每个任务的平均输入token | 79,141 | 82,532 (dev-browser) |
| 每个任务的平均成本 | $0.074 | $0.078 |
| 平均持续时间 | 21.5秒 | 24.6秒 |
| 平均Agent循环次数 | 4.5 | 4.8 |
| 成功率 | 100% | 99% |
该工具与原始的 chrome-devtools-mcp 相比,token使用量减少了约57%,LLM-Agent循环次数减少了约27%。 |
LLM-Agent的典型用例
- 研究工作流 – 打开Wikipedia页面,点击相关链接,提取表格,让Agent总结。
- GitHub导航 – 浏览仓库,打开PR页面,点击“Files changed”,获取差异。
- 多站点比较 – 在并行标签页中加载多个产品页面,抓取价格元素,计算差异。
- 性能审计 – 对Agent正在评估SEO或UX的页面运行Lighthouse或Chrome跟踪。
- 表单自动化 – 填写登录表单,提交,并在继续前验证结果页面状态。
限制/注意事项
- 该CLI不是面向用户的斜杠命令;它旨在由Agent调用,而非人工直接输入。
- 如果页面在没有新快照的情况下发生变化,引用(
@g<N>:…)会过期;CLI会以STALE_REF中止,因此Agent必须重新快照。 - 快照输出默认截断至约16KB,除非使用
--full,对于非常大的页面可能需要。 - 桥接进程在
~/.chrome-devtools-axi/下写入PID文件;如果该文件损坏,可能需要手动清理桥接。 - 要在多个Agent之间共享单个Chrome实例,必须运行兼容的
chrome-devtools-mcp服务并设置相应的环境变量。
总结
chrome-devtools-axi 是一个专门构建的桥接,让LLM Agent高效控制真实的Chrome浏览器。通过使用节省token的TOON格式对结果进行编码,并提供内置的“下一步”提示,它减少了模型与工具之间的往返,从而实现更便宜、更快、更可靠的Agent驱动Web自动化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目