skill-isolator

👤 sucriss 📦 v1.0.0 ⭐ 4.5 ⬇️ 1.1K 下載
🤖 AI-Agent 免費

📖 技能介紹


name: skill-isolator description: | Project-based skill isolation and management. Enables different projects to use different skill sets with automatic loading based on current working directory. Supports multiple skill sources (clawhub, local, git, url) with priority-based resolution, version locking, and auto-sync. Use when: (1) working in a project with .openclaw-skills.json, (2) need to manage project-specific skills, (3) want to isolate skills between projects, (4) need to install skills from clawhub or other sources. version: 1.0.0 author: Xiao Xia license: MIT


skill-isolator

為不同專案提供獨立的技能配置和隔離管理,實現技能按需載入、專案間完全隔離。

快速開始

1️⃣ 建立專案配置

在專案根目錄建立 .openclaw-skills.json

# 使用交互向導
node scripts/init-project-config.js

# 或手動建立(最小配置)
echo '{"skills":["weather"],"excludeGlobal":true}' > .openclaw-skills.json

2️⃣ 同步技能

# 自動檢測並安裝缺失技能
node scripts/sync-project-skills.js

3️⃣ 驗證配置

node scripts/validate-config.js

核心功能

功能 說明
🔒 專案隔離 每個專案獨立技能配置,切換專案自動切換技能
🌐 多源支援 clawhub / local / git / url,優先順序可配置
📦 版本控制 支援鎖定特定版本或 latest 自動更新
⚡ 自動同步 進入專案時自動檢測並安裝缺失技能
💾 智慧快取 減少重複下載,可配置 TTL
🎯 衝突解決 專案配置 > 全域性配置,同名技能取高優先順序源

配置檔案詳解

完整示例

{
  "name": "my-project",
  "skills": [
    { "name": "feishu-doc", "version": "latest" },
    { "name": "weather", "version": "1.2.0" },
    "stock-analyzer"
  ],
  "excludeGlobal": true,
  "sources": [
    {
      "name": "clawhub",
      "type": "registry",
      "priority": 1,
      "enabled": true
    },
    {
      "name": "local",
      "type": "filesystem",
      "priority": 2,
      "paths": ["~/.openclaw/skills", "~/my-skills"]
    }
  ],
  "cache": {
    "enabled": true,
    "ttlHours": 24
  },
  "autoSync": {
    "onProjectEnter": true,
    "onSkillMissing": true
  }
}

欄位說明

欄位 型別 必需 說明
name string 專案名稱(用於顯示)
skills array 技能列表,支援字串或物件格式
excludeGlobal boolean true 只用專案技能,false 專案 + 全域性(預設 false)
sources array 技能來源列表,按優先順序排序
cache.enabled boolean 是否啟用快取(預設 true)
cache.ttlHours number 快取過期時間(小時,預設 24)
autoSync.onProjectEnter boolean 進入專案時自動同步(預設 true)
autoSync.onSkillMissing boolean 發現缺失技能時自動安裝(預設 true)

技能格式

{
  "skills": [
    "weather",                          // 簡單格式 - 最新版本的技能
    { "name": "feishu-doc" },           // 物件格式 - 最新版本
    { "name": "stock-analyzer", "version": "1.2.0" }  // 鎖定版本
  ]
}

來源型別

type 說明 必需欄位 示例
registry 技能市場(clawhub) - {"name":"clawhub","type":"registry"}
filesystem 本地目錄 paths {"type":"filesystem","paths":["~/.openclaw/skills"]}
git Git 倉庫 repos {"type":"git","repos":["user/repo"]}
url HTTP 下載 baseUrl {"type":"url","baseUrl":"https://..."}

命令介面

同步與狀態

命令 說明
node scripts/sync-project-skills.js 同步專案技能
node scripts/sync-project-skills.js --force 強制重新同步
node scripts/sync-project-skills.js --verbose 顯示詳細資訊
node scripts/validate-config.js 驗證配置格式

配置管理

命令 說明
node scripts/init-project-config.js 互動式建立配置

工作流程

專案載入流程

1. 檢測當前工作目錄
   ↓
2. 向上查詢最近的 .openclaw-skills.json
   ↓
3. 解析技能列表和來源配置
   ↓
4. 檢查每個技能是否已安裝
   ↓
5. 缺失技能 → 按源優先順序查詢並安裝
   ↓
6. 啟用配置的技能
   ↓
7. 快取載入狀態

技能安裝流程

1. 遍歷配置的技能列表
   ↓
2. 檢查技能是否已安裝(多目錄檢測)
   ↓
3. 未安裝 → 按優先順序遍歷來源
   ↓
4. 找到技能 → 下載/克隆
   ↓
5. 驗證技能格式(SKILL.md 必需)
   ↓
6. 安裝到本地技能目錄
   ↓
7. 更新快取

指令碼工具

sync-project-skills.js

同步專案技能的主指令碼。

# 基本用法
node scripts/sync-project-skills.js

