360disk CLI Skill
CLI Skill 是把用户意图映射为 360disk 命令执行的 Skill 模型。
适用于需要 Shell 能力的 Agent 场景:
- Claude Code
- Cursor
- OpenCode
- 本地自动化 Agent / CI Runner
模型特点
- 直接执行 CLI 命令,无额外协议转换层
- 输出结构化 JSON,适合 Agent 程序化消费
- 支持管道和批量处理(
--quiet、jq、--batch) - 与 MCP Server 共享同一 Service 层,语义一致
执行入口(推荐)
# 热更新(默认)
DISK_360_CLI='npx -y -p @aicloud360/mcp-server-disk@latest 360disk'
# 可复现(CI/回归)
# DISK_360_CLI='npx -y -p @aicloud360/mcp-server-disk@0.8.6 360disk'
$DISK_360_CLI auth login --api-key <YOUR_API_KEY>
鉴权优先级:--api-key > API_KEY > ~/.360disk/config.json
意图与命令映射
| 用户意图 | 推荐命令模板 |
|---|---|
| 列目录 | $DISK_360_CLI dir ls [path] |
| 新建目录 | $DISK_360_CLI dir mkdir <path> |
| 搜索文件 | $DISK_360_CLI file search <keyword> |
| 上传文件 | $DISK_360_CLI file upload <files> --dest <path> |
| 下载文件 | $DISK_360_CLI file download <nid> --dir <path> |
| 移动文件 | $DISK_360_CLI file mv <src> <dest> |
| 重命名 | $DISK_360_CLI file rename <path> <new_name> |
| 删除文件 | $DISK_360_CLI file rm <path> |
| 分享文件 | $DISK_360_CLI file share <paths> |
| 获取下载链接 | $DISK_360_CLI file url <path> [--nid <nid>] |
| 保存 URL/文本到云盘 | $DISK_360_CLI file save --url/--content/--stdin |
| 读写云盘配置文件(INI/JSON/YAML) | $DISK_360_CLI file config --path <path> --command <config:*> --type <type>(type:ini / json / yaml / yml,详见 命令参考) |
| 检测目录下是否存在同名文件(上传前预检) | $DISK_360_CLI file exists --path <path> --files <json> 或 --stdin(详见 命令参考) |
| 获取用户信息 | $DISK_360_CLI user info |
| 查看鉴权状态 | $DISK_360_CLI auth whoami |
常用模式
1) 结果直出(给模型解析)
$DISK_360_CLI --quiet dir ls /工作目录/ | jq '.data.list[] | {name, nid, size: .count_size}'
2) 搜索后下载
NID=$($DISK_360_CLI --quiet file search "月报" | jq -r '.data.list[0].nid')
$DISK_360_CLI file download "$NID" --dir ./output
3) 管道保存内容到云盘
echo "# Agent 生成内容" | $DISK_360_CLI file save --stdin --dest /AI报告/ --filename report.md
4) 批量删除
cat paths.txt | $DISK_360_CLI file rm _ --batch
5) 将本地配置写入云盘(stdin)
# macOS / Linux
cat local-config.json | $DISK_360_CLI file config --path /mcp/app.json --command config:write --type json --stdin
Windows 下 cmd 无 cat,请改用:
type local-config.json | $DISK_360_CLI file config --path /mcp/app.json --command config:write --type json --stdin
PowerShell:
Get-Content .\local-config.json -Raw | $DISK_360_CLI file config --path /mcp/app.json --command config:write --type json --stdin
更多说明见 CLI 命令参考:file config。
6) 检测同名文件(file exists,注意 Windows 引号)
# macOS / Linux
$DISK_360_CLI file exists --path /目录/ --files '[{"fname":"a.txt","fsize":123}]'
Windows cmd 不要用单引号包 JSON,请使用双引号并对内部 " 转义:
$DISK_360_CLI file exists --path /目录/ --files "[{\"fname\":\"a.txt\",\"fsize\":123}]"
PowerShell 可用单引号整段包裹(一般无需 \"):
$DISK_360_CLI file exists --path /目录/ --files '[{"fname":"a.txt","fsize":123}]'
长 JSON 建议 --stdin:Windows cmd 不要照搬 bash 的 echo '[...]' | ... --stdin(会得到非法 JSON),应把 UTF-8 JSON 存文件后用 type files.json | ... 或 PowerShell Get-Content -Raw -Encoding utf8 | ...。详见 CLI 命令参考:file exists 与 Windows 速查。
规则与约束
- 云盘路径必须以
/开头。 - 目录路径建议以
/结尾。 - 多路径批量参数使用
|分隔。 - 全局参数应放在子命令前(如
$DISK_360_CLI --quiet dir ls /)。
错误码(脚本可编排)
| 退出码 | 含义 |
|---|---|
0 | 成功 |
2 | 参数错误 |
3 | 鉴权错误 |
4 | 资源不存在 |
6 | 网络错误/超时 |
8 | 服务端错误 |
10 | 配额超限 |
推荐恢复动作:
3(鉴权错误):执行auth whoami/auth login后重试4(资源不存在):先用dir ls或file search校验路径6(网络错误):增加--retries 2 --timeout 60000重试