改造 cocoloop 安装流程以适配平台 Skills API。

将 OpenClaw 场景下的 fallback 从命令行安装调整为 /admin/api/skills 路由优先,避免依赖 run_command 与外部命令环境。

Made-with: Cursor
This commit is contained in:
oliver 2026-04-29 21:00:12 +08:00
parent 5f68afa963
commit 1ebfa47dd3
2 changed files with 16 additions and 11 deletions

View file

@ -70,11 +70,15 @@ Cocoloop 是一个安全优先的 Skill 管理器,提供比 clawhub 更智能
```
- 如果找到结果 → 展示列表,询问用户选择
**步骤 2: Fallback 到 clawhub(API 失败时)**
**步骤 2: Fallback 到平台 Skills API 安装(API 失败时)**
- 执行 `npx clawhub@latest install <skill_name>`
- 如果成功 → 完成安装
- 如果失败 → 进入步骤 3
- 不要依赖 `run_command` 执行外部安装命令(如 `npx clawhub ...`)。
- 优先调用平台内置 Skills API:
- 通过 registry 安装:`POST /admin/api/skills/install-registry`
- 通过 market 安装:`POST /admin/api/skills/market/install`
- 本地目录安装:`POST /admin/api/skills/install`
- 如果 API 安装成功 → 完成安装
- 如果 API 安装失败 → 进入步骤 3
**步骤 3: Fallback 到 GitHub 搜索**
@ -250,3 +254,4 @@ Skill 代码(第 0 层)
- 每个 skill 独立处理,一个失败不影响其他
- 询问用户请使用当前平台下的询问命令,例如 Claude Code 下的 `AskUserQuestion`
- 在 OpenClaw 环境中,安装与卸载优先使用 `/admin/api/skills/*` 路由,不要假设可用 shell 安装命令。

View file

@ -21,7 +21,7 @@
成功? ──是──→ 展示结果 ──→ 用户确认 ──→ 下载安装 ──→ 完成
│ │否
│ ↓
│ clawhub install
│ Skills API install
│ │
成功? ──是──→ 完成
│ │否
@ -44,22 +44,22 @@
```
IF 环境变量 OPENCLAW_HOME 存在 或 /usr/local/openclaw 存在:
平台 = OpenClaw
安装命令 = "openclaw skills install"
安装方式 = "POST /admin/api/skills/install 或 /admin/api/skills/install-registry"
安装目录 = ~/.openclaw/skills/
ELSE IF 环境变量 MOLILI_HOME 存在 或 /usr/local/molili 存在:
平台 = Molili
安装命令 = "molili skills install"
安装方式 = "molili skills install"
安装目录 = ~/.molili/skills/
ELSE IF 环境变量 CLAUDE_CODE_HOME 存在 或 /usr/local/claude-code 存在:
平台 = Claude Code
安装命令 = "claude skills install"
安装方式 = "claude skills install"
安装目录 = ~/.claude/skills/
ELSE:
平台 = 通用 (clawhub fallback)
安装命令 = "npx clawhub@latest install"
安装方式 = "优先平台 Skills API,必要时再提示人工执行命令"
安装目录 = ~/.claude/skills/ (或 clawhub 默认目录)
```
@ -85,7 +85,7 @@ ELSE:
4. **执行平台安装命令**
```bash
{platform.installCmd} /tmp/cocoloop-{timestamp}.skill
OpenClaw: 调用 /admin/api/skills/install(source_dir 或 archive_url)
```
5. **清理与返回**
@ -136,7 +136,7 @@ GET https://api.cocoloop.cn/search={encoded_query}
执行:
```bash
npx clawhub@latest install {skill_name}
POST /admin/api/skills/market/install { "slug": "{skill_name}" }
```
处理: