← 返回
未分类

Skill Dependency Resolver

Automatically detects and resolves conflicting Python package versions across multiple skill requirements.txt files, generating a merged, conflict-free requi...
自动检测并解决多个技能 requirements.txt 文件中冲突的 Python 包版本,生成合并后无冲突的需求文件。
utopiabenben utopiabenben 来源
未分类 clawhub v0.1.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 315
下载
💾 1
安装
1
版本
#dependency#devops#installation#latest#quality

概述

Skill Dependency Resolver

自动检测并解决技能间的 Python 依赖冲突

描述

当安装多个 OpenClaw 技能时,不同技能可能依赖不同版本的 Python 包(如 pandas、numpy),导致冲突和安装失败。本技能自动扫描所有技能的 requirements.txt,检测版本冲突,并提供自动解决策略,生成统一的 requirements-merged.txt 供一键安装。

使用场景

  • 用户安装多个技能后出现 pip install 版本冲突错误
  • 技能开发者希望确保自己的技能与其他技能兼容
  • 系统管理员需要批量部署技能到多台机器
  • 希望自动化依赖管理,减少手动调试时间

功能清单

  • ✅ 扫描指定技能目录下的所有 requirements.txt
  • ✅ 解析包名和版本规范(>=, <=, ~=, ==, !=)
  • ✅ 检测同一包的不同版本要求
  • ✅ 提供自动解决策略(选择最高版本或最低版本)
  • ✅ 支持手动模式,列出冲突供用户选择
  • ✅ 生成合并后的 requirements.txt
  • ✅ 输出简洁的分析报告(JSON 格式)
  • ✅ 零外部依赖,纯 Python 标准库实现

输入参数

参数类型必填默认值说明
--------------------------------
skills_dirstring~/.openclaw/workspace/skills技能目录路径,递归搜索所有子目录的 requirements.txt
output_filestring./requirements-merged.txt输出的合并后 requirements 文件路径
strategystringauto冲突解决策略:auto(自动选最高版本),manual(列出冲突等待用户选择)

输出

  • report (object): 依赖分析报告
  • total_skills (int): 扫描的技能数量
  • conflicts_count (int): 检测到的冲突数量
  • solutions (array): 每个冲突的解决方案(包名、冲突版本、选定版本、策略)
  • output_path (string): 生成的 merged requirements 文件路径
  • summary (string): 简要总结

示例

基本扫描(自动解决)

skill-dependency-resolver skills_dir="./skills" output_file="requirements.txt"

手动模式(列出冲突供选择)

skill-dependency-resolver strategy="manual"

扫描并生成报告

skill-dependency-resolver output_file="/tmp/merged.txt" | jq '.conflicts_count'

技术细节

  • 扫描机制:使用 os.walk 递归查找 requirements.txt,跳过 tests/node_modules/
  • 解析器:使用正则表达式解析包名和版本规范,支持 pkg>=1.0,<=2.0 格式
  • 冲突检测:收集每个包的所有版本范围,检查是否存在不可交集的区间
  • 解决算法
  • auto:取所有版本上限中的最小值(保守)或下限中的最大值(激进,当前使用:选最高版本)
  • manual:输出冲突详情供用户决策
  • 输出生成:将选定版本写入新 requirements 文件,保留原始注释(如有)

限制

  • 仅支持 Python requirements.txt 格式,不支持 Pipfilepyproject.toml
  • 版本规范解析基于正则,可能无法覆盖所有复杂情况(如环境标记 ; python_version < "3.8"
  • 不执行实际的 pip install,仅生成合并后的文件

未来增强

  • 支持 pyproject.tomlPipfile
  • 检测并建议虚拟环境(避免全局冲突)
  • 集成到 clawhub install 流程,自动预处理依赖
  • 提供冲突解决的历史记录和回滚

相关技能

  • skill-composer:工作流编排,可调用本技能预处理依赖
  • skill-secure-checker:安全扫描,确保合并后的 requirements 无恶意包
  • workspace-heartbeat-integration:定期扫描依赖,保持系统健康

作者:小叮当

标签:devops, dependency, installation, quality

许可证:MIT

版本历史

共 1 个版本

  • v0.1.0 当前
    2026-05-07 11:18 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

content-creation

Social Publisher

utopiabenben
多平台内容发布工具 - 自动将 Markdown 转换为微信公众号/小红书/知乎/抖音格式,支持预览和发布
★ 1 📥 1,380
dev-programming

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 78 📥 182,585
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 197 📥 68,007