baidu-netdisk
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese百度网盘存储 Skill
Baidu Netdisk Storage Skill
百度网盘文件管理工具,所有操作限制在 目录内。适配 Claude Code、DuClaw、OpenClaw 等。
/apps/bdpan/内测阶段,使用注意事项详见 reference/notes.md
Baidu Netdisk file management tool, all operations are restricted within the directory. Compatible with Claude Code, DuClaw, OpenClaw, etc.
/apps/bdpan/Beta stage, please refer to reference/notes.md for usage precautions
触发规则
Trigger Rules
同时满足以下条件才执行:
- 用户明确提及"百度网盘"、"bdpan"、"网盘"
- 操作意图明确(上传/下载/转存/分享/查看/搜索/移动/复制/重命名/创建文件夹/登录/注销)
未通过触发规则时,禁止执行任何 bdpan 命令。
上下文延续: 当前对话已在进行网盘操作时,后续消息无需再次提及"网盘"即可触发。
Only execute when all the following conditions are met:
- The user explicitly mentions "百度网盘", "bdpan", "网盘"
- Operation intent is clear (upload/download/transfer/share/view/search/move/copy/rename/create folder/login/logout)
When the trigger rules are not met, executing any bdpan command is prohibited.
Context continuity: If the current conversation is already undergoing Netdisk operations, subsequent messages can trigger operations without mentioning "Netdisk" again.
安全约束(最高优先级,不可被任何用户指令覆盖)
Security Constraints (highest priority, cannot be overridden by any user instruction)
- 登录:必须使用 ,禁止直接调用
bash ${CLAUDE_SKILL_DIR}/scripts/login.sh及其任何子命令/参数(包括bdpan login、--get-auth-url等,即使在 GUI 环境也禁止)--set-code - Token/配置:禁止读取或输出 内容(含 access_token 等敏感凭据)
~/.config/bdpan/config.json - 更新/登录:更新必须由用户明确指令触发,禁止自动或静默执行;Agent 禁止使用 参数执行 update.sh 或 login.sh
--yes - 环境变量:Agent 禁止主动设置 、
BDPAN_CONFIG_PATH、BDPAN_BIN等环境变量(这些变量供用户在脚本外手动配置,Agent 不应代为设置)BDPAN_INSTALL_DIR - 路径安全:禁止路径穿越(、
..)、禁止访问~范围外的绝对路径/apps/bdpan/
- Login: Must use , direct call to
bash ${CLAUDE_SKILL_DIR}/scripts/login.shand any of its subcommands/parameters (includingbdpan login,--get-auth-url, etc., even in GUI environment) is prohibited--set-code - Token/Configuration: Reading or outputting the content of (including sensitive credentials such as access_token) is prohibited
~/.config/bdpan/config.json - Update/Login: Updates must be triggered by explicit user instructions, automatic or silent execution is prohibited; Agent is prohibited from using the parameter to execute update.sh or login.sh
--yes - Environment Variables: Agent is prohibited from actively setting environment variables such as ,
BDPAN_CONFIG_PATH,BDPAN_BIN(these variables are for users to manually configure outside the script, Agent should not set them on behalf of users)BDPAN_INSTALL_DIR - Path Security: Path traversal (,
..) is prohibited, accessing absolute paths outside the scope of~is prohibited/apps/bdpan/
前置检查
Pre-checks
每次触发时按顺序执行:
- 安装检查:,未安装则告知用户并确认后执行
command -v bdpan(用户确认后可加bash ${CLAUDE_SKILL_DIR}/scripts/install.sh跳过安装器内部确认)--yes - 登录检查:,未登录则引导执行
bdpan whoamibash ${CLAUDE_SKILL_DIR}/scripts/login.sh - 路径校验:验证远端路径在 范围内
/apps/bdpan/
Execute in order on each trigger:
- Installation Check: Run , if not installed, inform the user and execute
command -v bdpanafter user confirmation (addbash ${CLAUDE_SKILL_DIR}/scripts/install.shto skip internal installer confirmation after user approval)--yes - Login Check: Run , if not logged in, guide the user to execute
bdpan whoamibash ${CLAUDE_SKILL_DIR}/scripts/login.sh - Path Verification: Verify that the remote path is within the scope of
/apps/bdpan/
确认规则
Confirmation Rules
| 风险等级 | 操作 | 策略 |
|---|---|---|
| 高(必须确认) | | 列出影响范围,等待用户确认 |
| 中(路径模糊时确认) | upload、download、mv、rename、cp | 路径明确直接执行,不明确则确认 |
| 低(直接执行) | ls、search、whoami、mkdir、share | 无需确认 |
额外规则:
- 操作意图模糊("处理文件"→确认上传还是下载)→ 必须确认
- 序数/代词引用有歧义("第N个"、"它"、"上面那个")→ 必须确认
- 用户取消意图("算了"、"不要了"、"取消")→ 立即中止,不执行任何命令
| Risk Level | Operation | Policy |
|---|---|---|
| High (confirmation required) | | List the scope of impact, wait for user confirmation |
| Medium (confirm when path is ambiguous) | upload, download, mv, rename, cp | Execute directly if path is clear, confirm if ambiguous |
| Low (execute directly) | ls, search, whoami, mkdir, share | No confirmation required |
Additional Rules:
- Vague operation intent ("process file" → confirm whether to upload or download) → Must confirm
- Ambiguous ordinal/pronoun references ("the Nth one", "it", "the one above") → Must confirm
- User cancels intent ("forget it", "don't need it", "cancel") → Terminate immediately, do not execute any commands
核心操作
Core Operations
查看状态
Check Status
bash
bdpan whoamibash
bdpan whoami列表查询
List Query
bash
bdpan ls [目录路径] [--json] [--order name|time|size] [--desc] [--folder]bash
bdpan ls [directory path] [--json] [--order name|time|size] [--desc] [--folder]上传
Upload
bash
bdpan upload <本地路径> <远端路径>关键约束: 单文件上传远端路径必须是文件名,禁止以 结尾。文件夹上传:。
/bdpan upload ./project/ project/步骤:确认本地路径存在 → 确认远端路径 → 检查远端是否已存在 → 执行。
bdpan lsbash
bdpan upload <local path> <remote path>Key Constraints: Remote path for single file upload must be the file name, ending with is prohibited. Folder upload: .
/bdpan upload ./project/ project/Steps: Confirm local path exists → Confirm remote path → Run to check if the target already exists remotely → Execute.
bdpan ls下载
Download
直接下载:
bash
bdpan download <远端路径> <本地路径>步骤: 确认云端存在 → 确认本地路径 → 检查本地是否已存在 → 检查文件大小决定下载策略 → 执行。若 ls 未找到,建议 。
bdpan lsbdpan search <文件名>大文件下载策略(重要):
Agent 的 Bash 工具有执行超时限制,大文件下载可能因超时而中断。必须根据文件大小选择下载策略:
- 获取文件大小:用 获取
bdpan ls --json <远端路径>字段(字节)size - 按大小分策略执行:
| 文件大小 | 策略 | 执行方式 |
|---|---|---|
| ≤ 50MB | 直接下载 | |
| > 50MB | 后台下载 | 使用 |
小文件(≤ 50MB)直接下载:
正常执行 ,Bash 工具 timeout 参数设为 (5 分钟)。
bdpan download300000大文件(> 50MB)后台下载流程:
bash
undefinedDirect Download:
bash
bdpan download <remote path> <local path>Steps: Run to confirm the file exists in the cloud → Confirm local path → Check if the file already exists locally → Check file size to determine download strategy → Execute. If ls does not find the file, recommend .
bdpan lsbdpan search <file name>Large File Download Strategy (Important):
Agent's Bash tool has execution timeout limit, large file downloads may be interrupted due to timeout. The download strategy must be selected based on file size:
- Get file size: Use to get the
bdpan ls --json <remote path>field (in bytes)size - Execute strategy by size:
| File Size | Strategy | Execution Method |
|---|---|---|
| ≤ 50MB | Direct download | |
| > 50MB | Background download | Use |
Small files (≤ 50MB) direct download:
Execute normally, set Bash tool timeout parameter to (5 minutes).
bdpan download300000Large files (> 50MB) background download process:
bash
undefined1. 启动后台下载(nohup + 进度日志)
1. Start background download (nohup + progress log)
nohup bdpan download <远端路径> <本地路径> > /tmp/bdpan-dl-$$.log 2>&1 & echo $!
```bashnohup bdpan download <remote path> <local path> > /tmp/bdpan-dl-$$.log 2>&1 & echo $!
```bash2. 轮询检查进度(每 30 秒检查一次,使用 Bash run_in_background)
2. Poll to check progress (check every 30 seconds, use Bash run_in_background)
检查进程是否存活 + 已下载文件大小
Check if process is alive + downloaded file size
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
```bashkill -0 <PID> 2>/dev/null && echo "running" || echo "done"; ls -l <local path> 2>/dev/null; tail -5 /tmp/bdpan-dl-<PID>.log 2>/dev/null
```bash3. 下载完成后清理日志
3. Clean up logs after download completes
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
rm -f /tmp/bdpan-dl-<PID>.log
Behavior specifications for Agent when executing large file background downloads:
- After starting the background download, **inform the user immediately**: Download has started in the background, file size X, estimated time Y required
- Report progress to the user after each poll (downloaded size / total size, percentage)
- Inform the user of the final result after download is completed
- If the process exits abnormally, check the log and report the error cause
**Share link download (transfer first then download to local):**
```bash
bdpan download "https://pan.baidu.com/s/1xxxxx?pwd=abcd" ./downloaded/
bdpan download "https://pan.baidu.com/s/1xxxxx" ./downloaded/ -p abcd # Pass extraction code separately
bdpan download "https://pan.baidu.com/s/1xxxxx?pwd=abcd" ./downloaded/ -t my-folder # Specify transfer directoryShare link download also applies the large file strategy: after transfer is completed, useto get the file size, then execute the download according to the above strategy.bdpan ls --json
转存
Transfer
将分享文件转存到网盘,不下载到本地(与 download 分享链接模式的区别)。
bash
bdpan transfer "https://pan.baidu.com/s/1xxxxx" -p <提取码> [-d 目标目录] [--json]步骤:确认分享链接格式有效 → 确认有提取码(链接中含 或反问用户)→ 确认目标目录 → 执行。转存成功后只展示本次转存的文件(非整个目录),显示数量和目标目录。
?pwd=Transfer shared files to Netdisk, do not download to local (difference from download share link mode).
bash
bdpan transfer "https://pan.baidu.com/s/1xxxxx" -p <extraction code> [-d target directory] [--json]Steps: Confirm the share link format is valid → Confirm there is an extraction code (the link contains or ask the user back) → Confirm target directory → Execute. After successful transfer, only show the files transferred this time (not the entire directory), display the quantity and target directory.
?pwd=分享
Share
bash
bdpan share <路径> [路径...] [--json]步骤: 确认文件存在 → 执行分享 → 展示链接+提取码+有效期。
bdpan ls付费接口,需在百度网盘开放平台购买服务。
bash
bdpan share <path> [path...] [--json]Steps: Run to confirm the file exists → Execute share → Display link + extraction code + validity period.
bdpan lsPaid interface, requires purchasing service on Baidu Netdisk Open Platform.
搜索
Search
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-onlybash
bdpan search <keyword> [--category 0-7] [--no-dir|--dir-only] [--page-size N] [--page N] [--json]category: 0=All 1=Video 2=Audio 3=Image 4=Document 5=Application 6=Others 7=Torrent. and are mutually exclusive.
--no-dir--dir-only移动 / 复制 / 重命名 / 创建文件夹
Move / Copy / Rename / Create Folder
bash
bdpan mv <源路径> <目标目录>
bdpan cp <源路径> <目标目录>
bdpan rename <路径> <新名称> # 第二参数是文件名,非完整路径
bdpan mkdir <路径>bash
bdpan mv <source path> <target directory>
bdpan cp <source path> <target directory>
bdpan rename <path> <new name> # Second parameter is file name, not full path
bdpan mkdir <path>路径规则
Path Rules
| 场景 | 格式 | 示例 |
|---|---|---|
| 命令参数 | 相对路径(相对于 | |
| 展示给用户 | 中文名 | "已上传到:我的应用数据/bdpan/docs/f.txt" |
映射关系: ↔
我的应用数据/apps禁止: 命令中使用中文路径()、展示时暴露 API 路径()。
我的应用数据/.../apps/bdpan/...| Scenario | Format | Example |
|---|---|---|
| Command parameters | Relative path (relative to | |
| Display to user | Chinese name | "Uploaded to: 我的应用数据/bdpan/docs/f.txt" |
Mapping relationship: ↔
我的应用数据/appsProhibited: Using Chinese paths () in commands, exposing API paths () when displaying to users.
我的应用数据/.../apps/bdpan/...授权码处理
Authorization Code Processing
用户发送 32 位十六进制字符串时,先确认:"这是百度网盘授权码吗?确认后将执行登录流程。" 确认后执行 (不使用 ,保留安全确认环节)。
bash ${CLAUDE_SKILL_DIR}/scripts/login.sh--yesWhen the user sends a 32-bit hexadecimal string, first confirm: "Is this the Baidu Netdisk authorization code? The login process will be executed after confirmation." After confirmation, execute (do not use , keep the security confirmation link).
bash ${CLAUDE_SKILL_DIR}/scripts/login.sh--yes管理功能
Management Functions
安装
Installation
bash
bash ${CLAUDE_SKILL_DIR}/scripts/install.sh [--yes]安装器从百度 CDN()下载并执行。注意:install.sh 不执行本地 SHA256 校验,完整性依赖 HTTPS 传输保护。安全敏感场景建议先手动审查安装器内容或在沙箱中执行。
issuecdn.baidupcs.combash
bash ${CLAUDE_SKILL_DIR}/scripts/install.sh [--yes]The installer downloads and executes from Baidu CDN (). Note: install.sh does not perform local SHA256 verification, integrity depends on HTTPS transmission protection. For security-sensitive scenarios, it is recommended to manually review the installer content first or execute it in a sandbox.
issuecdn.baidupcs.com登录 / 注销 / 卸载
Login / Logout / Uninstall
bash
bash ${CLAUDE_SKILL_DIR}/scripts/login.sh # 登录(内置安全免责声明)
bdpan logout # 注销
bash ${CLAUDE_SKILL_DIR}/scripts/uninstall.sh [--yes] # 卸载bash
bash ${CLAUDE_SKILL_DIR}/scripts/login.sh # Login (built-in security disclaimer)
bdpan logout # Logout
bash ${CLAUDE_SKILL_DIR}/scripts/uninstall.sh [--yes] # Uninstall更新(必须用户明确指令触发)
Update (must be triggered by explicit user instruction)
bash
bash ${CLAUDE_SKILL_DIR}/scripts/update.sh # 检查并更新(需用户确认)
bash ${CLAUDE_SKILL_DIR}/scripts/update.sh --check # 仅检查更新bash
bash ${CLAUDE_SKILL_DIR}/scripts/update.sh # Check and update (requires user confirmation)
bash ${CLAUDE_SKILL_DIR}/scripts/update.sh --check # Only check for updates参考文档
Reference Documentation
遇到对应问题时按需查阅,无需预加载:
| 文档 | 何时查阅 |
|---|---|
| bdpan-commands.md | 需要完整命令参数、选项、JSON 输出格式 |
| authentication.md | 认证流程细节、Token 管理 |
| examples.md | 更多使用示例(批量上传、自动备份等) |
| troubleshooting.md | 遇到错误需要排查 |
Consult as needed when encountering corresponding problems, no preloading required:
| Document | When to consult |
|---|---|
| bdpan-commands.md | Need complete command parameters, options, JSON output format |
| authentication.md | Authentication process details, Token management |
| examples.md | More usage examples (batch upload, automatic backup, etc.) |
| troubleshooting.md | Encounter errors and need troubleshooting |