扫描网盘出地图,按方案逐条移动并核对
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/kakayanjiahua-star/baidu-pan-organizer.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 37 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/9/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
- 读取密钥环境变量src/apply.mjs:39
if (process.env.BAIDU_PAN_TOKEN) return process.env.BAIDU_PAN_TOKEN.trim(); - 发起网络请求src/apply.mjs:60
const res = await fetch(u.toString(), { headers: { Accept: "text/event-stream" }, signal: this.abort.signal }); - 发起网络请求src/apply.mjs:129
const r = await fetch(this.endpoint, { method: "POST", headers: { "Content-Type": "application/json" }, body }); - 发起网络请求src/apply.mjs:144
await fetch(this.endpoint, { - 发起网络请求src/apply.mjs:177
const r = await fetch(u, { method: "POST", headers: { "User-Agent": "pan.baidu.com" }, body }); - 读取密钥环境变量src/bridge.mjs:67
if (process.env.BAIDU_PAN_TOKEN) return process.env.BAIDU_PAN_TOKEN.trim(); - 发起网络请求src/bridge.mjs:158
const res = await fetch(this.url, { - 发起网络请求src/bridge.mjs:208
const res = await fetch(this.endpoint, { - 发起网络请求src/scan.mjs:80
const res = await fetch(url.toString(), { - 读取密钥环境变量src/scan.mjs:123
const token = process.env.BAIDU_PAN_TOKEN || readEnvFile(findEnvFile()).BAIDU_PAN_TOKEN; - 读取密钥环境变量src/verify.mjs:34
if (process.env.BAIDU_PAN_TOKEN) return process.env.BAIDU_PAN_TOKEN.trim(); - 发起网络请求src/verify.mjs:50
const r = await fetch(u.toString(), { headers: { "User-Agent": "pan.baidu.com", Accept: "application/json" }, signal: AbortSignal.timeout(30_000) });
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 扫描网盘生成地图
- 按方案逐条移动
- 移动后核对
百度网盘整理工具箱:stdio↔SSE 转接桥 + 扫描/地图/方案/执行/核对流水线 · 只移动不删除
README
由 DeepSeek 最新模型翻译生成百度网盘整理工具箱 · Baidu Pan Organizer 把乱成一团的百度网盘,交给 AI 按流程理干净。
官方只给 SSE,一半客户端用不了 —— 这里有一个桥、一套流程、一份踩坑清单。
这是什么
百度网盘官方已经发布了 MCP Server(16 个工具:列目录、搜索、移动、复制、重命名、建目录、分享…),但有三个卡点让人用不起来:
| 卡点 | 现状 | 本项目的做法 |
| 官方只有 SSE 入口 | DSH / 部分客户端只认 stdio,直接接不上 | 转接桥:stdio ⇄ SSE 双向翻译,零依赖 |
| 网盘大了没法"看着整理" | 几十万文件,AI 看不到全貌,只能瞎点 | 先扫描出地图:类型 / 大文件 / 重复 / 最乱目录 |
| 让 AI 直接搬文件很吓人 | 搬错了、改名了、删了怎么办 | 先出方案你点头、一次一个、留痕可回滚、永不删除 |
它不是一个"点一下自动整理"的黑盒,而是一条可控的流水线:扫描 → 地图 → 方案 → 执行 → 核对。
展开完整文档(README 剩余 1 节)
百度网盘整理工具箱 · Baidu Pan Organizer 把乱成一团的百度网盘,交给 AI 按流程理干净。
官方只给 SSE,一半客户端用不了 —— 这里有一个桥、一套流程、一份踩坑清单。
这是什么
百度网盘官方已经发布了 MCP Server(16 个工具:列目录、搜索、移动、复制、重命名、建目录、分享…),但有三个卡点让人用不起来:
| 卡点 | 现状 | 本项目的做法 |
| 官方只有 SSE 入口 | DSH / 部分客户端只认 stdio,直接接不上 | 转接桥:stdio ⇄ SSE 双向翻译,零依赖 |
| 网盘大了没法"看着整理" | 几十万文件,AI 看不到全貌,只能瞎点 | 先扫描出地图:类型 / 大文件 / 重复 / 最乱目录 |
| 让 AI 直接搬文件很吓人 | 搬错了、改名了、删了怎么办 | 先出方案你点头、一次一个、留痕可回滚、永不删除 |
它不是一个"点一下自动整理"的黑盒,而是一条可控的流水线:扫描 → 地图 → 方案 → 执行 → 核对。
五步工作流
| 步骤 | 脚本 | 做什么 | 你参与吗 |
| 1 扫描 | src/scan.mjs | 递归拉全盘清单(断点续扫、限流退避) | 不用 |
| 2 出地图 | src/analyze.mjs src/structure.mjs src/dedup.mjs | 类型分布、大文件 TOP、md5 重复、目录结构 | 看结果 |
| 3 出方案 | src/plan.mjs | 按你的配置生成分类与迁移清单 | 你点头才继续 |
| 4 执行 | src/apply.mjs | 先干跑,再逐条移动,全程留痕 | 决定何时开跑 |
| 5 核对 | src/verify.mjs | 按文件 ID 查真实位置,判定到位 / 没动 / 落别处 | 看报告 |
工作原理:为什么要一个"桥"
快速开始
git clone https://github.com/kakayanjiahua-star/baidu-pan-organizer.git
cd baidu-pan-organizer
node --version # 需要 Node ≥ 18,零依赖,不用 npm install
① 拿 Access Token(官方授权,一次约 30 天有效)
浏览器打开官方授权链接 → 登录 → 点「授权」→ 页面会跳到一个打不开的地址(正常),把地址栏里 access_token= 后面那串复制出来:
https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=&redirect_uri=oob&scope=basic,netdisk
个人"限时体验"密钥由官方不定期更换,长期使用建议申请企业开发者(token 可自动续期)。
把 token 写进项目根目录的 baidu-pan-mcp.env(已在 .gitignore 里,不会被提交):
BAIDU_PAN_TOKEN=你的_access_token
② 接进你的 AI 客户端
| 客户端 | 怎么接 |
| DSH / DeepSeek Harness | 把 configs/dsh.cordis.patch.yml 的内容贴进 cordis.patch.yml(热挂载即生效) |
| Cursor / Cline | 把 configs/cursor.mcp.json 的内容并进 mcp.json |
| Claude Desktop | 把 configs/claude_desktop_config.json 并进 claude_desktop_config.json |
桥的三种用法(都不需要装依赖):
node src/bridge.mjs --selftest # 自检:连一次百度,打印工具清单
node src/bridge.mjs # 作为 MCP 服务(stdio),给客户端调用
node src/bridge.mjs --token "xxx" # 也可以直接传 token
③ 先扫描,再整理
node src/scan.mjs # 全盘扫描(大页 + 限流退避 + 断点续扫)
node src/dedup.mjs && node src/structure.mjs
node src/analyze.mjs # → scan-out/网盘地图.md
cp examples/classify.config.json classify.config.json # 改成你自己的分类
node src/plan.mjs # → scan-out/归类方案.md(先看这份!)
node src/apply.mjs # 干跑:只打印要做什么
node src/apply.mjs --go --sync --batch 3 --gap 4000 # 真执行
node src/verify.mjs # 核对:到位 / 没动 / 落别处
配置:分类规则长什么样
{
"keep": ["/我的私人目录"], // 永远不动的目录
"moves": { // 目录 → 目标(整目录搬)
"/网课-英语": "/1-学习课程/英语", "/电影收藏": "/4-影视音乐" },
"childMoves": { // 把一个大目录里的子项分别归位
"/资料合集": {
"default": "/5-资料归档/其他",
"map": { "电子资料": "/5-资料归档/电子资料", "设计素材": "/6-素材库/设计" }
}
},
"rules": [ // 按名字正则匹配
{ "match": "^来自[::]", "to": "/7-设备直传/{name}" } ], "defaultTo": "/9-待你确认" // 拿不准的一律先放这里,绝不猜着搬 }
优先级:keep → childMoves → moves → rules → defaultTo。任何没匹配上的目录都会被列出来,不会静默消失。
实测踩坑清单(这份最值钱)
这些都是我们在一台 41 万文件 / 9.7 TB 的真实网盘上撞出来的:
| 坑 | 现象 | 正确做法 |
| 官方 /mcp 端点不存在 | POST /mcp → 404,只有 /sse 活的 | 桥必须走 SSE |
| 本地 stdio 版不是全套 | 官方 stdio 版只提供"上传"一个工具 | 想要 16 个工具只能走远程 SSE + 桥 |
| 分类接口选错会 31064 | xpan/file?method=listall → file is not authorized | 用 xpan/multimedia?method=listall&path=/&recursion=1 |
| 翻页会重复抓 | 59.9 万条里有 18.6 万条是重复记录 | 按 fs_id 去重后再统计(并验证同一 ID 不会对应多个路径) |
| 建目录会生成空壳 | mkdir rtype=1 反复建同名目录 → 生成 名字_时间戳 空目录(我们造出过 10 个) | 用 rtype=0 并容忍"已存在" |
| newname 是文件名不是文件夹 | 本想把散文件放进「散文件/」文件夹,结果 3 个文件被改名 | dest 是目标文件夹,newname 是新文件名,二者别混 |
| 异步移动无法跟踪 | async=1 常常不返回 info,日志里看着"失败"其实成功了 | 一律 async=0 逐条同步,或记录 taskid 轮询 |
| 目录列表有缓存 | 用它核对会误判"没搬" | 核对用 multimedia?method=filemetas&fsids=[...] 按 ID 查真实 path |
| curl 的方括号 | URL 里的 fsids=[1,2] 被 curl 当通配符,返回空 | 加 -g |
| 个人密钥会变 + 限流紧 | errno 31034 hit frequency limit;密钥不定期更换 | 页间隔 ≥ 45s、逐条重试;长期用企业开发者 token |
| 平台禁止移动某些目录 | 个别目录返回 errno 445 文件夹禁止移动 | 记下来交给人工,别硬试 |
| AI 没有删除权限 | 官方 16 个工具里没有 delete | 空目录/重复副本列清单给用户手动删 |
| 重复不能只看名字 | 百度对大部分文件返回脱敏 md5(含非 16 进制字符) | md5 有效才算"确证重复",其余标"疑似"待人工抽查 |
完整版见 docs/pitfalls.md。
安全与边界
| 项 | 做法 |
| 会不会删我东西 | 不会。官方 MCP 根本没有删除接口,本工具也不调用任何删除 |
| 怎么改 | 只改路径(元数据移动),不下载、不上传、不占带宽 |
| 撞名怎么办 | ondup=fail —— 宁可报错,绝不静默改名 |
| 搬错了怎么办 | 每步写 apply-log.jsonl(旧路径 → 新路径),按它可整批搬回 |
| token 去哪了 | 只在本地 baidu-pan-mcp.env,已 .gitignore;仓库自带 隐私闸门 防误提交 |
| 它会自己乱来吗 | 不会:plan 只产出清单,apply 默认干跑,要显式加 --go 才动 |
常见问题
没有企业开发者账号能用吗?
能。官方开放了"个人限时体验"入口,用 response_type=token 拿一个约 30 天有效的 token 即可。缺点是密钥会被官方不定期更换、接口限流更紧。
为什么不用现成的百度网盘 CLI / Skill?
官方另有 bdpan CLI(bdpan-storage Skill),但它的所有操作被限制在 /apps/bdpan/ 目录内,动不了你网盘里的存量文件;而且 Windows 原生不支持(需要 WSL)。想整理存量,只能用开放平台 API。
能整理多大的网盘?
实测 41 万条目 / 9.7 TB:全量扫描约 50 分钟(受官方限流影响),整理 140 次目录移动约 10 分钟。文件越多,扫描越慢,但支持断点续扫,可以分几次跑。
会不会把我网盘搞乱?
流程天然防呆:先出方案(Markdown 表)→ 你确认 → 干跑 → 才执行。任何“拿不准”的目录都会进 /9-待你确认,不会替你猜。
仓库结构
baidu-pan-organizer/
├── src/
│ ├── bridge.mjs # stdio ⇄ SSE 转接桥(零依赖) │ ├── scan.mjs # 全盘扫描(断点续扫 + 限流退避) │ ├── dedup.mjs # 清单去重(按 fs_id) │ ├── structure.mjs # 目录结构(一级 → 二级) │ ├── analyze.mjs # 网盘地图(类型 / 大文件 / 重复) │ ├── plan.mjs # 配置驱动的整理方案 │ ├── apply.mjs # 迁移执行器(干跑 / 留痕 / 回滚) │ ├── verify.mjs # 按文件 ID 权威核对 │ └── check-fsid.mjs # 数据自检(同一 ID 是否对应多路径) ├── configs/ # 各客户端接入示例 ├── examples/ # 假数据 + 示例配置(可直接跑通全程) ├── docs/ # 图与踩坑清单 └── SKILL.md # 给 Agent 的操作手册(放进 skills 目录即可)
给 Agent 用
把 SKILL.md 丢进你的技能目录(DSH:$DSH_HOME/skills/),AI 就会按“先扫描 → 出方案给你审 → 干跑 → 执行 → 核对”的顺序干活,不会上来就搬文件。
路线图
- [ ] 手机/相册直传目录的“按年月自动归档”
- [ ] 重复文件报告一键转成“待删清单”
- [ ] 支持企业开发者 OAuth 授权码模式(token 自动续期)
- [ ] 英文文档完善 / 接入更多客户端示例
Star History
许可证
MIT · 与百度官方无隶属关系;使用开放平台接口请遵守其服务条款。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kakayanjiahua-star/baidu-pan-organizer
扫描网盘出地图,按方案逐条移动并核对
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,173已汉化DeepSeek 客户端
74.4
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,308已汉化DSH
71.3
智能体运行框架路由HarnessRouter/harnessrouter
智能体运行框架的统一接口。
★ 3,897已汉化DSH
71.2
这是你的仓库?认领条目