想让 AI 帮忙看个热搜、抓个回答、查个实时行情,立马卡壳,原因是绝大部分网站根本没开放 API。
想绕过去,几条老路都不太好走。自己写爬虫被风控秒拉黑,换 Playwright 起无头浏览器又要重新登录、扛验证码。
最离谱的是,那些我们日常用的社交平台和内容社区,明明都在浏览器里登着,AI 却一条数据都读不到。
直到前几天,在 GitHub 上发现了bb-browser,直接让 AI Agent 用我们真实浏览器的登录态去调数据。
项目的中文名也起得很有个性,叫「坏孩子浏览器」。
核心理念一句话能说清,互联网本来就是为浏览器构建的,那就让机器直接用人的界面。
具体怎么实现的呢?
工具会起一个本地 daemon,通过 Chrome 调试协议挂到我们的真实浏览器上。
然后再把 AI 的指令,翻译成浏览器原生操作。
换句话说,AI 拿到的数据,跟我们自己刷网页拿到的数据走同一条通道。
网站那边看到的请求,就是真实登录用户发出的。因为确实就是我们自己。
跑起来更直观,装好之后命令行一句话能搞定一堆事:
bb-browser site zhihu/hot # 问答社区热榜bb-browser site eastmoney/stock"茅台" # 实时股票行情bb-browser site boss/search"AI 工程师" # 搜职位
平时要开好几个 tab 干的事,现在一行命令解决,输出还是干净的 JSON。
社区维护的 adapter 已经覆盖 36 个平台、103 个命令。
从搜索引擎到内容社区,从代码托管到财经资讯,主流站点基本都能聊上几句。
而针对不同复杂度的网站,工具底层会用 Cookie、Token 校验或 webpack 注入等不同手段去拿数据。
不管哪种,对使用者来说都是一行命令的事。
对比一下传统方案,差距就出来了。
Playwright 跑的是无头隔离环境,登录态得自己重建,反爬系统很容易识别。
爬虫库更惨,跟反爬团队玩永无止境的猫鼠游戏。
而 bb-browser 这条路根本绕过了对抗,因为它就是用户在操作。
社区生态的玩法也有意思。
项目里附带一个命令指南,跟 AI 说一句「帮我把某网站 CLI 化」,它会自己读教程、抓包逆向、写 adapter、提 PR。
作者实测过同时跑 20 个 AI Agent 并发逆向不同网站,每个都能产出可用的 adapter。
这意味着把新网站纳入 Agent 可访问范围的边际成本,已经趋近于零。
落到日常使用,最实用的还是 MCP 接入。
在 Claude Code 或者 Cursor 的配置里加上几行,AI 就能直接调用这些命令:
{"mcpServers":{"bb-browser":{"command":"npx","args":["-y","bb-browser","--mcp"]}}}
安装本体也简单,一行 npm 命令搞定:
npm install -gbb-browser
需要提醒一句,这个工具本质上是把操作浏览器的权限交给了 AI。
不过访问范围完全由我们的提示词决定,只会去指令里点名的网站。
涉及敏感操作的,建议先在测试环境跑一遍,确认行为可控再上工作流。
bb-browser 让我重新思考了一个问题。
AI Agent 能做什么的边界,到底由什么决定?
过去我们默认是模型能力,后来发现是工具调用,现在看可能是登录态。
谁的浏览器里登着更多账号,谁的 Agent 就能触达更多真实世界。
举个具体场景,让 AI 每天早上扫一遍我们关注的几十个内容源,自动生成一份个性化简报。
过去做这件事得申请一堆 API、维护一堆爬虫,现在只要登录态还在,AI 就能读。
往大了看,这件事的潜在影响其实挺深远。
API 经济过去十年的逻辑,是平台决定哪些数据可以被程序访问、按量收费、随时掐断。
而「浏览器即 API」的范式一旦跑通,相当于把数据访问权从平台手里,部分还给了用户自己。
至于能走多远,要看反爬团队怎么应对,也要看社区适配器能不能持续维护。
但仅凭这个想法本身,已经值得我们放进收藏夹里慢慢观察。
有兴趣的朋友,也可以试着贡献几个自己常用网站的适配器。
GitHub 项目地址:https://github.com/epiral/bb-browser
今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!