agent-browser#
面向 AI 代理的浏览器自动化 CLI。紧凑的文本输出可最大限度减少上下文占用。100% 原生 Rust。
bash
npm install -g agent-browser # all platforms
brew install agent-browser # macOS
agent-browser install # Download Chrome (first time)
# or try without installing
npx agent-browser open example.com功能#
- Agent 优先:紧凑的文本输出比 JSON 更省 token,专为 AI 上下文效率设计
- 基于 ref:快照会返回带 ref 的可访问性树,便于确定性地选择元素
- 功能完整:提供 50+ 条命令,覆盖导航、表单、截图、网络、存储、文件、标签页、框架和调试
- 可观测:视频录制、流式传输、调试、性能分析器 和 差异对比 工具开箱即用
- 现代应用:网络控制、React 与 Web Vitals、初始化脚本 以及 Next.js + Vercel 工作流都有一流文档
- 有状态:会话、配置文件、认证状态、cookies、存储、代理和安全控制支持长时间运行的代理
- 跨平台:提供 macOS、Linux、Windows 原生二进制文件
兼容#
Claude Code、Cursor、GitHub Copilot、OpenAI Codex、Google Gemini、opencode,以及任何能够运行 shell 命令的代理。
示例#
bash
# Navigate and get snapshot
agent-browser open example.com
agent-browser snapshot -i
# Output:
# - heading "Example Domain" [ref=e1]
# - link "More information..." [ref=e2]
# Interact using refs
agent-browser click @e2
agent-browser screenshot page.png
agent-browser close为什么要用 ref?#
snapshot 命令会返回一棵紧凑的可访问性树,其中每个元素都有唯一的 ref,例如 @e1、@e2。它带来的好处包括:
- 上下文友好:文本输出大约只需 200-400 个 token,而完整 DOM 约需 3000-5000 个 token
- 确定性:ref 指向快照中的精确元素
- 高性能:无需重新查询 DOM
- 适合 AI:LLM 能自然解析文本输出
架构#
采用客户端-守护进程架构以获得最佳性能:
- Rust CLI:解析命令并与守护进程通信
- 原生守护进程:纯 Rust 守护进程,直接使用 CDP 通过 Chrome DevTools Protocol 管理 Chrome
守护进程会自动启动,并在命令之间持续存在。
平台#
提供适用于 macOS(ARM64、x64)、Linux(ARM64、x64)和 Windows(x64)的原生 Rust 二进制文件。