# 強制重新同步(忽略快取)
node scripts/sync-project-skills.js --force

# 顯示詳細資訊
node scripts/sync-project-skills.js --verbose

# 組合使用
node scripts/sync-project-skills.js --force --verbose

引數: - --force, -f: 強制重新同步,忽略快取 - --verbose, -v: 顯示詳細資訊

validate-config.js

驗證配置檔案格式和完整性。

# 驗證當前目錄配置
node scripts/validate-config.js

# 驗證指定檔案
node scripts/validate-config.js path/to/config.json

驗證內容: - JSON 格式正確性 - 必需欄位存在性 - 欄位型別正確性 - 來源型別有效性 - 重複技能檢測

init-project-config.js

互動式配置建立嚮導。

node scripts/init-project-config.js

引導內容: - 專案名稱 - 技能列表 - 是否排除全域性技能 - 技能來源配置 - 快取設定 - 自動同步設定


快取機制

快取位置

~/.openclaw/cache/skills.json

快取內容

{
  "skills": {
    "weather": { "installed": true, "timestamp": 1710000000000 },
    "feishu-doc": { "installed": true, "timestamp": 1710000000000 }
  },
  "sources": {
    "clawhub": { "reachable": true, "lastCheck": 1710000000000 }
  },
  "lastSync": 1710000000000
}

快取策略

場景 行為
快取有效 直接使用,跳過網路請求
快取過期 重新檢查源,更新快取
--force 忽略快取,強制重新檢查
快取損壞 自動重建

錯誤處理

錯誤 原因 解決方案
Config error JSON 格式錯誤 執行 validate-config.js 檢查
Skill not found 技能在配置源中不存在 檢查技能名稱,確認源配置
Failed to install 安裝失敗(網路/許可權) 檢查網路連線和目錄許可權
Cache valid, skipping 快取未過期 使用 --force 強制重新整理

最佳實踐

1️⃣ 配置最小化

只配置專案真正需要的技能:

{
  "skills": ["feishu-doc", "weather"],
  "excludeGlobal": true
}

2️⃣ 版本鎖定

生產專案鎖定技能版本:

{
  "skills": [
    { "name": "feishu-doc", "version": "2.1.0" },
    { "name": "weather", "version": "1.0.3" }
  ]
}

3️⃣ 本地開發

開發中的技能使用本地源:

{
  "sources": [
    { "name": "local-dev", "type": "filesystem", "paths": ["~/dev/my-skills"], "priority": 1 }
  ]
}

4️⃣ 團隊共享

提交配置到版本控制:

git add .openclaw-skills.json
git commit -m "Add project skill configuration"

故障排查

技能未載入

# 1. 檢查配置檔案是否存在
ls .openclaw-skills.json

# 2. 驗證配置格式
node scripts/validate-config.js

# 3. 強制同步
node scripts/sync-project-skills.js --force --verbose

安裝失敗

# 1. 檢查網路連線
ping clawhub.com

# 2. 檢查技能目錄許可權
ls -la ~/.openclaw/skills/

# 3. 檢視詳細日誌
node scripts/sync-project-skills.js --verbose

配置錯誤

# 驗證配置並檢視示例
node scripts/validate-config.js

小蔥技能7w4.net有完整的技能分類。


檔案位置

檔案 位置
配置檔案 專案根目錄/.openclaw-skills.json
快取檔案 ~/.openclaw/cache/skills.json
技能目錄 ~/.openclaw/skills/
日誌檔案 ~/.openclaw/logs/skills.log

與其他技能協作

clawhub

本技能依賴 clawhub 技能來安裝 registry 源的技能。確保 clawhub 技能已安裝。

skill-creator

建立新技能後,可以用本技能將新技能新增到專案配置中。


更新歷史

版本 日期 變更
1.0.0 2026-03-10 初始版本,支援基礎配置和多源安裝

許可證

MIT License

🤖 AI 評測

這個 Skill 質量不錯,功能實用,文件非常詳細。優點是配置靈活、支援多來源、自動同步方便,管理不同專案的技能很省心。缺點是配置示例有細微不一致,可能讓人困惑;某些高階功能(如 Git 源認證)的說明還不夠詳細。適合需要管理多個專案技能配置的進階使用者,新手也能快速上手。

📊 多維度評分

適應性4.2
規範性4.5
有效性4.7
可靠性4.5
可信度4.5

📁 包含檔案 (14 個)

📄 README.md 3 KB
📄 SKILL.md 8.8 KB
📄 TEST-REPORT.md 6.6 KB
📄 _meta.json 133 B
📄 package.json 997 B
📄 references/example-config.json 888 B
📄 references/faq.md 8 KB
📄 references/quick-reference.md 2.3 KB
📄 references/tutorials.md 9.9 KB
📄 references/usage-guide.md 11.1 KB
📄 scripts/init-project-config.js 4.2 KB
📄 scripts/sync-project-skills.js 9.1 KB
📄 scripts/validate-config.js 8.5 KB
📄 skill-card.md 2.5 KB