Skill Pilot

👤 namechenxinyu 📦 v0.4.6 ⭐ 4.4 ⬇️ 935 下载
🤖 AI-Agent 免费

📖 技能介绍


name: skill-pilot version: 0.4.6 description: > Adaptive skill scheduling engine with environment-aware routing, user preferences, and self-learning optimization. Use when: (1) auto-select best skill for task, (2) need environment-aware configuration, (3) want to learn from execution history, (4) need observability and performance insights. required_env: - TAVILY_API_KEY (optional, for tavily-search skill) - BRAVE_API_KEY (optional, for brave-search skill) - HTTP_PROXY (optional, for proxy configuration) optional_env: - OPENCLAW_GATEWAY_URL (custom gateway endpoint) - OPENCLAW_TOKEN (custom auth token) security_notes: - Reads workspace files under ~/.openclaw/workspace/skills/ - Writes config/cache/history to ~/.openclaw/workspace/skills/skill-pilot/ - Probes network (DNS, latency, proxy detection) for environment optimization - Executes other skill scripts with input validation and timeout protection - Does NOT exfiltrate secrets; environment variables only passed to child processes


SkillPilot - 智能技能调度引擎

"自适应技能调度,零侵入优化,让每个人都能适配最优执行链路"

版本: 0.4.6
定位: 通用技能调度优化框架
核心原则: 零侵入 · 自适应 · 可观测 · 可移植
新增功能: 双模式支持 + 安全修复 + 纯调度器重构


🎯 产品愿景

让 SkillPilot 成为通用的技能调度优化框架,帮助每个人根据自己的环境适配最优执行链路。

  • 零侵入: 不修改其他技能,即插即用
  • 自适应: 自动学习环境特点和用户偏好
  • 可观测: 调度决策透明,性能数据可视
  • 可移植: 配置可导出/导入,策略可分享
  • 双模式: 默认模式快速执行,全量模式对比优化

🚀 双模式说明

默认模式 (default) - 自动触发

触发条件: 输入内容不包含"全量"、"full"、"对比"等关键词

特点: 快速执行,使用默认工具,简洁输出

用户输入:伊朗最新战况
输出:直接显示结果 + 来源

行为: - 使用预设的默认工具 - 单次执行,快速返回 - 直接输出查询结果和来源 - 记录执行表现用于后续优化


全量模式 (full) - 手动触发

触发条件: 输入内容包含"全量"、"full"、"对比"等关键词,或显式指定 mode="full"

特点: 对比优化,自动选择最优

用户输入:SkillPilot 全量模式 伊朗最新战况
输出:工具对比报告 + 最佳结果 + 自动优化

行为: 1. 使用该类别所有工具并行执行 2. 对比所有工具的结果 3. 评估结果质量(内容长度、信息密度等) 4. 自动将表现最好的工具设置为新的默认工具 5. 返回详细对比报告

适用场景: - 重要任务,需要确保最佳结果 - 新环境,需要探索最优工具 - 定期运行,持续优化默认选择


模式对比

维度 默认模式 全量模式
触发 自动(无关键词) 手动(含关键词)
执行工具 1 个(默认) N 个(所有同类)
执行速度 较慢
输出 简洁(结果 + 来源) 详细(对比报告)
自动优化
适用场景 日常查询 重要任务/探索优化

🏗️ 架构设计

┌─────────────────────────────────────────────────────────┐
│                    SkillPilot Core                       │
├─────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐     │
│  │ 环境探测层   │  │ 用户偏好层   │  │ 历史学习层   │     │
│  │ Environment │  │ Preference  │  │  Learning   │     │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘     │
│         └────────────────┼────────────────┘             │
│                          ▼                              │
│  ┌─────────────────────────────────────────────────┐   │
│  │         自适应路由决策引擎 (核心)                 │   │
│  └─────────────────────────────────────────────────┘   │
│         │                │                │             │
│         ▼                ▼                ▼             │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐     │
│  │ 技能注册中心 │  │ 降级处理器   │  │ 可观测性     │     │
│  └─────────────┘  └─────────────┘  └─────────────┘     │
└─────────────────────────────────────────────────────────┘

📦 核心模块

1. 环境探测 (environment.py)

功能: 自动检测网络特性和技能可用性

from scripts.environment import EnvironmentProbe

probe = EnvironmentProbe()
result = probe.probe_all(['multi-search-engine', 'exa-web-search-free'])

# 输出:
# - 区域:cn
# - 代理:否
# - 推荐配置:cn-no-proxy

预设配置模板: | 模板 | 适用场景 | |------|----------| | cn-no-proxy | 中国大陆无代理环境 | | cn-with-proxy | 中国大陆有代理环境 | | global | 海外环境 |

使用:

# 环境探测
python scripts/environment.py

# 查看推荐配置
python -c "from scripts.environment import EnvironmentProbe; p=EnvironmentProbe(); print(p.get_optimal_profile())"

2. 用户偏好 (preference.py)

