一、你有没有遇到过这种情况?
想让 AI 帮你自动抓网页数据、刷热榜、盯股价,结果要么网站根本没公开 API,要么写好的爬虫一跑就被验证码拦住,无头浏览器刚启动就被反爬系统识别。
好不容易搞定了登录,还要把密密麻麻的网页代码扔给大模型解析,一次操作几万 Token 没了,账单蹭蹭涨。结果页面一改版,代码全白写。
你也知道"应该用正规接口",但现实是:大部分网站根本没有 API,或者 API 要花钱买企业版。
bb-browser 就是专门解决这个痛点的 GitHub 开源项目。它的核心理念一句话就能说清:
你的浏览器,就是最好的 API。无需密钥,无需机器人,无需爬虫。
配合 OpenClaw 使用,一行命令就能让龙虾帮你刷知乎热榜、搜 X 平台帖子、查雪球股价——用的是你本人已经登录的真实浏览器,网站根本不会拦截。
二、原理解析:bb-browser 是怎么绕过所有反爬的?
传统方案的三个死胡同
bb-browser 的破局思路:不做模拟,直接"成为你"
bb-browser 通过 Chrome 开发者工具协议(CDP),直接接管你正在用的、已经登录了各种账号的真实 Chrome 浏览器。
AI Agent(OpenClaw / Claude Code / Cursor) ↓ CLI 或 MCP 协议 bb-browser 命令行工具 ↓ HTTP 本地通信 本地守护进程(Daemon) ↓ Chrome 扩展(CDP 协议) 你的真实 Chrome 浏览器每个环节的作用:
1. AI Agent:你用人话下达指令,比如"帮我看看知乎热榜"
2. bb-browser CLI:把你的指令翻译成浏览器能理解的命令
3. 本地守护进程:监听 localhost:19824,转发命令给 Chrome 扩展
4. Chrome 扩展:通过 CDP 协议,在你真实的 Chrome 里执行操作
网站收到的每一次请求,本质就是你本人的正常操作——因为请求真的来自你本人登录的浏览器。从根源上解决了 99% 的反爬问题。
第二个杀手锏:站点适配器,Token 消耗降低 99%
传统的 AI 浏览工具要把整个网页代码扔给大模型解析,一次操作几万 Token。
bb-browser 用了站点适配器模式,把各大网站的核心功能封装成了一行就能用的命令。适配器直接在浏览器里调用页面原生接口,返回干净的结构化数据,根本不用大模型解析页面。
社区已经适配好了 11 大类、36 个主流平台、103 个命令:
三、实战演示:跟着小艾一步步来
我们用一个真实场景走一遍:让 OpenClaw 每天早上自动抓取知乎热榜和雪球热股,推送到飞书。
你: 小艾,我想让龙虾每天早上帮我抓一下知乎热榜和雪球热门股票,汇总后发到飞书。不用我手动操作的那种。
小艾: 没问题!先装 bb-browser,再配 OpenClaw 定时任务,两步搞定。
第一步,安装 bb-browser:
npm install -g bb-browser第二步,拉取最新的社区适配器配置:
bb-browser site update第三步,测试一下能不能用。在终端执行:
bb-browser site zhihu/hot --openclaw如果能返回知乎热榜的 JSON 数据,说明环境 OK 了。
你: 我直接运行了这个命令,返回了一堆 JSON 数据,但格式太乱了,怎么看?
小艾: 加个 --jq 参数过滤一下就行。比如只看标题和热度:
bb-browser site zhihu/hot --openclaw --jq '.items[:5] | .[] | {title: .title, heat: .heat_value}'输出就干净了:
{"title": "2026年AI Agent行业白皮书发布", "heat": 1850000} {"title": "OpenClaw GitHub Stars突破React", "heat": 1420000} {"title": "DeepSeek V4百万上下文实测", "heat": 980000}--jq 参数让你用 jq 语法过滤 JSON,不用写 Python 脚本。
你: 好,那怎么让 OpenClaw 每天早上自动跑这个?
小艾: 打开你的 openclaw.json,在 schedules 字段里加一条定时任务:
{ "schedules": [ { "name": "daily-zhihu-xueqiu", "schedule": "0 8 * * *", "timezone": "Asia/Shanghai", "agent": "default", "prompt": "请用以下命令获取今日数据:1) 执行 bb-browser site zhihu/hot --openclaw 获取知乎热榜前10条;2) 执行 bb-browser site xueqiu/hot-stock 5 --openclaw 获取雪球前5支热股。将结果整理成中文早报格式,包含标题、热度/涨跌幅,最后附上一句趋势总结。完成后通过飞书发送给我。", "channel": "feishu", "enabled": true } ] }注意几个关键点:
- schedule: "0 8 ":每天早 8 点触发。Cron 表达式五个字段分别是「分 时 日 月 星期」, 代表"每"。星期字段取值 0-6(0 和 7 都代表周日)。
- timezone: "Asia/Shanghai":必须手动设置,否则默认 UTC,早 8 点会变成下午 4 点。
- channel: "feishu":指定结果推送到飞书(需先配置飞书 channel,参考第 10 期)。
你: 如果我只想临时用一次,比如现在立刻查一下 GitHub 上某个项目,不用配定时任务吧?
小艾: 对,直接在对话里说就行:
你: 帮我查一下 bb-browser 在 GitHub 上的 star 数和最近 issue。
小艾: 执行命令:
bb-browser site github/repo vercel-labs/bb-browser --openclaw bb-browser site github/issues vercel-labs/bb-browser --openclaw返回结果整理后直接告诉你,不用任何配置文件。
你: 如果我想查的网站社区没适配怎么办?
小艾: bb-browser 留了完整的底层浏览器操控能力,常用命令:
# 打开指定网页 bb-browser open https://example.com # 获取页面可交互元素列表 bb-browser snapshot -i # 点击指定 ID 的元素 bb-browser click @3 # 页面截图 bb-browser screenshot # 在页面执行 JS 代码 bb-browser eval "document.title"所有命令支持 --json 格式化输出和 --tab 多标签并发。配合 OpenClaw 的 AI 能力,龙虾能自己读懂页面结构,帮你提取数据。
你: 听起来很强!但如果任务失败了怎么办?
小艾: 在定时任务配置里加失败保障:
{ "name": "daily-zhihu-xueqiu", "schedule": "0 8 * * *", "retry": { "max_attempts": 3, "delay": "5m", "backoff": "exponential" }, "on_failure": { "notify": ["feishu"], "message": "早报任务失败,请检查 bb-browser 和 Chrome 是否正常运行" } }- retry:失败后最多重试 3 次,每次间隔 5 分钟。backoff: "exponential"(指数退避)的意思是重试间隔会逐次翻倍(5 分钟 → 10 分钟 → 20 分钟),避免频繁重试占用资源。
- on_failure:三次都失败后,通过飞书发告警通知你。
四、今日总结 + 小艾碎碎念
- bb-browser 的核心优势:通过 CDP 协议接管你真实的 Chrome 浏览器,网站收到的请求就是你本人的正常操作,从根源上绕过反爬
- Token 消耗降低 99%:站点适配器直接返回结构化 JSON,不用把网页代码扔给大模型解析
- 配合 OpenClaw Cron:一行 npm install + 一条定时任务配置,实现全自动网页数据采集
- 时区必须设置"timezone": "Asia/Shanghai",否则定时触发时间会偏移 8 小时
- 失败保障三件套:retry 自动重试 + backoff 指数退避 + on_failure 飞书告警
🦞✨ 小艾碎碎念:
说实话,bb-browser 让我看到了 AI Agent 真正该有的互联网访问能力。
以前龙虾只能"聊天",现在它可以直接像你一样光明正大地访问任何网站——不用模拟、不用搬运登录信息、不用和反爬系统斗智斗勇。
AI Agent 的世界,从此是文件、终端,和整个互联网。
后台回复【bb-browser】,获取完整安装教程和 103 个命令速查表。有问题直接留言,虾神 24 小时在线解答~
— 作者:知行 | 「openclaw 系列」持续更新 —
夜雨聆风