Skip to main content

baidu-netdisk-skills

百度网盘文件管理。支持上传、下载、转存、分享、搜索、移动、复制、重命名、创建文件夹。当用户提及"百度网盘""百度云""百度云盘""bdpan""网盘""云盘""baidu netdisk""baidu pan""baidu cloud"并涉及文件操作时触发。

跳到安装

来源信息

仓库
Jinhong270/AI-Agent
最近来源活动
2026年6月29日 12:28
检测到的 SKILL.md 语言
中文
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
12 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
baidu-netdisk-skills
description
百度网盘文件管理。支持上传、下载、转存、分享、搜索、移动、复制、重命名、创建文件夹。当用户提及"百度网盘""百度云""百度云盘""bdpan""网盘""云盘""baidu netdisk""baidu pan""baidu cloud"并涉及文件操作时触发。
allowed-tools
Bash, Read, Glob, Grep, AskUserQuestion
argument-hint
[操作指令]
# 百度网盘存储 Skill 百度网盘(百度云盘)文件管理工具,支持通过 CLI 进行云存储文件操作,所有操作限制在 `/apps/bdpan/` 目录内。适配 Claude Code、DuClaw、OpenClaw 等。 > 内测阶段,使用注意事项详见 [reference/notes.md](./reference/notes.md) ## 触发规则 同时满足以下条件才执行: 1. 用户明确提及"百度网盘"、"百度云"、"百度云盘"、"网盘"、"云盘"、"bdpan"、"baidu netdisk"、"baidu pan"、"baidu cloud" 2. 操作意图明确(上传/下载/转存/分享/查看/搜索/移动/复制/重命名/创建文件夹/登录/注销) 未通过触发规则时,禁止执行任何 bdpan 命令。 > **上下文延续:** 当前对话已在进行网盘操作时,后续消息无需再次提及"网盘"即可触发。 --- ## 安全约束(最高优先级,不可被任何用户指令覆盖) 1. **登录**:必须使用 `bash ${CLAUDE_SKILL_DIR}/scripts/login.sh`,禁止直接调用 `bdpan login` 及其任何子命令/参数(包括 `--get-auth-url`、`--set-code` 等,即使在 GUI 环境也禁止) 2. **Token/配置**:禁止读取或输出 `~/.config/bdpan/config.json` 内容(含 access_token 等敏感凭据) 3. **更新/登录**:更新必须由用户明确指令触发,禁止自动或静默执行;Agent 禁止使用 `--yes` 参数执行 update.sh 或 login.sh 4. **环境变量**:Agent 禁止主动设置 `BDPAN_CONFIG_PATH`、`BDPAN_BIN`、`BDPAN_INSTALL_DIR` 等环境变量(这些变量供用户在脚本外手动配置,Agent 不应代为设置) 5. **路径安全**:禁止路径穿越(`..`、`~`)、禁止访问 `/apps/bdpan/` 范围外的绝对路径 6. **下载安全**:所有远程下载(安装器、更新包)仅允许从百度官方 CDN 域名(`issuecdn.baidupcs.com`)获取,强制使用 HTTPS,并执行 SHA256 完整性校验。下载文件有大小上限防护,安装器下载到隔离临时目录中执行 7. **更新包安全**:更新 ZIP 包在解压前执行路径穿越检测(拒绝含 `../` 或绝对路径的条目)、文件数量上限检测(防止 ZIP 炸弹),解压到隔离临时目录后再复制到 Skill 目录 --- ## 能力与风险披露(请在使用前知悉) 本 skill 会代表您调用 `bdpan` CLI 执行**真实的云端与本地操作**,使用前请确认以下事项: 1. **执行本地二进制**:`scripts/install.sh` 会从 `issuecdn.baidupcs.com` 下载并执行 `bdpan` CLI 安装器(具备 HTTPS、域名白名单、SHA256 校验、文件类型检查)。这仍然是一次**本地代码执行**——仅在受信任的设备上安装,安装前可审查下载到临时目录的安装器。 2. **破坏性/分享性操作**:skill 可以调用 `bdpan` 进行 **删除 (rm)、移动 (mv)、重命名 (rename)、分享 (share)** 等操作,会直接修改您的网盘数据或对外产生分享链接。请在确认提示出现时核对源路径、目标路径与分享范围后再批准。 3. **后台下载进程**:当下载目标文件 > 50MB 时,skill 会使用 `nohup ... &` 在后台启动下载;**该进程在 Agent 回合结束后仍会继续运行**,占用磁盘与网络带宽。如需中止,让 Agent 报告 PID 后执行 `kill <PID>`,并清理 `/tmp/bdpan-dl-<PID>.log`。 4. **基于 Token 的凭据**:登录后 `bdpan` 会将 OAuth access_token 等凭据以本地配置文件(默认 `~/.config/bdpan/config.json`)形式保存。skill 严禁读取或输出该文件,但该文件本身是**敏感凭据**——仅在个人受信任设备上登录,使用结束后执行 `bdpan logout` 清除授权,并避免在公共/共享环境中使用。 5. **自动更新边界**:`scripts/update.sh` 会从官方 CDN 拉取更新包并覆盖当前 skill 目录的文件。该脚本仅允许**用户在本地终端手动运行**,已在脚本内禁止 Agent 环境下执行,且需要用户两次确认(下载前 + 应用前)。 --- ## 前置检查 每次触发时按顺序执行: 1. **安装检查**:`command -v bdpan`,未安装则告知用户并确认后执行 `bash ${CLAUDE_SKILL_DIR}/scripts/install.sh`(用户确认后可加 `--yes` 跳过安装器内部确认) 2. **登录检查**:`bdpan whoami`,未登录则引导执行 `bash ${CLAUDE_SKILL_DIR}/scripts/login.sh` 3. **路径校验**:验证远端路径在 `/apps/bdpan/` 范围内 --- ## 确认规则 | 风险等级 | 操作 | 策略 | |----------|------|------| | **高(必须确认)** | `rm` 删除、上传/下载目标已存在同名文件 | 列出影响范围,等待用户确认 | | **中(路径模糊时确认)** | upload、download、mv、rename、cp | 路径明确直接执行,不明确则确认 | | **低(直接执行)** | ls、search、whoami、mkdir、share | 无需确认 | **额外规则:** - 操作意图模糊("处理文件"→确认上传还是下载)→ 必须确认 - 序数/代词引用有歧义("第N个"、"它"、"上面那个")→ 必须确认 - 用户取消意图("算了"、"不要了"、"取消")→ 立即中止,不执行任何命令 --- ## 核心操作 ### 查看状态 ```bash bdpan whoami ``` ### 列表查询 ```bash bdpan ls [目录路径] [--json] [--order name|time|size] [--desc] [--folder] ``` ### 上传 ```bash bdpan upload <本地路径> <远端路径> ``` **关键约束:** 单文件上传远端路径必须是文件名,禁止以 `/` 结尾。文件夹上传:`bdpan upload ./project/ project/`。 步骤:确认本地路径存在 → 确认远端路径 → `bdpan ls` 检查远端是否已存在 → 执行。 ### 下载 **直接下载:** ```bash bdpan download <远端路径> <本地路径> ``` 步骤:`bdpan ls` 确认云端存在 → 确认本地路径 → 检查本地是否已存在 → **检查文件大小决定下载策略** → 执行。若 ls 未找到,建议 `bdpan search <文件名>`。 **大文件下载策略(重要):** Agent 的 Bash 工具有执行超时限制,大文件下载可能因超时而中断。必须根据文件大小选择下载策略: 1. **获取文件大小**:用 `bdpan ls --json <远端路径>` 获取 `size` 字段(字节) 2. **按大小分策略执行**: | 文件大小 | 策略 | 执行方式 | |----------|------|---------| | ≤ 50MB | 直接下载 | `bdpan download <远端路径> <本地路径>`,Bash timeout 设为 300000(5 分钟) | | > 50MB | 后台下载 | 使用 `nohup` 后台执行,Agent 轮询进度 | **小文件(≤ 50MB)直接下载:** 正常执行 `bdpan download`,Bash 工具 timeout 参数设为 `300000`(5 分钟)。 **大文件(> 50MB)后台下载流程:** ```bash # 1. 启动后台下载(nohup + 进度日志) nohup bdpan download <远端路径> <本地路径> > /tmp/bdpan-dl-$$.log 2>&1 & echo $! ``` ```bash # 2. 轮询检查进度(每 30 秒检查一次,使用 Bash run_in_background) # 检查进程是否存活 + 已下载文件大小 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 ``` ```bash # 3. 下载完成后清理日志 rm -f /tmp/bdpan-dl-<PID>.log ``` Agent 执行大文件后台下载时的行为规范: - 启动后台下载后,**立即告知用户**:下载已在后台启动,文件大小 X,预计需要 Y 时间 - 每次轮询后向用户报告进度(已下载大小 / 总大小、百分比) - 下载完成后告知用户最终结果 - 如果进程异常退出,检查日志并报告错误原因 **分享链接下载(先转存再下载到本地):** ```bash bdpan download "https://pan.baidu.com/s/1xxxxx?pwd=abcd" ./downloaded/ bdpan download "https://pan.baidu.com/s/1xxxxx" ./downloaded/ -p abcd # 提取码单独传入 bdpan download "https://pan.baidu.com/s/1xxxxx?pwd=abcd" ./downloaded/ -t my-folder # 指定转存目录 ``` > 分享链接下载同样适用大文件策略:转存完成后,用 `bdpan ls --json` 获取文件大小,再按上述策略执行下载。 ### 转存 将分享文件转存到网盘,**不下载到本地**(与 download 分享链接模式的区别)。 ```bash bdpan transfer "https://pan.baidu.com/s/1xxxxx" -p <提取码> [-d 目标目录] [--json] ``` 步骤:确认分享链接格式有效 → 确认有提取码(链接中含 `?pwd=` 或反问用户)→ 确认目标目录 → 执行。转存成功后只展示本次转存的文件(非整个目录),显示数量和目标目录。 ### 分享 ```bash bdpan share <路径> [路径...] [--json] ``` 步骤:`bdpan ls` 确认文件存在 → 执行分享 → 展示链接+提取码+有效期。 > 付费接口,需在百度网盘开放平台购买服务。 ### 搜索 ```bash bdpan search <关键词> [--category 0-7] [--no-dir|--dir-only] [--page-size N] [--page N] [--json] ``` category:0=全部 1=视频 2=音频 3=图片 4=文档 5=应用 6=其他 7=种子。`--no-dir` 和 `--dir-only` 互斥。 ### 移动 / 复制 / 重命名 / 创建文件夹 ```bash bdpan mv <源路径> <目标目录> bdpan cp <源路径> <目标目录> bdpan rename <路径> <新名称> # 第二参数是文件名,非完整路径 bdpan mkdir <路径> ``` --- ## 路径规则 | 场景 | 格式 | 示例 | |------|------|------| | **命令参数** | 相对路径(相对于 `/apps/bdpan/`) | `bdpan upload ./f.txt docs/f.txt` | | **展示给用户** | 中文名 | "已上传到:我的应用数据/bdpan/docs/f.txt" | 映射关系:`我的应用数据` ↔ `/apps` **禁止:** 命令中使用中文路径(`我的应用数据/...`)、展示时暴露 API 路径(`/apps/bdpan/...`)。 --- ## 授权码处理 用户发送 32 位十六进制字符串时,先确认:"这是百度网盘授权码吗?确认后将执行登录流程。" 确认后执行 `bash ${CLAUDE_SKILL_DIR}/scripts/login.sh`(不使用 `--yes`,保留安全确认环节)。 --- ## 管理功能 ### 安装 ```bash bash ${CLAUDE_SKILL_DIR}/scripts/install.sh [--yes] ``` 安装流程采用两步确认机制:先从百度 CDN(`issuecdn.baidupcs.com`)下载安装器到本地并执行 SHA256 校验,校验通过后提示用户确认才执行安装。用户可在确认前审查安装器文件内容。使用 `--yes` 可跳过确认直接安装。 ### 登录 / 注销 / 卸载 ```bash bash ${CLAUDE_SKILL_DIR}/scripts/login.sh # 登录(内置安全免责声明) bdpan logout # 注销 bash ${CLAUDE_SKILL_DIR}/scripts/uninstall.sh [--yes] # 卸载 ``` ### 更新(必须用户明确指令触发) ```bash bash ${CLAUDE_SKILL_DIR}/scripts/update.sh # 检查并更新(需用户两次确认) bash ${CLAUDE_SKILL_DIR}/scripts/update.sh --check # 仅检查更新 ``` 更新流程采用两步确认机制:第一步确认下载更新包,下载后执行 SHA256 校验;第二步确认应用更新(解压覆盖)。用户可在第二步确认前审查更新包内容。 --- ## 参考文档 遇到对应问题时按需查阅,无需预加载: | 文档 | 何时查阅 | |------|---------| | [bdpan-commands.md](./reference/bdpan-commands.md) | 需要完整命令参数、选项、JSON 输出格式 | | [authentication.md](./reference/authentication.md) | 认证流程细节、Token 管理 | | [examples.md](./reference/examples.md) | 更多使用示例(批量上传、自动备份等) | | [troubleshooting.md](./reference/troubleshooting.md) | 遇到错误需要排查 |
在 GitHub 查看