功能: 让用户定义优化目标和约束条件

from scripts.preference import UserPreference

pref = UserPreference()
pref.optimization_goal = 'speed'  # speed | cost | quality | balanced
pref.budget_limit = 'free'
pref.save()

预设模式: | 模式 | 说明 | |------|------| | speed | 极速模式,优先选择响应最快的技能 | | cost | 经济模式,优先选择免费/低成本技能 | | quality | 质量优先,优先选择质量最高的技能 | | balanced | 平衡模式,速度/成本/质量平衡 | | cn-optimized | 国内优化,针对中国大陆网络环境 | | global-optimized | 全球优化,针对海外网络环境 |

使用:

# 初始化配置 (选择模板)
python scripts/preference.py init balanced

# 查看当前配置
python scripts/preference.py show

# 查看模板
python scripts/preference.py template speed

3. 历史学习 (learning.py)

功能: 从历史执行记录中学习最优调度策略

from scripts.learning import ExecutionHistory

history = ExecutionHistory()

# 分析某类别的最优技能
pattern = history.analyze_pattern('search')
print(f"最优技能:{pattern['best_skill']}")
print(f"成功率:{pattern['success_rate']*100:.1f}%")

# 学习所有模式
patterns = history.learn_patterns()

学习维度: - 按类别 (search/fetch/summarize) - 按环境 (cn/global) - 按技能表现 (成功率/响应时间)

使用:

# 查看统计
python scripts/learning.py stats

# 分析某类别
python scripts/learning.py analyze search

# 运行学习算法
python scripts/learning.py learn

# 获取推荐
python scripts/learning.py recommend search

4. 可观测性 (observability.py)

功能: 提供调度看板、性能报告和诊断工具

from scripts.observability import SchedulerDashboard

dashboard = SchedulerDashboard(history=history, environment=environment)

# 生成报告
report = dashboard.generate_report('text')
print(report)

# 保存报告
filepath = dashboard.save_report('markdown')

报告内容: - 环境配置状态 - 技能表现统计 - 学习成果展示 - 优化建议

使用:

# 生成文本报告
python scripts/observability.py report

# 生成 Markdown 报告
python scripts/observability.py report markdown

# 保存报告
python scripts/observability.py save

# 查看技能健康状态
python scripts/observability.py health

🚀 快速开始

步骤 1: 环境探测 (1 分钟)

cd skills/skill-pilot
python scripts/environment.py

输出示例:

🔍 开始环境探测...
  → 探测网络环境...
  → 探测 3 个技能可用性...
  ✓ 推荐配置:cn-no-proxy

步骤 2: 设置用户偏好 (1 分钟)

# 使用平衡模式模板
python scripts/preference.py init balanced

步骤 3: 开始使用

SkillPilot 会自动: - 根据环境选择最优配置 - 根据偏好调整路由权重 - 记录执行历史 - 学习优化模式

步骤 4: 查看报告 (可选)

# 每周查看一次
python scripts/observability.py report

📊 调度策略模板

中文搜索优化 (strategies/search-cn.yaml)

name: search-cn-optimized
applicable_when:
  category: search
  query_contains_chinese: true

routing:
  primary:
    - skill: multi-search-engine
      engines: [baidu, sogou, wechat]
  fallback:
    - skill: exa-web-search-free
    - skill: tavily-search

技术搜索优化 (strategies/search-technical.yaml)

name: search-technical-optimized
applicable_when:
  category: search
  is_technical_query: true

routing:
  primary:
    - skill: exa-web-search-free
      filters: [github, stackoverflow]
  fallback:
    - skill: multi-search-engine

反爬网站抓取 (strategies/fetch-anti-bot.yaml)

name: fetch-anti-bot-optimized
applicable_when:
  category: fetch
  is_anti_bot_url: true

routing:
  primary:
    - skill: scrapling-fetch
  fallback:
    - skill: web_fetch

🔧 配置说明

用户偏好配置 (config/preference.yaml)

# 优化目标
optimization_goal: balanced  # speed | cost | quality | balanced

# 预算限制
budget_limit: free  # free | low | medium | high

# 最低质量要求
quality_threshold: 0.7  # 0-1

# 超时时间
timeout_preference: 30  # 秒

# 区域偏好
region_preference: no-preference  # cn | global | no-preference

# 高级选项
advanced:
  allow_parallel: false
  max_fallback_depth: 3
  cache_enabled: true
  cache_ttl: 300

