OpenList 命令行管理工具
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_5c85a23c/openlist。
技能介绍
要解决的问题
OpenList 的服务端 API 契约分散、易变:路径拼接、Token 校验、分页字段、跨驱动异步任务等细节,靠记忆拼接请求很容易在真实服务端上踩坑。直接手写 HTTP 调用还需要自己维护认证、分页和错误处理逻辑,调试成本高。openlist 技能的做法是把自然语言操作翻译成 openlist-cli 命令,由 CLI 去对接经真实服务端核验的 API 契约,而不是让模型凭印象造请求。
核心能力与工作方式
技能覆盖五类操作,全部通过命令分组驱动:
- 认证:
auth login/logout/status,配置优先级为CLI 选项 > 环境变量 > 配置文件;授权默认走终端交互式流程,由用户在提示中填写服务地址与 Token。 - 文件管理:
fs下的list/get/search浏览,mkdir/rename/move/copy/remove增改删,put/form上传,另有batch-rename、regex-rename、recursive-move等批量整理命令,以及archive-meta/list/decompress处理压缩包。 - 分享管理:
share的create/update/delete/enable/disable,创建或更新时用--path,可选--password与--expires。 - 当前用户:
me get查看身份信息。 - 后台管理:
admin按资源分子命令树——user、storage、meta、setting、driver、index,增删改用--file或--data传 JSON。
典型流程是:识别意图(如「列出目录 X」→ fs list X)→ 检查认证 → 执行命令 → 解析结构化输出。所有命令输出统一为 { success, operation, data } 或 { success:false, message, code },加 --pretty 可美化。列表命令的分页信息在 pagination 字段中,page < totalPages 时提示用户是否继续拉取,而不是自动拉全量。不确定参数时一律先查 openlist-cli <command> --help。
适用边界与注意点
- 跨驱动 copy/move/解压是异步任务:返回
task后必须轮询目标目录确认落地,不能假设立即完成。 - 破坏性操作先确认:
fs remove、fs move(覆盖)、share delete、admin */delete、admin storage disable、admin setting delete/reset-token、admin index build/clear等执行前需要用户明确同意。 - 创建存储需二次确认:驱动值取自
admin driver names,表单字段取自admin driver info,参数凑齐后创建前再确认一次。 - Token 不回显:不写入对话、日志或文件;服务地址缺失时引导用户配置,不编造。
- 非交互环境(管道、脚本、CI)需显式提供
--base-url,避免命令阻塞等待输入。 fs archive-decompress的目标目录必须预先存在;遇到illegal file path: .通常是压缩包含.顶层条目的服务端限制,并非 CLI 问题。
使用场景
- 整理共享盘目录,用批量重命名把日志归档到指定文件夹。
- 给外部协作方创建带密码和过期时间的分享链接,并验证提取码。
- 排查跨驱动复制失败问题,通过轮询目标目录确认异步任务落地。
- 清理长期空目录和过期分享,先列出清单再批量删除并二次确认。
适合人员
- 自建 OpenList 服务运维工程师,需要可靠地批量重命名和清理海量文件。
- 团队网盘权限管理员,经常需要给外部客户创建带密码和有效期的分享链接。
- 编写自动化脚本的后端开发者,希望通过 CLI 命令而非手写 HTTP 请求管理存储。
- 多存储后端系统管理员,需要按驱动模板添加 storage 并核对复杂的表单字段。