乐于分享
好东西不私藏

AI 联网拿数据太难?这个开源工具让浏览器直接变身 API,GitHub 5000+ star

AI 联网拿数据太难?这个开源工具让浏览器直接变身 API,GitHub 5000+ star

👇 点击左下角 关注 → 获取大厂最新技术动态

AI 联网拿数据太难?这个开源工具让浏览器直接变身 API,GitHub 5000+ star

不需要 API Key、不需要写爬虫、不怕反爬。bb-browser 让 AI Agent 直接操控你已登录的 Chrome 浏览器,36 个平台、103 条命令,把整个互联网变成 Agent 的数据源。

最近我用 Claude Code 做了一项技术调研,让它对比几个开源框架在 GitHub 上的 issue 增长趋势,以及 Stack Overflow 上相关讨论的热度变化。结果跑着跑着就卡住了——GitHub REST API 有严格的频率限制,Stack Overflow API 得单独申请 key,而知乎压根没有对外的公开接口。最后只能让 Agent 去抓网页 HTML,然后自己硬解析,效率极低而且数据质量很差。

这其实不是一个人遇到的问题。身边用 Cursor、Claude Code 做自动化调研的朋友,几乎都吐槽过同一个痛点:AI Agent 写代码没问题,但让它去网上抓数据,就处处碰壁。

一、一个思路完全不同的开源项目

GitHub 上的 bb-browser(BadBoy Browser)解决的就是这个问题。它的核心理念只有一句话:你的浏览器就是 API。不需要任何密钥,不需要自己写爬虫,也不需要模拟请求。它让 AI Agent 直接操控你已经登录好的 Chrome 浏览器,把各种网站当成数据接口来用。目前已覆盖 36 个平台、103 条命令,全部基于你浏览器里已有的登录态。

二、为什么传统方案总差一口气

做自动化数据采集的人,基本都踩过这些坑。

Playwright / Selenium 的问题

无头浏览器和你日常使用的 Chrome 完全隔离,没有你的登录态。像 Twitter 的 CSRF token、知乎的登录验证,每次都要重新过一遍流程,而且无头浏览器很容易被网站的反爬系统识别出来。

纯 HTTP 爬虫的问题

没有浏览器环境,只能靠模拟 HTTP 请求。网站反爬策略一升级,请求头、Cookie、签名算法全得跟着改,本质上就是一场永无止境的猫鼠游戏。

bb-browser 的做法完全不同:不要求网站配合机器,而是让机器去适应人的操作界面。它通过 Chrome 扩展 + CDP(Chrome DevTools Protocol)WebSocket 协议,直接连接你正在运行的 Chrome 浏览器。然后在你的浏览器标签页里执行 JavaScript,用你已有的 Cookie 调用 fetch(),甚至注入页面自身的 webpack 模块来调用网站内部方法。

对网站来说,它看到的就是一个正常登录用户在正常操作。因为本质上就是你在操作。

📊 三种方案对比

对比项 Playwright / Selenium 纯 HTTP 爬虫 bb-browser
浏览器环境 无头、隔离环境 无浏览器 你的真实 Chrome
登录态 没有,需要重新登录 手动提取 Cookie 直接使用已有登录态
反爬风险 容易被识别 持续对抗 无法检测,等同于正常用户
复杂鉴权 难以复现 需要逆向分析 浏览器自动处理

三、36 个平台的覆盖范围

社区已经维护了一份相当完整的平台列表,日常开发中常用的网站基本都覆盖了:

📋 平台覆盖一览

类别 平台 可用命令
搜索引擎 Google、百度、Bing、DuckDuckGo、搜狗、微信 search
社交媒体 Twitter/X、Reddit、微博、小红书、即刻、LinkedIn、虎扑 search、feed、thread、user、hot
新闻资讯 BBC、Reuters、36氪、今日头条、东方财富 headlines、newsflash、hot
技术开发 GitHub、StackOverflow、HackerNews、CSDN、博客园、V2EX、arXiv、npm、PyPI search、issues、repo、thread、package
视频平台 YouTube、B站 search、transcript、popular、comments
影音娱乐 豆瓣、IMDb、起点中文网 movie、search、top250
财经股票 雪球、东方财富、Yahoo Finance stock、hot-stock、watchlist
求职招聘 BOSS直聘、LinkedIn search、detail
知识百科 Wikipedia、知乎、Open Library search、summary、hot
购物比价 什么值得买 search
实用工具 有道翻译、GSMArena、Product Hunt、携程 translate、手机参数

这些平台适配器的代码维护在配套的 bb-sites 仓库中,每个命令对应一个独立的 JS 文件,由社区持续贡献和维护。

四、三步完成安装

第一步:全局安装 CLI

terminal
npm install -g bb-browser

第二步:加载 Chrome 扩展

从 GitHub 仓库下载扩展源码,打开 Chrome 的 chrome://extensions 页面,开启开发者模式,选择「加载已解压的扩展程序」,指向扩展目录即可。这个扩展是 bb-browser 和你真实浏览器之间的通信桥梁,不可缺少。

第三步:同步社区适配器

terminal
bb-browser site update

完成后就可以直接使用了,举几个典型场景:

terminal – 使用示例
# 获取知乎热榜
bb-browser site zhihu/hot

