Releases: NkAntony777/baiduwangpan-cli
Release list
v1.6.0 — 容量管理工具 (du/recycle) + 架构统一
✨ 新增
- 容量管理三件套(容量见底排查):
bdp du递归容量分析(找空间大户)、bdp recycle list/restore/clean回收站管理、bdp quota配额 - 多账号 profile:
bdp --profile svip login切换账号 - 新命令:quota / mv / cp / offline(离线下载)/ share(分享管理)/ profile
- search 模式过滤:--glob / --regex / --any-word / --exact
- get 群文件路由:
bdp get <gid>:<fs_id>免转存直下 - bdp help [cmd] --json:命令注册表驱动,Agent 运行时发现用法
🔧 下载可靠性(get)
- size 校验 + 0 字节检测(默认开启,失败保留文件排查)
- 断点续传:4MB 有界 Range 分块(实测 CT11 节点拒绝无界请求),中断自动续
- 并发分块(>32MB 默认 3 路,--concurrency 可调)
- --json 元信息输出 {size, md5, verified, resumed, avgSpeedBps}
- --dry-run / --progress
🏗️ 架构
- 命令注册表驱动 help + flag 白名单校验(未知选项报错防呆)
- 删除遗留入口(bdp.py/bdp.js/bdp-group.js),唯一入口
bdp - 错误消息统一中文 + error 反查表扩充(31326/31062/31090/-10/2)
- PowerShell 中文乱码自动修复(chcp 65001)
- bdstoken 缓存
🧪 测试
127/127 全绿。Skill 打包附件 baiduwangpan-skill.zip 同步更新。
v1.1.5 — gdownload 多文件 zip 打包下载 + 下载路径盖棺定论
v1.1.5 更新内容
🆕 gdownload 支持多文件 zip 打包下载
bdp gdownload <gid> <fs_id> [fs_id2 ...] [-o 输出目录]- 单 fs_id → 单文件直接下载(≤ ~20MB,明文 dlink)
- 多 fs_id(同一分享消息)→ zip 打包下载(逆向
type=batch接口,实测 10.4MB zip 完整下载) - 来源自动解析;
--json结构化输出
📋 群文件下载路径盖棺定论(docs/group-download-final-verdict.md)
对全部候选路径做了实测交叉验证(4 路子代理调查 + 真实账号逐项实测):
| 路径 | 结论 |
|---|---|
| 单文件直接下载(≤~20MB) | ✅ 可用 |
| 同消息多文件 zip 打包 | ✅ 可用(≤~100MB) |
| 大文件(>~100MB) | ❌ 网页端无解(单文件加密/zip 超限) |
| 转存 /mbox/msg/transfer | ❌ 百度已下线(errno=-10,补 logId 实测仍拒) |
| /mbox/msg/download | ❌ 需已失效页面签名 |
| dlink 字段 AES 解密 | ❌ 非标准密文,key 实测失败 |
结论:群文件下载唯一可行路线 = /api/sharedownload 免转存直下(bdp gdownload);大文件需官方客户端。
其它
- Agent Skill 压缩包同步更新(zip 打包用法 + 限制说明)
- 测试 34/34 通过
v1.1.4 — gdownload 群文件直接下载(免转存)
🎉 群聊文件现在可以直接下载了!
核心更新:bdp gdownload 群文件直接下载(免转存)
百度已于 2026 年下线群文件转存(/mbox/msg/transfer 非空目录一律 errno=-10,新版 UI 也移除了"保存"按钮)。本项目逆向新版 IM 前端的实际下载链路 /api/sharedownload(sign/timestamp 留空即可返回明文 dlink),实现群文件直接下载到本地:
bdp gdownload <gid> <fs_id> [-o 输出目录] [--from-uk X] [--msg-id Y] [--filename NAME]- ✅ 子目录深层文件 / 单文件分享均可下载(fs_id 来源自动解析)
- ✅ 字节数校验(dlink 8h 有效期,失败重跑即可)
- ✅
--json结构化输出 - 📄 完整逆向笔记:
docs/group-transfer-reverse-engineering.md
使用流程
bdp groups # 拿 gid
bdp gshares <gid> # 拿分享库 fs_id
bdp gls/gsearch <gid> ... # 定位具体文件 fs_id
bdp gdownload <gid> <fs_id> -o ./下载 # 直接下载!其他
- Agent Skill 压缩包已同步更新(含 gdownload 文档)
- README 明确支持群文件下载
- 测试 34/34 通过
v1.1.3 — gsearch 多关键词匹配(--any-word / --exact)
v1.1.3(npm: baiduwangpan-cli@1.1.3)
🆕 gsearch 多关键词匹配控制
- 空格分隔多关键词,默认"全部命中"(AND,可换序):
bdp gsearch <gid> "玄空 飞星"只返回同时含「玄空」与「飞星」的名字,精确收窄(解决"玄空"命中 52 个、"玄空飞星"只命中 2 个的问题) --any-word:任一关键词命中即可(OR,更宽)--exact:按文件名精确匹配(忽略路径前缀,大小写不敏感)- 单关键词默认仍是子串包含(兼容旧行为)
其他
- gsearch 新增
--timeout N/--save-partial/--all-results(v1.1.2) - v1.1.1 修复:升级保留 pcsPath + 引擎版本子目录自动发现;postinstall 镜像优先 + fallback 崩溃修复
- Agent Skill 同步更新(v1.1.3):新增多关键词/--any-word/--exact 用法
资源
baiduwangpan-skill.zip— Agent Skill 包(Claude Code / Codex / OpenClaw 等),或直接复制仓库skills/baiduwangpan/
v1.1.2 — gsearch --save-partial + Skill 更新
v1.1.2(npm: baiduwangpan-cli@1.1.2)
🆕 gsearch --save-partial
- 搜索未完整(超时/限流/预算耗尽/失败)时,自动把已搜到的结果存为 JSON 并打印
💾 部分结果已保存: <路径> - 配
--json-file <path>写指定文件;否则自动生成bdp-gsearch-<gid>-<kw>-partial-<时间戳>.json(当前目录) - 保存内容:
saved:"partial"+results(已搜到的全部匹配)+ 扫描诊断(scannedShares/totalShares/failedShares/stoppedReason/timedOut 等),Agent 可直接读取续扫
其他更新
--timeout N:到点停止扫描并返回部分结果(不挂死);--all-results与--all等价(忽略分页,慢但完整)- gsearch JSON 新增
timedOut/stoppedReason;complete/partial语义修正(提前截断不再误报 complete) - v1.1.1 修复:升级保留 pcsPath(引擎版本子目录自动发现 + 失效绝对路径自动回退);postinstall 镜像优先 + fallback 崩溃修复
Agent Skill 更新(v1.1.2)
- 同步
--save-partial/--timeout/--all-results用法与 JSON 字段说明 - 引擎丢失时的自动发现说明
- 本 zip 已重新打包(仅含
baiduwangpan/skill 目录)
v1.1.0 — 群聊扫描强化: 缓存/全页遍历/限流自愈
v1.1.0 更新内容
群聊文件扫描强化(实测逆向结论,2026-08)
- 磁盘会话缓存:gsearch/gtree/gshares/gls 默认启用(目录 30min / 分享 5min,~/.bdp/cache/\),重复搜索秒回、深扫续扫收敛;新增 \�dp cache [clear]\ 与 --no-cache\
- shareinfo 全页遍历:每页硬上限 100 条,has_more=1 自动翻页(--max-pages\ 默认 50),修复超过 100 子项的目录漏数据
- listshare 游标分页:has_more=1 时按 last_msg_time 翻页,修复大群分享库丢失
- 限流自愈:self-echo 退化检测(errno=0 但返回目录自身)+ 退避重试 + 连续限流自动停止(\ hrottled:true\)+ --max-requests\ 请求预算(默认 400),重跑命令只补扫缺失部分
- 安全解码:非法百分号编码路径不再抛 URIError 报废整个目录
- errno=2131 自动纠正:msg_id 不属于该群时自动按 fsId 从 gshares 纠正参数(\�utoResolved:true\),无法纠正时输出详细指引(\�dp error 2131\)
- 浏览器会话稳定性:fetch 失败不再关闭共享会话(并发批处理互不连坐),空闲断连 30s→90s,ping 自动重连
其他
- README 补充逆向实测结论;Skill 命令参考/速查同步
- 测试 20/20 通过
附件:\�aiduwangpan-skill.zip\(Agent Skill 打包,已更新)
v1.0.2 — 深度搜索 + 目录树 + 稳定性修复
v1.0.2: gsearch --depth 递归搜索、gtree 目录树、bdp error 命令、浏览器会话稳定性修复。实测 depth 2 搜玄空命中 20+ 条。
v1.0.1 - 扫码登录网页 API 修复
修复扫码登录 Cookie 对网页及 mbox API 无效的问题:保留原浏览器 profile,并通过 CDP 执行网页 API 请求。PCS API 继续使用 BDUSS/STOKEN。同步更新 Agent Skill、认证文档、安装脚本和回归测试。
v1.0.0 — 百度网盘 CLI + Agent Skill
🎉 首个正式版本
核心功能
- 全盘文件操作: ls / search / cat / head / tail / grep / peek / get / put / mkdir / rm
- 免下载读取: HTTP Range 直读文件内容,无需下载整个文件
- 群聊文件浏览: groups / gshares / gls / gsearch(逆向 mbox API)
- Agent 友好: 所有命令支持 --json 结构化输出
安装
\\�ash
npm install -g baiduwangpan-cli
\\
Agent Skill
附件 \�aiduwangpan-skill.zip\ 为标准 skill 格式(SKILL.md + reference + scripts),支持 Claude Code / Codex / OpenClaw / Cursor 等平台,解压放入对应 skills 目录即可使用。