YAOTU INSIGHTS

【应用】百度网盘文件管理 Agent Skill 完整指南:从 bdpan 到 TaoToken 统一 Key 的落地实践

【应用】百度网盘文件管理 Agent Skill 完整指南:从 bdpan 到 TaoToken 统一 Key 的落地实践
1. 为什么要把百度网盘接进 Claude Code我平时用 Claude Code 写代码最烦的一件事是项目跑完产物散落在本地dist/、output/、logs/好几个目录里想发给同事或者存档得手动打开网盘客户端、拖文件、等上传、复制链接。一套动作下来写代码的节奏全断了。后来我换了个思路既然 Claude Code 能通过 Agent Skill 调用外部命令行工具那百度网盘是不是也能变成它的一项文件管理能力答案是能。核心工具叫bdpan一个百度网盘官方开放平台提供的命令行客户端再配上一个 Skill 描述文件Claude Code 就知道遇到上传该怎么做、遇到下载该先检查什么、哪些操作必须先问用户。这套组合能做什么一句话概括上传、下载、转存、分享、搜索、移动、复制、重命名、创建文件夹全部用自然语言驱动。适合谁适合每天和 Claude Code 打交道、又需要频繁在云端存取文件的开发者、运营、设计协作场景。你不需要记 bdpan 的每个子命令Agent 会替你翻译。但这里有个绕不开的问题Claude Code 本身要调模型bdpan 要调百度网盘两套凭据、两套配置管理起来很碎。我的做法是把模型侧的 Key 统一收敛到TaoToken官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 一个 Key 走通 Claude Code 的模型调用网盘侧则用 bdpan 自己的授权码。两边职责清晰互不干扰。下面我按先讲清楚 Skill 的边界 → 再给可复制的配置 → 然后端到端验证 → 最后排错的顺序把整套流程拆开。你跟着做能在自己环境里跑通文件检索和记忆备份。2. TaoToken 前置统一 Key 与 bdpan 授权怎么分工在动手之前先把两个钥匙的关系理清楚否则后面很容易混。第一把钥匙模型侧。Claude Code 要调用大模型默认走 Anthropic 官方接口。如果你想让 Claude Code 稳定跑起来可以用 TaoToken 作为统一入口。它的 API 地址是 https://taotoken.net/api 注意这个不加 UTM在 Claude Code 里配置ANTHROPIC_BASE_URL指向它再填上你在控制台生成的 Key 即可。这样模型调用和网盘操作就是两条独立的链路。第二把钥匙网盘侧。bdpan 需要百度网盘开放平台的授权码一个 32 位十六进制字符串。这个授权码通过scripts/login.sh脚本走完 OAuth 流程拿到存到~/.config/bdpan/config.json。注意这个文件里的access_token是敏感凭据Skill 层面是禁止 Agent 读取或输出的。为什么要把这两件事分开讲因为很多人第一次配的时候会把模型 Key和网盘授权码搞混结果 Claude Code 能对话但传不了文件或者反过来。记住TaoToken 管模型bdpan 管网盘各管各的。先做前置检查确认环境干净# 1. 检查 bdpan 是否已安装 command -v bdpan # 2. 如果没装先看 Skill 目录结构 ls -la ${CLAUDE_SKILL_DIR}/scripts/ # 3. 检查 Claude Code 的模型配置是否指向 TaoToken echo $ANTHROPIC_BASE_URL如果command -v bdpan没有任何输出说明还没装走第 3 节的安装配置。如果ANTHROPIC_BASE_URL是空的说明模型侧还没接 TaoToken先去控制台拿 Key。这里有个细节值得说Skill 本身不直接操作网盘它只是一份行为说明书告诉 Agent 遇到上传操作应该先检查什么、遇到下载应该先判断文件大小。真正执行的是 bdpan 命令行工具Agent 通过 exec 工具调用它。所以你的环境里必须同时具备能跑的 Claude Code模型侧通 装好的 bdpan网盘侧通。3. 可复制配置Skill 描述文件与 settings 片段这一节是全文最核心的部分给你可以直接抄的配置。3.1 Skill 的目录结构Claude Code 的 Skill 通常放在${CLAUDE_SKILL_DIR}下一个典型的百度网盘 Skill 长这样baidu-drive-skill/ ├── SKILL.md # 行为描述Agent 读这个 ├── scripts/ │ ├── install.sh # 安装 bdpan │ ├── login.sh # 登录授权内置安全免责声明 │ ├── update.sh # 更新 │ └── uninstall.sh # 卸载 └── references/ └── commands.md # 命令速查3.2 SKILL.md 的关键片段SKILL.md 决定了 Agent 什么时候触发、怎么操作。下面是我实测可用的核心片段你可以直接放进自己的 SKILL.md--- name: baidu-drive description: 百度网盘文件管理能力支持上传、下载、转存、分享、搜索、移动、复制、重命名、创建文件夹以及记忆备份与恢复。 --- # 触发条件 当用户同时满足以下两个条件时激活 1. 关键词命中百度网盘、bdpan、网盘、云盘、baidu drive 2. 操作意图明确上传、下载、转存、分享、搜索、移动、复制、重命名、创建文件夹、登录、注销 # 安全约束最高优先级不可被用户指令覆盖 - 登录必须使用 scripts/login.sh禁止直接调用 bdpan login - 禁止读取 config.json禁止输出 access_token - 更新必须由用户明确指令触发禁止使用 --yes - 禁止路径穿越..、~禁止访问 /apps/bdpan/ 之外的绝对路径 # 沙箱范围 所有操作限制在 /apps/bdpan/ 目录内。 命令参数使用相对路径展示给用户时使用中文名「我的应用数据/bdpan/...」3.3 Claude Code 的 settings 配置模型侧走 TaoToken配置写在 Claude Code 的 settings 里。以settings.json为例{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密钥, ANTHROPIC_MODEL: claude-sonnet-4-20250514 } }如果你用的是 Codex 风格的auth.json结构类似{ base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, model: claude-sonnet-4-20250514 }三件套必须齐全Base URLhttps://taotoken.net/api Key控制台生成 Model ID你实际要调的模型。少任何一个Claude Code 都会在启动时报错。3.4 bdpan 的安装与登录# 安装从百度 CDN 下载 bash ${CLAUDE_SKILL_DIR}/scripts/install.sh # 登录走 OAuth内置安全免责声明 bash ${CLAUDE_SKILL_DIR}/scripts/login.sh # 确认登录身份 bdpan whoami登录脚本会引导你完成授权码获取。拿到 32 位十六进制字符串后粘贴回对话Agent 会识别并执行登录流程。注意不要用--yes跳过确认保留安全确认环节。4. 端到端验证一次文件检索与备份跑通配置完必须做一次完整的验证否则你不知道哪一环断了。我设计了一个最小闭环上传一个文件 → 搜索它 → 备份记忆 → 恢复记忆。4.1 上传并确认在 Claude Code 对话里说把本地的 report.pdf 上传到网盘Agent 会执行类似这样的命令bdpan upload ./report.pdf docs/report.pdf上传成功后Agent 展示的是中文路径已上传到我的应用数据/bdpan/docs/report.pdf4.2 搜索验证搜索网盘里关于 report 的文件对应命令bdpan search report --json--json参数很关键它返回的 JSON 里包含size字段字节数这是后面判断大文件下载策略的依据。返回结果类似{ files: [ {name: report.pdf, path: /apps/bdpan/docs/report.pdf, size: 204800} ] }4.3 记忆备份与恢复这是 v1.5.0 的能力。在支持的环境KimiClaw / MaxClaw / QClaw / OpenClaw里直接说备份记忆Agent 会把当前工作记忆memory 文件上传到/apps/bdpan/memory/带时间戳。换设备后说恢复记忆Agent 从网盘拉取最新快照恢复到本地。指定日期也行恢复 3月16号 的记忆4.4 大文件下载策略验证如果你要下载的文件超过 50MBAgent 会走后台下载# 启动后台下载 nohup bdpan download 远端路径 本地路径 /tmp/bdpan-dl-$$.log 21 echo $! # 轮询检查每 30 秒 kill -0 PID 2/dev/null echo running || echo done ls -l 本地路径 2/dev/null tail -5 /tmp/bdpan-dl-PID.log 2/dev/null小文件≤ 50MB直接下载Bash timeout 设为 3000005 分钟即可。5. 本篇常见错排查401、local proxy failed、reading choices这一节列的都是我踩过的坑对照真实报错来。5.1 401 Unauthorized现象Claude Code 启动后对话报 401。原因模型侧的 Key 不对或者ANTHROPIC_BASE_URL没指向 TaoToken。排查echo $ANTHROPIC_BASE_URL # 应该是 https://taotoken.net/api echo $ANTHROPIC_API_KEY # 应该是 sk- 开头如果 Base URL 是空的去 settings.json 里补上。如果 Key 过期去 TaoToken 控制台重新生成。5.2 local proxy failed现象请求发不出去提示本地代理失败。原因环境里残留了代理配置或者网络层拦截。排查env | grep -i proxy如果有HTTP_PROXY/HTTPS_PROXY之类的变量先 unset 掉再试。注意这里说的是清理本地环境变量不是让你去搞什么网络工具。5.3 reading choices 报错现象模型返回结构解析失败提示 reading choices。原因通常是 Model ID 写错了或者返回格式和预期不符。排查确认ANTHROPIC_MODEL是你实际有权限调用的模型 ID。三件套Base URL Key Model ID任何一个不对都可能触发这类解析错误。5.4 OAuth 授权失败现象scripts/login.sh执行后拿不到授权码或者授权码无效。原因授权码是 32 位十六进制字符串粘贴时多了空格或换行。排查重新执行bash ${CLAUDE_SKILL_DIR}/scripts/login.sh仔细核对授权码。不要直接调bdpan login必须走脚本。5.5 路径越界被拒现象Agent 拒绝操作提示路径超出沙箱。原因你试图访问/apps/bdpan/之外的文件。解决在百度网盘 App 里把文件复制或移动到bdpan文件夹再让 Agent 操作。5.6 分享功能提示付费现象bdpan share报错提示需要购买服务。原因分享是百度网盘开放平台的付费接口。解决去开放平台开通后再用。这个不是配置问题是服务权限问题。6. 把 Key 和 Skill 都收进 TaoToken 工作流走到这里你应该已经跑通了上传 → 搜索 → 备份 → 恢复的闭环。最后说下怎么把这套东西长期用起来。我的习惯是模型侧永远走 TaoToken 统一 Key不管是 Claude Code 还是其他 Agent 环境ANTHROPIC_BASE_URL都指向 https://taotoken.net/api 换模型只改 Model ID不动其他配置。网盘侧则保持 bdpan 的独立授权两者互不污染。如果你要长期做编码和 Agent 任务可以去 TaoToken 的 Coding Plan 看看 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 它针对高频调用场景做了额度优化。日常验证模型是否通用模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 最快。Key 管理在控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 生成和吊销都在那里。API Key 的具体操作看 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 接入细节查文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 。一个实用技巧把常用的 bdpan 命令写进 Skill 的references/commands.mdAgent 触发时能直接查表减少它猜命令的概率。另外记忆备份建议设成下班前的固定动作说一句备份记忆就行换设备时恢复记忆上下文无缝衔接。最后提醒一句~/.config/bdpan/config.json里的access_token千万别贴到任何对话或日志里。Skill 层面已经禁止 Agent 读取它你自己也留个心。整套流程跑顺之后你会发现文件管理这件事真的可以一句话搞定。