# 查看 GitHub 仓库信息
bb-browser site github/repo epiral/bb-browser

# 搜索职位
bb-browser site boss/search "AI engineer"

# 获取 YouTube 视频字幕
bb-browser site youtube/transcript VIDEO_ID

所有命令的返回值都是结构化 JSON。除了 --json 参数,还支持 --jq 做内联数据过滤。比如提取雪球涨幅前 5 的股票:

terminal – 数据过滤
bb-browser site xueqiu/hot-stock 5 --jq '.items[] | {name, changePercent}'
# {"name":"云天化","changePercent":"2.08%"}
# {"name":"东芯股份","changePercent":"-7.60%"}

输出就是干净的 JSON 格式,可以直接喂给后续的 Agent 流程或脚本处理。

五、在 Claude Code 和 Cursor 中使用

bb-browser 内置了 MCP(Model Context Protocol)支持,在 Claude Code 或 Cursor 的配置文件中加一段即可启用:

claude_code_config.json
{
"mcpServers": {
"bb-browser": {
"command": "npx",
"args": ["-y", "bb-browser", "--mcp"]
}
}
}

配置完成后,Agent 就能直接调用 bb-browser 的全部命令。比如搜索 Twitter 上某个话题的讨论、在 arXiv 上检索最新论文、获取 GitHub 项目的 issue 列表、查询 Stack Overflow 的问题答案——这些以前要么需要申请 API key,要么需要手动操作,现在 Agent 可以自主完成。

如果你同时使用 OpenClaw,还有更简洁的方式,不需要安装 Chrome 扩展,bb-browser 可以直接运行在 OpenClaw 的内置浏览器中:

terminal – OpenClaw 模式
bb-browser site reddit/hot --openclaw
bb-browser site xueqiu/hot-stock 5 --openclaw --jq '.items[] | {name, changePercent}'

六、AI Agent 自动逆向新网站

如果你需要的网站不在现有适配列表中,bb-browser 提供了自动化逆向能力。你只需要告诉 Agent「帮我把 XX 网站 CLI 化」,Agent 会自动读取项目文档,通过 network --with-body 抓包分析接口,编写适配器代码,完成测试,然后向社区仓库提交 PR。整个过程不需要人工介入。

项目根据鉴权复杂度将适配器分为三个等级:

📊 适配器复杂度分级

层级 认证方式 代表网站 预估耗时
Tier 1 Cookie(直接 fetch) Reddit、GitHub、V2EX 约 1 分钟
Tier 2 Bearer + CSRF token Twitter、知乎 约 3 分钟
Tier 3 Webpack 注入 / Pinia store Twitter 搜索、小红书 约 10 分钟

实测中 20 个 AI Agent 并发运行,各自独立逆向一个网站并产出可用的适配器。将新网站纳入 Agent 可访问范围的门槛,已经降到了很低的水平。

七、系统架构解析

整体架构比较清晰,官方 README 中有完整的 ASCII 架构图:

🏗️ bb-browser 系统架构

🤖 AI Agent
Claude Code / Codex / Cursor

CLI 或 MCP(stdio)
⚙️ bb-browser CLI
──HTTP──▶
🔧 Daemon
127.0.0.1:19824

CDP WebSocket
🌐 你的真实 Chrome
Per-tab 事件缓存 · network · console · errors

Agent 通过 CLI 或 MCP 协议发送指令,bb-browser CLI 将指令转发给本地 Daemon 进程,Daemon 再通过 CDP WebSocket 连接操控你的 Chrome 浏览器。每个标签页都有独立的事件缓存,包括 network 请求、console 日志和错误信息。

Daemon 默认监听 127.0.0.1:19824,也可以改为 0.0.0.0,配合 Tailscale 或 ZeroTier 实现远程调用本机浏览器,这个用法在特定场景下比较实用。

八、总结与注意事项

AI Agent 落地的关键瓶颈之一就是信息获取。Agent 具备代码生成和命令执行能力,但往往无法实时获取互联网上的最新数据,或者获取的数据存在滞后和不完整的问题。

bb-browser 出现之前,Agent 能触及的信息范围大致是:本地文件 + 终端命令 + 少数提供 API 的服务。bb-browser 出现之后,Agent 的能力边界扩展到了整个互联网

bb-browser 的核心设计哲学很简单:不要求网站提供接口,而是直接复用用户已有的浏览器登录态。这个思路不复杂,但确实有效。

实际使用中需要注意两点:

  • Chrome 浏览器需要保持运行状态,Daemon 进程必须常驻。浏览器关闭或网络断开会导致连接中断
  • 该工具本质上是在你的浏览器环境中执行 JavaScript 代码,如果接入的是不可信的第三方 Agent,需要评估潜在的安全风险

总体而言,这是一个设计思路新颖、上手成本很低的工具。如果你在日常工作中使用 Claude Code 或 Cursor,并且需要 Agent 频繁从网站获取数据,bb-browser 值得尝试。

🔗 项目地址:https://github.com/epiral/bb-browser
🔗 适配器仓库:https://github.com/epiral/bb-sites


END


🔥 感谢点赞 · 分享 · 喜欢,您的支持即动力

👇 点击左下角 关注 → 大厂技术动态早知道