环境配置 (profiles/*.yaml)

profiles/ 目录下的模板文件。

发现更多技能插件,请访问7w4.net。


📈 可观测性

调度报告

┌─────────────────────────────────────────────────────────┐
│              SkillPilot 调度报告                         │
├─────────────────────────────────────────────────────────┤
│ 生成时间:2026-03-17 07:00:00                           │
├─────────────────────────────────────────────────────────┤
│ 【环境配置】                                            │
│   区域:cn                                              │
│   代理:否                                              │
│   推荐配置:cn-no-proxy                                 │
├─────────────────────────────────────────────────────────┤
│ 【技能表现】                                            │
│   追踪技能数:15                                        │
│   总调用次数:150                                       │
│   总体成功率:92.0%                                     │
├─────────────────────────────────────────────────────────┤
│ 【学习成果】                                            │
│   已学习模式:3 个                                       │
│   最后学习:2026-03-17 06:00                            │
├─────────────────────────────────────────────────────────┤
│ 【优化建议】                                            │
│   1. 执行环境探测以获取最优配置建议                     │
│   2. 调用样本较少,继续使用以积累学习数据               │
└─────────────────────────────────────────────────────────┘

技能健康状态

技能健康状态
==================================================
multi-search-engine   ████████░░ 85 分 (成功率 92%, 响应 1200ms)
exa-web-search-free   ███████░░░ 72 分 (成功率 88%, 响应 800ms)
scrapling-fetch       ████████░░ 88 分 (成功率 95%, 响应 2000ms)

📚 参考资料

核心文档

  • references/capability-taxonomy.md - 能力分类体系
  • references/micro-routing-examples.md - 微路由示例
  • references/reminder-policy.md - 静默策略
  • references/resolution-order.md - 解决顺序

新增文档

  • references/environment-probe.md - 环境探测指南 (待创建)
  • references/strategy-guide.md - 策略选择指南 (待创建)

🎯 核心价值

用户类型 获得价值
个人用户 自动适配自己的网络环境,无需手动配置
团队共享 分享最优调度策略,新人快速上手
技能开发者 了解技能实际表现,针对性优化
高级用户 深度定制调度逻辑,极致优化

📝 更新日志

v0.2.0 (2026-03-17) - 自适应优化版

  • ✅ 新增环境探测模块
  • ✅ 新增用户偏好模块
  • ✅ 新增历史学习模块
  • ✅ 新增可观测性模块
  • ✅ 新增调度策略模板
  • ✅ 新增配置管理

v0.1.0 (2026-03-17) - 基础版

  • ✅ 核心框架实现
  • ✅ 技能注册中心
  • ✅ 路由决策器
  • ✅ 降级处理器
  • ✅ 执行引擎
  • ✅ 基础指标收集

🤝 贡献指南

添加新策略模板

  1. strategies/ 目录创建 YAML 文件
  2. 定义适用条件和路由规则
  3. 测试策略效果
  4. 提交 PR

分享配置模板

  1. profiles/ 目录创建环境配置
  2. 说明适用场景
  3. 分享社区

作者:JARVIS
许可:MIT
最后更新:2026-03-17

🤖 AI 评测

这个 Skill 整体质量较好,核心功能实用且运行稳定。它能自动检测网络环境并选择最合适的搜索工具,支持快速模式和详细对比两种使用方式,还有失败自动切换的保障机制。文档说明详细,对普通用户很友好。不过版本号标注有点混乱,部分界面的细节打磨还有提升空间。总体来说,这是一个值得信赖的调度优化工具。

📊 多维度评分

适应性4.3
规范性4.3
有效性4.5
可靠性4.3
可信度4.7

📁 包含文件 (38 个)

📄 CHANGELOG.md 3.2 KB
📄 RELEASE.md 3 KB
📄 RENAME.md 1.1 KB
📄 SECURITY_DECLARATION.md 5.5 KB
📄 SECURITY_FIX.md 5.3 KB
📄 SKILL.md 15.1 KB
📄 USAGE_GUIDE.md 6.2 KB
📄 __init__.py 1.2 KB
📄 _meta.json 130 B
📄 config/mode_config.json 1.4 KB
📄 config/preference.yaml 713 B
📄 demo.py 2.9 KB
📄 env_cache.json 643 B
📄 package.json 343 B
📄 profiles/cn-no-proxy.yaml 764 B
📄 profiles/cn-with-proxy.yaml 521 B
📄 profiles/global.yaml 471 B
📄 references/capability-taxonomy.md 4.8 KB
📄 references/micro-routing-examples.md 4.1 KB
📄 references/reminder-policy.md 3 KB
📄 references/resolution-order.md 3 KB
📄 scripts/decision.py 6.9 KB
📄 scripts/engine.py 23.2 KB
📄 scripts/environment.py 10.8 KB
📄 scripts/fallback.py 7.7 KB
📄 scripts/init_skill.py 3.2 KB
📄 scripts/learning.py 16.1 KB
📄 scripts/mode.py 14.4 KB
📄 scripts/models.py 4.6 KB
📄 scripts/observability.py 13 KB
📄 scripts/package_skill.py 3.2 KB
📄 scripts/preference.py 11.6 KB
📄 scripts/registry.py 8.8 KB
📄 scripts/test.py 1 KB
📄 scripts/validate.py 6.6 KB
📄 strategies/fetch-anti-bot.yaml 961 B
📄 strategies/search-cn.yaml 827 B
📄 strategies/search-technical.yaml 868 B