网盘整理(百度网盘 MCP)
触发
用户要整理 / 盘点 / 清理网盘,或问剩余空间、找大文件、处理重复文件夹。
铁律(先记住,能省 80% 返工)
- 必须先给建议,用户点头再动。用户偏好「先列方案我确认」。但移动可逆,确认后应直接推进,别反复问。
- 只移动不删除。MCP 没有删除工具,误操作只能靠移动隔离。真删要引导用户在网盘 UI 走回收站(10 天可恢复)。
- 先翻页枚举全量,再谈分类。——最大的坑,见下。
坑清单(都是踩过的)
🔴 file_list 分页陷阱
不传 page 也只返回 10 条,不是全量。必须 page:1,2,3… 翻到返回空为止。
实测:一个目录第一次看是 10 项,翻到第 9 页实际 82 项。只看首页会严重低估任务规模,方案也会跟着错。
🔴 编码规则只对 file_list 成立
file_list的dir:必须 URL 编码(/→%2F,中文逐字 encode)。用urllib.parse.quote(p, safe="")生成,别手拼。make_dir/file_move/file_rename的path、dest、newname:一律传未编码的中文原串。- 搞反的后果:按文档给
make_dir传编码串,会真的建出一个名叫%2F01_%E5%B7%A5%E4%BD%9C的畸形目录,且它不在列表里显示,只能用file_meta按 fsid 才查得到。补救:用file_rename改成正确中文名复用。
🔴 移动根目录级文件夹必须 async:2
async:0 / async:1 一律返回 errno -9(看着像"文件不存在",实际是模式不支持)。二级及以下目录 async:1 正常。
统一用 async:2,它返回 {errno:0, info:[], taskid},info 为空不代表失败,过几秒翻页复查才算数。
🔴 批量最多 5 条
一次提交 7 条报 errno 2(参数错误),拆成 1–3 条全部成功。每批 ≤5 条。
🔴 顺序:子文件必须先于父目录
要同时搬 /A/b.zip 和 /A/ 时,先移文件再移目录,否则父目录一走子路径全失效。
🔴 /apps 是系统保留目录
移动和重命名都被拒(errno 2)。云一朵(百度网盘 AI 目录)同样不该动。遇到就留原地,别反复试。
其他
- 文件夹
size恒为 0,接口没有"目录总大小"。目录体积只能逐层下钻累加——TB 级大盘别承诺精确体积。 - 关键词搜索对中文不可靠(搜「备份/副本/重复」返回 0 条)。判重靠肉眼看
(1)(2)后缀 + md5 比对,别指望搜索。 - 顶层分类目录建议数字前缀
01_ 02_ … 99_待整理,排序稳定。
操作流程
1. 开局:容量 + 全量枚举
get_quota 拿容量 → file_list 翻页拿根目录全量(翻到空为止)。
顺手记下每项的 size(文件的才有值),大文件当场标记。
2. 诊断四看
- 结构重叠:同一类内容散在几个地方(工作资料同时在 6 个目录)。
- 命名混乱:盘符残留(
/e)、设备型号(来自:ELS-AN10)、新建文件夹。 - 重复副本:
(1)(2)(3)后缀、同名不同目录。 - 大文件:>100MB 全列出来,这往往是空间大头。
3. 出方案
给一张「原目录 → 目标分类」映射表 + 大文件处理建议,让用户勾/改。
不确定归属的目录一律丢 99_待整理,不猜。
4. 执行
make_dir 建顶层分类 → file_move 分批搬(≤5 条 / async:2 / 先子后父)→ 每批后翻页复查。
5. 交付
用户偏好单文件离线 HTML 演示页(不是 md 报告):深色底 #0a0a0c + 青 #00e5c0 / 琥珀 #FFB020,
sticky 导航 + 演示模式(方向键翻页),明细表格可勾选 + 下拉改归属 + 一键复制执行清单。
自检:node --check 验 JS + 脚本统计标签开闭平衡。
重复文件夹判定法(冯唐四份案例)
同一套资料存多份时,按这个顺序判:
- 看子目录编号完整度:标了集数的(522集 / 51节 / 77集)> 标"完结"的 > 标"更新中"的。编号能连成一套的是主版本。
- 看主题覆盖:把每份的子目录列成表,看谁覆盖谁。通常最新那份覆盖其余全部。
- 看是不是空壳:有的目录只有一张封面 jpg 或一两个文件,等于空壳。
- 找真正的差异化:逐本比对电子书/文件名,找出主版本没有的那些(往往只有 1–2 项)。
- 执行:主版本上位(改名移入正式分类)→ 差异化内容并入主版本 → 其余隔离进
99_待整理/_XX重复副本_可删/。
⚠️ 隔离不等于删除。MCP 删不了,必须告诉用户自己去网盘 UI 删。
一句话心法
别指望靠清理把大盘整瘦——翻遍找到的垃圾常常只占已用空间的零头(实测 5.5GB / 12.44 TiB = 0.04%)。
整理的真正收益是「以后 30 秒内能找到东西」。空间的事,等结构理顺了再做体积遍历。