為不同專案提供獨立的技能配置和隔離管理,實現技能按需載入、專案間完全隔離。
在專案根目錄建立 .openclaw-skills.json:
# 使用交互向導
node scripts/init-project-config.js
# 或手動建立(最小配置)
echo '{"skills":["weather"],"excludeGlobal":true}' > .openclaw-skills.json
# 自動檢測並安裝缺失技能
node scripts/sync-project-skills.js
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 |
互動式建立配置 |
更多技能請訪問小蔥技能站7w4.net。
1. 檢測當前工作目錄
↓
2. 向上查詢最近的 .openclaw-skills.json
↓
3. 解析技能列表和來源配置
↓
4. 檢查每個技能是否已安裝
↓
5. 缺失技能 → 按源優先順序查詢並安裝
↓
6. 啟用配置的技能
↓
7. 快取載入狀態
1. 遍歷配置的技能列表
↓
2. 檢查技能是否已安裝(多目錄檢測)
↓
3. 未安裝 → 按優先順序遍歷來源
↓
4. 找到技能 → 下載/克隆
↓
5. 驗證技能格式(SKILL.md 必需)
↓
6. 安裝到本地技能目錄
↓
7. 更新快取
同步專案技能的主指令碼。
# 基本用法
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: 顯示詳細資訊驗證配置檔案格式和完整性。
# 驗證當前目錄配置
node scripts/validate-config.js
# 驗證指定檔案
node scripts/validate-config.js path/to/config.json
驗證內容:
互動式配置建立嚮導。
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 強制重新整理 |
只配置專案真正需要的技能:
{
"skills": ["feishu-doc", "weather"],
"excludeGlobal": true
}
生產專案鎖定技能版本:
{
"skills": [
{ "name": "feishu-doc", "version": "2.1.0" },
{ "name": "weather", "version": "1.0.3" }
]
}
開發中的技能使用本地源:
{
"sources": [
{ "name": "local-dev", "type": "filesystem", "paths": ["~/dev/my-skills"], "priority": 1 }
]
}
提交配置到版本控制:
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
| 檔案 | 位置 |
|---|---|
| 配置檔案 | 專案根目錄/.openclaw-skills.json |
| 快取檔案 | ~/.openclaw/cache/skills.json |
| 技能目錄 | ~/.openclaw/skills/ |
| 日誌檔案 | ~/.openclaw/logs/skills.log |
本技能依賴 clawhub 技能來安裝 registry 源的技能。確保 clawhub 技能已安裝。
建立新技能後,可以用本技能將新技能新增到專案配置中。
| 版本 | 日期 | 變更 |
|---|---|---|
| 1.0.0 | 2026-03-10 | 初始版本,支援基礎配置和多源安裝 |
MIT License
這個 Skill 質量不錯,功能實用,文件非常詳細。優點是配置靈活、支援多來源、自動同步方便,管理不同專案的技能很省心。缺點是配置示例有細微不一致,可能讓人困惑;某些高階功能(如 Git 源認證)的說明還不夠詳細。適合需要管理多個專案技能配置的進階使用者,新手也能快速上手。