Agent Browser logo

Agent Browser

打开

专为 AI 代理设计的无头浏览器自动化 CLI。快速的 Rust CLI 配合 Node.js 后备方案,为 AI 工作流提供无缝集成。

分享:

Agent Browser 是专为 AI 代理设计的无头浏览器自动化 CLI 工具。采用快速的 Rust CLI 和 Node.js 后备方案构建,为 AI 驱动的 Web 自动化提供最优接口,具有可访问性树快照、确定性元素引用和 JSON 输出模式等特性。

核心功能

1. AI 优化工作流

  • 带引用的快照:获取带有确定性元素引用(@e1、@e2 等)的可访问性树
  • 基于引用的操作:使用快照中的引用与元素交互,实现可靠的自动化
  • JSON 输出模式:机器可读输出,完美适配 AI 代理集成

2. 快速 Rust CLI

  • 原生 Rust 二进制文件,命令执行速度极快
  • 客户端-守护进程架构,支持持久化浏览器会话
  • 当原生二进制不可用时自动回退到 Node.js

3. 全面的浏览器控制

  • 完整的导航和交互能力
  • 鼠标、键盘和触摸事件模拟
  • 网络拦截和模拟
  • Cookie 和存储管理
  • 多标签页和 iframe 支持

4. 会话管理

  • 隔离的浏览器会话,支持并行自动化
  • 持久化认证状态
  • 会话范围的 Cookie 和存储

5. 流式传输和预览

  • 基于 WebSocket 的浏览器视口流式传输
  • 实时预览,支持与 AI 代理"配对浏览"
  • 实时输入事件注入

6. 灵活部署

  • 支持自定义浏览器可执行文件(如用于无服务器的 @sparticuz/chromium)
  • CDP 模式连接现有浏览器
  • 有头模式用于调试

主要命令

导航和交互

agent-browser open <url>              # 导航到 URL
agent-browser click <sel>             # 点击元素
agent-browser fill <sel> <text>       # 填充输入
agent-browser type <sel> <text>       # 输入文本
agent-browser press <key>             # 按键
agent-browser hover <sel>             # 悬停元素
agent-browser scroll <dir> [px]       # 滚动页面

AI 优化工作流

agent-browser snapshot                # 获取带引用的可访问性树
agent-browser snapshot -i             # 仅交互元素
agent-browser snapshot -c             # 紧凑模式
agent-browser click @e2               # 通过引用点击
agent-browser fill @e3 "text"         # 通过引用填充
agent-browser get text @e1            # 通过引用获取文本

信息检索

agent-browser get text <sel>          # 获取文本内容
agent-browser get html <sel>          # 获取 innerHTML
agent-browser get value <sel>         # 获取输入值
agent-browser get title               # 获取页面标题
agent-browser get url                 # 获取当前 URL

状态检查

agent-browser is visible <sel>        # 检查可见性
agent-browser is enabled <sel>        # 检查是否启用
agent-browser is checked <sel>        # 检查是否选中

高级功能

agent-browser screenshot [path]       # 截图
agent-browser pdf <path>              # 保存为 PDF
agent-browser eval <js>               # 运行 JavaScript
agent-browser network route <url>     # 拦截请求
agent-browser cookies                 # 管理 Cookie
agent-browser storage local           # 管理 localStorage

最佳 AI 工作流

# 1. 导航并获取快照
agent-browser open example.com
agent-browser snapshot -i --json   # AI 解析树和引用

# 2. AI 从快照中识别目标引用
# 3. 使用引用执行操作
agent-browser click @e2
agent-browser fill @e3 "input text"

# 4. 如果页面改变,获取新快照
agent-browser snapshot -i --json

主要能力

  • 确定性选择:引用提供从快照到元素的精确定位
  • 快速执行:Rust CLI 配合守护进程架构实现高速
  • AI 友好输出:JSON 模式实现无缝 AI 集成
  • 跨平台:支持 macOS、Linux、Windows
  • 无服务器就绪:支持自定义可执行文件用于轻量级部署
  • 会话隔离:多个并行浏览器实例
  • 实时流式传输:基于 WebSocket 的视口流式传输

使用场景

  • AI 代理 Web 自动化和测试
  • 自动化 UI 测试和监控
  • AI 引导的 Web 抓取
  • 基于浏览器的任务自动化
  • 无服务器浏览器自动化
  • AI 辅助调试和探索
  • 与人类监督的配对浏览

技术细节

  • 架构:Rust CLI + Node.js 守护进程
  • 浏览器引擎:Chromium(通过 Playwright
  • 平台:macOS ARM64/x64、Linux ARM64/x64、Windows x64
  • 协议:Chrome DevTools Protocol (CDP)
  • 流式传输:基于 WebSocket 的视口流式传输
  • 输出:人类可读或 JSON 格式

评论

还没有评论。成为第一个评论的人!