| name | bb-browser |
| description | 强大的信息获取与浏览器自动化工具。通过浏览器 + 用户登录态,获取公域和私域信息。可访问任意网页、内部系统、登录后页面,执行表单填写、信息提取、页面操作。支持 site 系统(36 平台 103 命令一键调用)、带登录态的 fetch、网络请求拦截与 mock、操作录制等高级功能。 |
| allowed-tools | Bash(bb-browser:*) |
bb-browser - 信息获取与浏览器自动化
核心价值
通过浏览器 + 用户登录态,可以获取:
- 公域信息:任意公开网页、搜索结果、新闻资讯
- 私域信息:内部系统、企业应用、登录后页面、个人账户数据
还可以代替用户执行浏览器操作:表单填写、按钮点击、数据提取、截图保存、批量操作。
运行在用户真实浏览器中,复用已登录的账号,不触发反爬检测。
快速开始
bb-browser open <url>
bb-browser snapshot -i
bb-browser click @5
bb-browser fill @3 "text"
bb-browser close
Site 系统 — 把任何网站变成命令行 API
site 系统是 bb-browser 的核心特性,通过 adapter 将网站功能 CLI 化,覆盖 36+ 平台。
bb-browser site list
bb-browser site search <query>
bb-browser site <name> [args...]
bb-browser site update
bb-browser site twitter/search "Claude Code"
bb-browser site zhihu/hot
bb-browser site github/repo owner/repo
bb-browser site youtube/transcript <video_id>
bb-browser site reddit/thread <url>
bb-browser site eastmoney/stock "茅台"
bb-browser site weibo/hot
bb-browser site arxiv/search "transformer"
adapter 自动处理 tab 管理(查找匹配域名的 tab 或新建),自动检测登录错误并提示。
详细用法和 36 平台完整列表:参见 references/site-system.md
创建自定义 adapter:参见 references/adapter-development.md
fetch — 带登录态的 curl
在浏览器上下文中执行 fetch,自动携带 Cookie 和登录态。
bb-browser fetch <url>
bb-browser fetch <url> --method POST --body '{"k":"v"}'
bb-browser fetch <url> --headers '{"Auth":"Bearer xxx"}'
bb-browser fetch <url> --output data.json
bb-browser fetch /api/me.json
自动域名路由:绝对路径自动查找匹配 tab 或新建;相对路径使用当前 tab。
详细用法:参见 references/fetch-and-network.md
Tab 管理规范
操作完成后必须关闭自己打开的 tab。
bb-browser open https://example.com
bb-browser snapshot -i
bb-browser click @5
bb-browser close
bb-browser open https://site-a.com
bb-browser open https://site-b.com
bb-browser tab close
bb-browser tab close
bb-browser open https://example.com --tab current
bb-browser open https://example.com --tab 123
核心工作流
open 打开页面
snapshot -i 查看可操作元素(返回 @ref)
- 用
@ref 执行操作(click, fill, etc.)
- 页面变化后重新
snapshot -i
- 任务完成后
close 关闭 tab
命令速查
导航
bb-browser open <url>
bb-browser open <url> --tab current
bb-browser back
bb-browser forward
bb-browser refresh
bb-browser close
快照
bb-browser snapshot
bb-browser snapshot -i
bb-browser snapshot -c
bb-browser snapshot -d 3
bb-browser snapshot -s ".main"
bb-browser snapshot --json
元素交互
bb-browser click @5
bb-browser hover @5
bb-browser fill @3 "text"
bb-browser type @3 "text"
bb-browser check @7
bb-browser uncheck @7
bb-browser select @4 "option"
bb-browser press Enter
bb-browser press Control+a
bb-browser scroll down
bb-browser scroll up 500
获取信息
bb-browser get text @5
bb-browser get url
bb-browser get title
Tab 管理
bb-browser tab
bb-browser tab new [url]
bb-browser tab 2
bb-browser tab select --id 123
bb-browser tab close
bb-browser tab close 3
bb-browser tab close --id 123
截图
bb-browser screenshot
bb-browser screenshot path.png
等待
bb-browser wait 2000
bb-browser wait @5
JavaScript
bb-browser eval "document.title"
bb-browser eval "window.scrollTo(0, 1000)"
Frame 切换
bb-browser frame "#iframe-id"
bb-browser frame main
对话框处理
bb-browser dialog accept
bb-browser dialog dismiss
bb-browser dialog accept "text"
网络与调试
bb-browser network requests
bb-browser network requests "api" --with-body
bb-browser network route "*analytics*" --abort
bb-browser network route "*/api/user" --body '{}'
bb-browser network unroute
bb-browser network clear
bb-browser console
bb-browser console --clear
bb-browser errors
bb-browser errors --clear
bb-browser trace start
bb-browser trace stop
bb-browser trace status
详细的 network 高级用法:参见 references/fetch-and-network.md
全局选项
--json
--tab <tabId>
--mcp
Ref 使用说明
snapshot 返回的 @ref 是元素的临时标识:
@1 [button] "提交"
@2 [input type="text"] placeholder="请输入姓名"
@3 [a] "查看详情"
注意:
- 页面导航后 ref 失效,需重新 snapshot
- 动态内容加载后需重新 snapshot
- ref 格式:
@1, @2, @3...
详细说明:参见 references/snapshot-refs.md
并发操作
bb-browser open https://site-a.com &
bb-browser open https://site-b.com &
bb-browser open https://site-c.com &
wait
信息提取 vs 页面操作
根据目的选择不同的方法:
提取页面内容(用 eval)
当需要提取文章、正文等长文本时,用 eval 直接获取:
bb-browser eval "document.querySelector('#js_content').innerText"
bb-browser eval "document.querySelector('.RichContent-inner').innerText"
bb-browser eval "document.body.innerText.substring(0, 5000)"
bb-browser eval "[...document.querySelectorAll('a')].map(a => a.href).join('\n')"
有些网站 DOM 嵌套很深,snapshot 输出冗长,eval 直接提取文本更高效。
操作页面元素(用 snapshot -i)
当需要点击、填写、选择时,用 snapshot -i 获取可交互元素:
bb-browser snapshot -i
bb-browser fill @2 "username"
bb-browser fill @3 "password"
bb-browser click @1
-i 只显示可交互元素,过滤掉大量无关内容。
MCP 集成
bb-browser 提供 MCP server,可与 Claude Code / Cursor 等 AI 工具集成:
bb-browser --mcp
配置示例(Claude Code / Cursor):
{
"mcpServers": {
"bb-browser": {
"command": "npx",
"args": ["-y", "bb-browser", "--mcp"]
}
}
}
常见任务示例
表单填写
bb-browser open https://example.com/form
bb-browser snapshot -i
bb-browser fill @1 "张三"
bb-browser fill @2 "zhangsan@example.com"
bb-browser click @3
bb-browser wait 2000
bb-browser close
信息提取
bb-browser open https://example.com/dashboard
bb-browser snapshot -i
bb-browser get text @5
bb-browser screenshot report.png
bb-browser close
批量操作
for url in "url1" "url2" "url3"; do
bb-browser open "$url"
bb-browser snapshot -i --json
bb-browser close
done
深入文档