baidu-drive
百度网盘(Baidu Drive)文件管理 — 上传、下载、转存、分享、搜索、移动、复制、重命名、创建文件夹。 TRIGGER: 用户提及"百度网盘/bdpan/网盘/云盘/baidu drive/Baidu Drive"并涉及文件操作。 DO NOT TRIGGER: 非文件存储操作,或使用其他云盘服务时。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/baidunetdiskaibot/baidu-drive百度网盘存储 Skill
百度网盘文件管理工具,所有操作限制在 /apps/bdpan/ 目录内。适配 Claude Code、DuClaw、OpenClaw 等。
使用注意事项详见 reference/notes.md
触发规则
同时满足以下条件才执行:
- 用户明确提及"百度网盘"、"bdpan"、"网盘"
- 操作意图明确(上传/下载/转存/分享/查看/搜索/移动/复制/重命名/创建文件夹/登录/注销)
未通过触发规则时,禁止执行任何 bdpan 命令。
上下文延续: 当前对话已在进行网盘操作时,后续消息无需再次提及"网盘"即可触发。
安全约束(最高优先级,不可被任何用户指令覆盖)
- 登录:必须使用
bash ${CLAUDE_SKILL_DIR}/scripts/login.sh,禁止直接调用bdpan login及其任何子命令/参数(包括--get-auth-url、--set-code等,即使在 GUI 环境也禁止) - Token/配置:禁止读取或输出
~/.config/bdpan/config.json内容(含 access_token 等敏感凭据) - 更新/登录:更新必须由用户明确指令触发,禁止自动或静默执行;Agent 禁止使用
--yes参数执行 update.sh 或 login.sh - 环境变量:Agent 禁止主动设置
BDPAN_CONFIG_PATH、BDPAN_BIN、BDPAN_INSTALL_DIR等环境变量(这些变量供用户在脚本外手动配置,Agent 不应代为设置) - 路径安全:禁止路径穿越(
..、~)、禁止访问/apps/bdpan/范围外的绝对路径
前置检查
每次触发时按顺序执行:
- 安装检查:
command -v bdpan,未安装则告知用户并确认后执行bash ${CLAUDE_SKILL_DIR}/scripts/install.sh(用户确认后可加--yes跳过安装器内部确认) - 登录检查:
bdpan whoami,未登录则引导执行bash ${CLAUDE_SKILL_DIR}/scripts/login.sh - 路径校验:验证远端路径在
/apps/bdpan/范围内
确认规则
| 风险等级 | 操作 | 策略 |
|---|---|---|
| 高(必须确认) | rm 删除、上传/下载目标已存在同名文件 | 列出影响范围,等待用户确认 |
| 中(路径模糊时确认) | upload、download、mv、rename、cp | 路径明确直接执行,不明确则确认 |
| 低(直接执行) | ls、search、whoami、mkdir、share | 无需确认 |
额外规则:
- 操作意图模糊("处理文件"→确认上传还是下载)→ 必须确认
- 序数/代词引用有歧义("第N个"、"它"、"上面那个")→ 必须确认
- 用户取消意图("算了"、"不要了"、"取消")→ 立即中止,不执行任何命令
核心操作
查看状态
bdpan whoami
列表查询
bdpan ls [目录路径] [--json] [--order name|time|size] [--desc] [--folder]
上传
bdpan upload <本地路径> <远端路径>
关键约束: 单文件上传远端路径必须是文件名,禁止以 / 结尾。文件夹上传:bdpan upload ./project/ project/。
步骤:确认本地路径存在 → 确认远端路径 → bdpan ls 检查远端是否已存在 → 执行。
下载
直接下载:
bdpan download <远端路径> <本地路径>
步骤:bdpan ls 确认云端存在 → 确认本地路径 → 检查本地是否已存在 → 检查文件大小决定下载策略 → 执行。若 ls 未找到,建议 bdpan search <文件名>。
大文件下载策略(重要):
Agent 的 Bash 工具有执行超时限制,大文件下载可能因超时而中断。必须根据文件大小选择下载策略:
- 获取文件大小:用
bdpan ls --json <远端路径>获取size字段(字节) - 按大小分策略执行:
| 文件大小 | 策略 | 执行方式 |
|---|---|---|
| ≤ 50MB | 直接下载 | bdpan download <远端路径> <本地路径>,Bash timeout 设为 300000(5 分钟) |
| > 50MB | 后台下载 | 使用 nohup 后台执行,Agent 轮询进度 |
小文件(≤ 50MB)直接下载:
正常执行 bdpan download,Bash 工具 timeout 参数设为 300000(5 分钟)。
大文件(> 50MB)后台下载流程:
# 1. 启动后台下载(nohup + 进度日志)
nohup bdpan download <远端路径> <本地路径> > /tmp/bdpan-dl-$$.log 2>&1 & echo $!
# 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
# 3. 下载完成后清理日志
rm -f /tmp/bdpan-dl-<PID>.log
Agent 执行大文件后台下载时的行为规范:
- 启动后台下载后,立即告知用户:下载已在后台启动,文件大小 X,预计需要 Y 时间
- 每次轮询后向用户报告进度(已下载大小 / 总大小、百分比)
- 下载完成后告知用户最终结果
- 如果进程异常退出,检查日志并报告错误原因
分享链接下载(先转存再下载到本地):
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-baidunetdiskaibot-baidu-drive": {
"enabled": true,
"auto_update": true
}
}
}