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 能自然解析文本输出

架构#

采用客户端-守护进程架构以获得最佳性能:

  1. Rust CLI:解析命令并与守护进程通信
  2. 原生守护进程:纯 Rust 守护进程,直接使用 CDP 通过 Chrome DevTools Protocol 管理 Chrome

守护进程会自动启动,并在命令之间持续存在。

平台#

提供适用于 macOS(ARM64、x64)、Linux(ARM64、x64)和 Windows(x64)的原生 Rust 二进制文件。