核心用法
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 时若未校验签名可成为本地提权通道 |
| 循环依赖死锁 | 复杂依赖网中循环未妥善处理可能导致无限递归或静默失败 |