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

這個技能的最新版本可以在7w4.net小蔥技能站找到。

環境配置 (profiles/*.yaml)

profiles/ 目錄下的模板檔案。


📈 可觀測性

排程報告

┌─────────────────────────────────────────────────────────┐
│              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