agent-browser 浏览器自动化 CLI
一句话
Vercel Labs 出品的浏览器自动化 CLI,专为 AI Agent 设计(Rust 原生、快),让 AI 像人一样开浏览器、点按钮、抓数据、看网络请求。底层走 Chrome DevTools Protocol(CDP)。
- 官网:https://agent-browser.dev
- GitHub:https://github.com/vercel-labs/agent-browser
- 本机版本:0.27.0(2026-09 安装)
- 适用:Claude Code / Codex / Cursor / Copilot / Gemini 等任何能跑 shell 的 Agent
一、为什么用它
| 对比项 | agent-browser | Playwright MCP |
|---|---|---|
| 上下文占用 | 低(官方称省 ~93%) | 高 |
| 底层 | CDP(Chrome 原生协议) | Playwright |
| 形态 | 原生 CLI,一条命令一步 | MCP 工具调用 |
| 登录态 | 可 CDP 连已登录浏览器 / 导入 Cookie | 需单独配置 |
适合场景
页面自动化操作、截图、抓取渲染后内容、观察/录制网络请求(XHR/HAR)、视频播放心跳分析、多步工作流。
二、安装(本机已完成)
npm install -g agent-browser # 安装 CLI(本机已装 0.27.0)
agent-browser install # 下载 Chrome for Testing(可选;本机网络超时未成,自动用系统 Chrome)
- 浏览器运行时:自动检测并使用本机 Google Chrome / Edge / Playwright Chromium
- 验证可用:
agent-browser open "about:blank"→agent-browser close
三、常用命令速查
导航与操作
agent-browser open <url> # 打开页面(别名 goto/navigate)
agent-browser snapshot # 无障碍树快照(含 @ref,AI 最常用)
agent-browser click @e1 # 按 ref 点击
agent-browser click "#submit" # 也支持 CSS 选择器
agent-browser fill @e3 "text" # 填写
agent-browser type/press/hover/scroll/select/upload …
agent-browser screenshot page.png # 截图(--full 全页)
agent-browser pdf out.pdf # 存 PDF
agent-browser eval "js..." # 页面内执行 JS
agent-browser wait <sel|ms> # 等待元素 / 时间
agent-browser tab / window # 标签页 / 窗口管理
获取信息
agent-browser get text @e1 # 取文本
agent-browser get html @e1 # 取 HTML
agent-browser get title / url # 标题 / 地址
agent-browser read [url] # 提取可读正文(不发浏览器)
网络请求(重点)
agent-browser network requests # 列出被跟踪请求
agent-browser network requests --type xhr,fetch # 只看 XHR/fetch
agent-browser network requests --method POST # 只看 POST
agent-browser network requests --filter heartbeat # 按关键字过滤
agent-browser network request <requestId> # 看单个请求完整参数/响应
agent-browser network har start --content all # 开始录 HAR(含响应体)
agent-browser network har stop heartbeat.har # 停止并保存 HAR
agent-browser network route <url> [--abort|--body] # 拦截 / 阻断 / 伪造请求
其他
agent-browser cookies / storage # Cookie / localStorage
agent-browser connect <port> # CDP 连接已登录浏览器
agent-browser set headers '{"..."}' # 附加请求头
agent-browser batch "cmd1" "cmd2" # 批量执行
agent-browser chat "指令" # AI 自然语言控制
四、视频播放心跳分析(核心用法)
能分析视频网站的心跳吗?
能。 播放心跳本质是播放器周期性发出的 XHR/fetch 上报请求(如 B 站.../web/heartbeat、YouTube heartbeat),用 agent-browser 的网络跟踪 / HAR 即可捕获分析。
推荐工作流
# 1. 打开视频页(可先 CDP 连已登录浏览器,解决会员/登录)
agent-browser open "https://www.bilibili.com/video/BVxxxx"
# 2. 点击播放
agent-browser snapshot && agent-browser click "播放按钮"
# 3. 开始录制 HAR(含响应体)
agent-browser network har start --content all
# 4. 播放一段时间
agent-browser wait 60000
# 5. 停止录制,拿到 HAR
agent-browser network har stop heartbeat.har
# 6. 实时看请求(或事后从 HAR 提取)
agent-browser network requests --type xhr,fetch --method POST
能分析出什么
- 心跳接口:URL、方法、请求头
- 心跳参数:播放进度、总时长、清晰度、会话签名等(需结合接口语义解读)
- 心跳频率:HAR 时间线看间隔(15s/30s/60s)
- 播放状态判断:心跳是否持续 → 判断视频是否真的在播
局限
| 限制 | 说明 |
|---|---|
| 不解析业务语义 | 只给原始请求,字段含义需自行/AI 分析 |
| 需持续观察 | 心跳周期性,要 wait 或录 HAR |
| 登录/风控 | 部分站点心跳带签名,需登录态(CDP/Cookie) |
| DRM | 加密流看不到明文媒体,但心跳接口本身可捕获 |
五、注意与技巧
- 心跳一般要播放一段时间才出现,别开页立刻查
- 弹窗/遮罩会挡点击 → 先
snapshot看覆盖元素再操作 read命令不启动浏览器,适合快速抓文本,省资源- Agent 批量流程用
agent-browser batch "...",避免每条命令重复启动进程
相关
- 本机 Obsidian 相关:AI 工具类笔记
- 同类工具:控制应用内浏览器(Codex 内置)、gstack/browse、Playwright MCP