百度网盘全自动化实录:Hermes Agent + bb-browser
摘要:本文分享了如何利用bb-browser工具实现百度网盘全自动化操作的数字产品交付方案。作者通过对比Hermes自带工具和自开发方案的不足,最终选择让AI Agent直接调用已登录Chrome的网页接口。详细介绍了bb-browser的工作原理、百度网盘适配器的开发过程,以及文件查找、分享链接生成和上传功能的实现。该方案避免了验证码问题,利用真实浏览器登录态实现稳定操作,将网页操作转化为结构化
缘起:今天风暴了一下,准备实践一下Hermes自动售卖数字产品实现自动变现的MVP,谁知道刚开始就卡在了操作百度网盘,要么被反爬,要么靠之前开发的computer use for win截图点坐标像瞎子摸象。最后换了条路——用 bb-browser 接管你已登录的 Chrome,让 Agent 直接调百度网盘的接口,终于跑通了 list、find、share、upload全自动化MVP。
痛点:我的 Agent 戳不准按钮
要让 AI Agent 自主完成数字商品交付,百度网盘是绕不开的一环。商品上传、分享链接、提取码——这套动作必须稳定可重复。
之前试了两条路:
Hermes 自带的 browser-use
打开百度首页就触发滑块验证码,页面都进不去。
自开发的computer-use-win
能控制我的桌面,但网页操作靠的是截图标坐标点按钮,百度网盘的页面结构复杂,很容易点偏,而且每次网页布局一变就要重新适配。说实话,这个tool开发完觉得挺鸡肋,对于操作Electron窗口,完全依靠大模型的视图理解,费钱不说,操作也相当不流畅,哪就更别说操作浏览器了。
两条路试下来,核心感受是:
Agent 需要的是网页里的数据,不是网页里的像素。
既然我已经在 Chrome 里登录了百度网盘——为什么不让 Agent 直接用这个登录态去调页面接口呢?
这就是 bb-browser 的切入点。
方案
bb-browser 的思路很简单:
你的真实浏览器就是 API。它启动一个 daemon 连接你正在用的 Chrome,然后在页面上下文里执行 JS,直接调网页自身的 fetch 接口。
你的 Chrome(已登录百度网盘)
└─ bb-browser daemon(连接 Chrome DevTools)
├─ site adapter:封装高频网站操作
├─ eval:在页面跑任何 JS
└─ fetch:用页面登录态调接口
它通过 site adapter 机制封装了百度、GitHub、知乎等几十个常用网站的命令。没有内置 adapter 的网站,可以用 eval 直接跑自定义 JS。
先测百度搜索
安装 bb-browser:
npm install -g bb-browser@latest
bb-browser site update # 拉取社区 adapter 包
一条命令测试百度搜索:
bb-browser site baidu/search 'hermes agent' 5 --json
直接拿到结构化结果,没有验证码。
Hermes自带的 browser use 工具被百度拦住,bb-browser 一次就过了。原因是它走的是真实 Chrome 里我自己的登录态和浏览习惯,不是远程无头浏览器——百度不觉得这是机器人。
百度网盘 adapter
bb-sites 社区包里没有百度网盘 adapter,自己写。
适配器目录结构:
~/.bb-browser/bb-sites/baidu-pan/
├── list.js # 列文件
├── find.js # 按文件名查找
└── share.js # 创建分享链接
每个 adapter 一个 JS 文件,在 baidu.com 域名的 tab 上下文里执行 fetch。
列文件
bb-browser site baidu-pan/list --json
输出文件列表、路径、大小、fs_id。
按文件名查找
bb-browser site baidu-pan/find earn-50-rmb-product.zip --json
找到了目标文件:
name: earn-50-rmb-product.zip
path: /earn-50-rmb-product.zip
fs_id: 295531441272474
size: 7080
创建分享链接
bb-browser site baidu-pan/share earn-50-rmb-product.zip a8k2 --json
返回永久分享链接和提取码。
至此,文件查找和分享链接生成已经全自动化了。
上传:最难的一关
adapter 只能在浏览器页面上下文里跑 JS——没法读取本地任意路径的文件。这是浏览器安全模型决定的。
于是改用本地脚本 + 浏览器上下文的组合:
- Node 本地读取文件、计算 MD5
- 脚本通过 bb-browser 在百度网盘 tab 上执行一段自定义 JS
- JS 依次调用百度网盘的内部 API 完成文件创建和写入
先找百度网盘当前在哪个 tab:
bb-browser tab list --json
# 找到 pan.baidu.com 的短 ID,比如 713c
然后上传测试文件:
BB_BROWSER_TAB=713c node scripts/baidu-pan-upload.js \
--file upload-test.txt \
--name bb-upload-test.txt
输出:
{
"ok": true,
"path": "/bb-upload-test.txt",
"size": 59,
"create": {
"fs_id": 288039632014397,
"server_filename": "bb-upload-test.txt",
"errno": 0
}
}
确认文件已存在:
bb-browser site baidu-pan/find bb-upload-test.txt --json
# ✅ 找到
效果
现在全套链路已经验证通过:
| 操作 | 耗时 | 结果 |
|---|---|---|
| 列文件 | 1 秒 | 结构化 JSON |
| 按文件名查找 | 1 秒 | 精准定位 fs_id |
| 创建分享链接+提取码 | 2 秒 | 永久有效链接 |
| 本地文件上传 | 5 秒 | 返回 fs_id,可验证 |
上传脚本有安全限制:当前只处理 20MB 以内的小文件,不做覆盖操作,不涉及删除/重命名。
对比
与之前路线对比:
| 方案 | 验证码 | 登录态 | 输出 | 稳定性 |
|---|---|---|---|---|
| Hermes browser 工具 | 被拦 | 无 | 见不到页面 | - |
| Computer Use 点按钮 | 无 | 有 | 截图+坐标 | 低(网页一改就偏) |
| bb-browser 调接口 | 无 | 有(真实 Chrome) | 结构化 JSON | 高 |
bb-browser 的 adapter 机制还带来了额外好处——这套操作已经沉淀到本地适配器目录,下次直接复用。
这个验证最关键的发现不是某个技术细节,而是方向上的判断:
让 Agent 用你已登录的浏览器干活,比让 Agent 假装成你干活靠谱得多。
你已经登录了,agent 就直接用——不需要额外处理验证码、不需要构造 cookie、不需要无头浏览器。你的登录态就是 agent 的能力底座。
下一步计划:把这套操作封装成 Hermes Agent 的原生工具,让每次找文件、上传、生成分享链接都可以一条命令完成。
如需要方案细节与源码,评论区找我。
作者:爱折腾的编程老炮
更多推荐



所有评论(0)