Skill Dependencies

🕸️ 智能技能依赖管理与自动解析

OpenClaw 技能依赖管理工具,支持语义化版本约束、依赖树可视化、循环依赖检测及自动解析安装,类似 npm 的包管理模式。

收藏
9.6k
安装
2.4k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

skill-deps 是 OpenClaw 生态的依赖管理系统,提供从声明到安装的全链路工具链:

1. 依赖声明:在 SKILL.md frontmatter 或 skill.json 中通过 depends(必需)、optional(增强)、conflicts(互斥)三类字段声明关系
2. 版本控制:完整支持 Semver 语义——>=(最低版本)、^(兼容主版本)、~(兼容次版本)、*(任意版本)、精确版本号

3. 扫描分析scan-skills.sh 遍历三级目录(系统内置 /usr/lib/node_modules/openclaw/skills/、用户级 ~/.openclaw/workspace/skills/、项目本地 ./skills/)生成依赖图谱

4. 可视化skill-tree.sh 输出 ASCII 树形结构,清晰标注 required/optional 依赖层级

5. 冲突解决check-conflicts.sh 检测声明互斥,skill-install.sh 自动解析依赖链并执行版本协商

显著优点

  • 生态兼容性:借鉴 npm 成熟范式,降低开发者心智负担
  • 自动化闭环:从发现缺失依赖到自动安装、版本协商、冲突检测一键完成
  • 三级隔离:系统/用户/项目三级目录设计,兼顾全局共享与项目隔离
  • 语义化版本:完整 Semver 支持,避免版本地狱
  • 可选依赖优化optional 字段允许功能降级而非硬失败,提升容错性

潜在缺点与局限性

  • 中心化风险ClawHub 作为唯一官方 registry,存在单点故障与审查可能
  • 循环依赖盲区:文档提及检测但未展示具体处理策略(自动中断?提示人工介入?)
  • 跨技能状态共享optional 依赖的"增强功能"实现细节未明,可能隐含隐式耦合
  • 权限边界模糊:系统级 /usr/lib/ 与用户级安装需 root 权限,脚本未体现权限校验逻辑
  • 版本锁定缺失:未见 skill-lock.json 机制,多环境一致性依赖人工维护

适合人群

  • 管理 5+ 技能的中重度 OpenClaw 用户
  • 需要构建技能链的自动化工作流开发者
  • 维护内部技能 registry 的企业管理员

常规风险

| 风险类型 | 说明 |
|---------|------|
| 供应链攻击 | `ClawHub` registry 被篡改可导致恶意技能自动安装 |
| 版本冲突升级 | 自动解析可能选择破坏性更新版本(`^` 约束下主版本变更) |
| 权限提升 | 安装脚本需 sudo 时若未校验签名可成为本地提权通道 |
| 循环依赖死锁 | 复杂依赖网中循环未妥善处理可能导致无限递归或静默失败 |

Skill Dependencies 内容

scripts文件夹
手动下载zip · 9.8 kB
check-conflicts.shtext/x-shellscript
请选择文件