最近在体验各类 AI Agent 工具时,我发现了一个普遍的技术痛点:当 Agent 需要访问互联网实时信息时,总会遭遇 API 限制、反爬机制、复杂鉴权等障碍。我尝试过 Playwright、Selenium 这类无头浏览器方案,但结果往往是——要么容易被识别为机器人,要么需要投入大量工程力去对抗反爬。直到接触到 bb-browser 这个项目,我才意识到存在一种完全不同的思路:既然用户已经登录了这些网站,为什么不让 AI Agent 直接复用已有的登录身份呢?
项目设计理念
bb-browser 是一个开源的浏览器自动化工具,其核心创新在于身份复用而非模拟。

相比传统爬虫或 API 调用方案,它采用了一种更直接的方式:
- 让 AI Agent 通过浏览器扩展,在用户已有的真实登录态下操作网页
- 规避密钥申请、反爬对抗、复杂认证等传统痛点
- 从网站角度看,这就是一个已登录的真实用户在正常浏览
这种设计的关键优势是:无可检测性。网站无法区分操作者是真人还是机器,因此大幅降低了被检测的风险,更重要的是打开了访问那些不提供 API、或 API 功能不完整平台的可能性。
平台覆盖范围与功能深度
从社区维护的 bb-sites 适配器库来看,该项目目前已支持 36 个主流平台的 103 个接口,覆盖范围相当广泛:
| 类别 | 覆盖平台示例 | 典型功能 |
|---|---|---|
| 搜索引擎 | Google、百度、Bing、搜狗 | search、feed、hot |
| 社交媒体 | Twitter/X、Reddit、微博、小红书、LinkedIn | search、feed、hot、transcript |
| 新闻资讯 | BBC、Reuters、36氪、今日头条 | newsflash、search |
| 技术开发 | GitHub、StackOverflow、CSDN、npm、PyPI、arXiv | search、repositories、hot |
| 视频平台 | YouTube、B站 | search、feed、playlist |
| 垂直平台 | 豆瓣、IMDb、雪球、携程 | search、hot、trending |
每个平台都提供多个命令集,开箱即用无需额外配置。
双层能力架构
bb-browser 的灵活性来自于分层设计,开发者既可以快速上手,也可以进行深度定制:
高层语义接口(快速上手)
# 一行命令获取知乎热榜
bb-browser site zhihu/hot
# 搜索 GitHub 仓库
bb-browser site github search rag-framework
# 结果返回结构化 JSON,可用 --jq 内联过滤
bb-browser site xueqiu/hot-stock 5 --jq '.items[] | {name, changePercent}'
底层原子操作(定制化开发)
- open —— 打开指定页面
- snapshot —— 获取页面可访问性树
- click / fill —— 模拟用户交互
- eval —— 执行任意 JavaScript
- fetch —— 发起带登录态的网络请求
- network —— 网络请求抓包分析
- screenshot —— 页面截图
从高层到底层的完整光谱,使得开发者可以根据场景灵活选择。
极速适配器扩展能力
项目内置的 bb-browser guide 教程配合 AI Agent,可实现"一句话逆向"新网站。开发者只需告诉 Agent"把 XX 网站 CLI 化",系统会自动完成网络请求抓包、适配器代码生成、功能验证测试全流程。
根据实测数据,网站认证复杂度与适配周期呈阶梯关系:
| 复杂度等级 | 认证方式 | 典型平台 | 适配耗时 |
|---|---|---|---|
| Tier 1 | Cookie 直接 fetch | Reddit、GitHub | ~1 分钟 |
| Tier 2 | Bearer Token + CSRF | Twitter、知乎 | ~3 分钟 |
| Tier 3 | Webpack 注入、Pinia store 操作 | 高级搜索、小红书 | ~10 分钟 |
值得注意的是,20 个 AI Agent 并发运行时可在同一时段内各自独立完成不同网站的逆向适配,边际成本趋近于零。
安装与部署
快速启动
# 全局安装
npm install -g bb-browser
# 更新社区适配器
bb-browser site update
# 查看推荐平台
bb-browser site recommend
# 开始使用
bb-browser site zhihu/hot
三种运行模式
1. OpenClaw 模式(推荐,零配置)
与 OpenClaw 平台集成,无需本地安装 Chrome 扩展或守护进程:
bb-browser site reddit/hot --openclaw
bb-browser site xueqiu/hot-stock 5 --openclaw --jq '.items[] | {name, changePercent}'
对应 Skill 已上架 ClawHub:bb-browser-openclaw
2. Chrome 扩展模式(独立 CLI)
不依赖 OpenClaw 时,需手动配置本地浏览器扩展:
- 从 GitHub Releases 下载扩展 zip 包
- 解压后在 chrome://extensions/ 开启开发者模式
- 加载已解压的扩展程序
3. MCP 接入模式(Claude / Cursor 集成)
作为 MCP Server 接入主流 AI 编程工具,在配置文件中添加:
{
"mcpServers": {
"bb-browser": {
"command": "npx",
"args": ["-y", "bb-browser", "--mcp"]
}
}
}
守护进程配置
bb-browser 默认在 localhost:19824 启动守护进程,可根据网络环境灵活调整:
# 强制 IPv4,解决 macOS IPv6 兼容性问题
bb-browser daemon --host 127.0.0.1
# 监听所有网卡,支持 Tailscale / ZeroTier 跨机器访问
bb-browser daemon --host 0.0.0.0
实际应用示例:跨平台话题调研工作流
当需要对某个热点话题进行多维度调研时,Agent 可在数分钟内聚合以下信息源:
# 学术论文维度
bb-browser site arxiv/search "retrieval augmented generation"
# 社交讨论维度
bb-browser site twitter/search "RAG"
# 开源实现维度
bb-browser site github search rag-framework
# 技术问答维度
bb-browser site stackoverflow/search "RAG implementation"
# 中文社区维度
bb-browser site zhihu/search "RAG"
# 产业动态维度
bb-browser site 36kr/newsflash
所有输出均为结构化 JSON,配合 --jq 过滤可精准提取所需字段。这种结构化输出避免了冗余数据污染下游分析 pipeline。
与其他方案的对比
| 方案 | 认证方式 | 反爬对抗 | 功能完整性 | 上手难度 |
|---|---|---|---|---|
| 官方 API | 需申请密钥 | 受限 | 往往残缺 | 低 |
| Playwright / Selenium | 手动管理 Session | 易被检测 | 完整但需对抗 | 中 |
| 爬虫库(BeautifulSoup) | 手动处理鉴权 | 高度对抗 | 需要逆向工程 | 高 |
| bb-browser | 复用真实登录态 | 无可检测性 | 完整且即时 | 低(高层接口),中(定制化) |
适配场景与总结
从产品经理的角度看,bb-browser 解决的是一个实际而普遍的问题:AI Agent 如何高效、可靠地获取互联网实时数据,而不被反爬机制困扰。
这个项目特别适合以下场景:
- AI Agent 开发 —— 需要频繁访问多个平台,快速原型化信息聚合能力
- 跨平台数据调研 —— 学术研究、舆情分析、市场调查需要多源数据汇总
- 个性化信息获取 —— 基于用户已有的账号权限,调用未开放的 API 功能
- 自动化工作流 —— 与 AI 编程工具(Claude、Cursor)集成实现智能自动化
相比逐个适配官方 API 或陷入爬虫的反复对抗,bb-browser 提供了一条更轻、更快的技术路径。其"一句话逆向"的扩展能力,也为开源社区的协作创新留下了充分空间。
GitHub 地址:https://github.com/epiral/bb-browser