Skip to content

第五章 Skills 技能系統

前提:本章假設你已完成第一章的安裝配置。技能系統是 OpenClaw 的核心擴展機制,所有用戶都建議瞭解。

OpenClaw 的技能系統就像手機的 App Store,讓你可以爲龍蝦安裝各種能力擴展。想讓它查天氣?安裝天氣技能。想讓它管理 Gmail?安裝郵件技能。截至 2026 年 3 月,社區維護的 ClawHub 註冊表已有超過 16,000 個技能,覆蓋生產力、開發、運維、內容創作等多個領域。

1. 什麼是技能

技能(Skill)本質上是一組提示詞指令的集合,以 SKILL.md 文件爲核心。技能從三個位置按優先級加載:

  1. 工作區技能(workspace):項目目錄下的技能,優先級最高
  2. 託管技能(managed):~/.openclaw/skills/ 目錄下通過 clawhub 安裝的技能
  3. 內置技能(bundled):OpenClaw 自帶的基礎技能(web-search、web-fetch、browser、filesystem、shell)

路徑說明~/ 是 Linux/macOS 中"用戶主目錄"的簡寫。在 Windows 上對應 C:\Users\你的用戶名\。例如 ~/.openclaw/ 在 Windows 上就是 C:\Users\你的用戶名\.openclaw\

每個技能包含兩個核心部分:

元數據(YAML frontmatter):文件頂部用 --- 包圍的一段結構化信息,定義技能名稱、描述、版本號等。你可以把它理解爲技能的"身份證",OpenClaw 通過它識別技能的基本信息。

提示詞指令(Markdown 正文):元數據下方的文本內容,教 OpenClaw 如何使用工具完成任務。比如"查詢天氣時優先使用用戶所在城市"。Markdown 是一種簡單的文本排版格式,類似於寫筆記時用 # 表示標題、- 表示列表。

技能在會話啓動時會被"快照"固定,確保本次對話中技能行爲不變。技能配置統一存放在工作區級的 openclaw.json(JSON 格式)中,而非技能目錄內部。

展開閱讀:技能的形式化定義(學術視角,可跳過)

1.1 技能的形式化定義

從計算理論的視角,OpenClaw 的技能系統可以用有限自動機(Finite Automaton)來形式化描述。一個技能的生命週期可表示爲一個確定性有限自動機(DFA)五元組:

M=(Q,Σ,δ,q0,F)

其中:

  • Q(狀態集)= {Unregistered, Installed, Disabled, Gated, Active, HotReloading, SoftDeleted},共 7 個狀態
  • Σ(輸入字母表)= {install, uninstall, enable, disable, gate, grant, revoke, edit, hot-reload, soft-delete, restore},共 11 個輸入符號
  • δ(轉移函數):定義狀態之間的轉換規則(見下方狀態圖)
  • q₀(初始狀態)= Unregistered
  • F(接受狀態集)=

狀態轉移關係如下:

Unregistered --install--> Installed --enable--> Active
Active --disable--> Disabled --enable--> Active
Active --gate--> Gated --grant--> Active
Gated --revoke--> Disabled
Active --edit--> HotReloading --hot-reload--> Active
Active --soft-delete--> SoftDeleted --restore--> Installed
Active --uninstall--> Unregistered
Disabled --uninstall--> Unregistered
SoftDeleted --uninstall--> Unregistered

其中 Gated 狀態表示技能需要滿足門控條件(如 API Key 配置)才能激活,HotReloading 狀態用於開發時實時編輯技能而不中斷會話。

這個形式化模型的意義在於:

  1. 狀態可預測:技能在任意時刻只能處於一個確定狀態,避免了"薛定諤的插件"問題
  2. 轉換可驗證:每個操作(輸入符號)只能在特定狀態下執行,非法操作會被拒絕
  3. 生命週期可追蹤:通過記錄狀態轉移序列,可以完整還原技能的使用歷史
  4. 會話一致性:技能在會話啓動時快照固定,保證了行爲的形式正則性(formal regularity)

參考文獻:Agents as Automata(arxiv.org/html/2510.23487v1)將 Agent 行爲建模爲有限自動機,MetaAgent FSM(arxiv.org/html/2507.22606v1)進一步將此框架擴展到多 Agent 編排。

在實際使用中,clawhub install 會自動將技能從 Unregistered → Installed → Active(合併爲一步),但底層仍然遵循這個狀態機模型。

2. ClawHub:技能註冊表

OpenClaw 社區維護了一個名爲 ClawHub 的技能註冊表(類似 npm 之於 Node.js),源碼託管在 github.com/openclaw/clawhub。你可以通過 clawhub 命令行工具或 clawhub.ai 網站瀏覽和管理技能。

2.0 安裝 clawhub CLI

clawhub 是 ClawHub 技能註冊表的命令行工具,需要單獨安裝:

bash
npm i -g clawhub

安裝後需要登錄才能使用:

  1. 訪問 clawhub.ai,註冊並登錄
  2. 點擊右上角用戶頭像,選擇 Settings
  3. 在設置頁面找到 API tokens 欄,點擊 Create token
  4. 複製生成的 Token(只顯示一次,請立即保存)

ClawHub API Token 創建頁面

  1. 在終端執行:
bash
clawhub login --token <你的token>

驗證登錄成功:

bash
clawhub whoami

2.1 瀏覽和搜索技能

clawhub search 終端輸出

bash
# 列出所有可用技能
clawhub list

# 搜索特定類型的技能
clawhub search agent
clawhub search email
clawhub search database

2.2 安裝技能

安裝技能有兩種方式:

方式一:通過 clawhub CLI(推薦)

bash
clawhub install weather

OpenClaw 會自動下載技能文件到 ~/.openclaw/skills/weather/,解析配置需求,然後引導你完成配置。

方式二:通過聊天粘貼 GitHub URL

直接在對話中粘貼包含 SKILL.md 的 GitHub 倉庫 URL,OpenClaw 會自動識別並安裝。

安裝完成後可以立即測試:

幫我查一下明天的天氣

2.3 管理已安裝的技能

bash
# 查看已安裝的技能
clawhub list

# 更新單個技能
clawhub update weather

# 更新所有技能
clawhub update --all

# 卸載技能
clawhub uninstall weather
展開:技能文件結構詳解(開發者參考)

3. 技能文件結構

3.1 SKILL.md 格式

每個技能的核心是一個 SKILL.md 文件,使用 YAML frontmatter 定義元數據:

markdown
---
name: weather
description: 查詢全球城市天氣預報和空氣質量
version: 1.2.0
requirements:
  - curl
---

# Weather Skill

當用戶詢問天氣相關問題時,使用以下工具獲取數據。

## 使用規則

1. 優先使用用戶所在城市
2. 默認返回未來 3 天的天氣
3. 如果用戶關心空氣質量,一併返回 AQI 數據

## 工具

### get_weather
- 參數:city (string), days (number, default: 3)
- 用途:獲取指定城市未來 N 天的天氣預報

frontmatter 字段說明:

字段說明必填
name技能標識符(即技能的唯一英文短名,如 weather),用於安裝和引用
description一句話功能描述
version語義化版本號
requirements系統依賴列表(如 python3, curl)
user-invocable是否可由用戶通過斜槓命令手動調用
disable-model-invocation禁止模型自動調用,只能用戶手動觸發
metadata單行 JSON,定義門控條件等高級配置

3.2 目錄結構

一個完整的技能目錄結構:

~/.openclaw/skills/weather/
├── SKILL.md          # 核心:技能說明和指令(唯一必需文件)
├── scripts/          # 可選:輔助腳本
│   └── fetch.sh
└── examples/         # 可選:使用示例
    └── demo.md

注意:技能目錄內沒有 config.yamltools.yaml。所有技能配置統一在工作區級的 openclaw.json 中管理,而非分散在各技能目錄中。

4. 新手必裝:十大推薦技能

ClawHub 上有超過 16,000 個技能,質量參差不齊——有的非常實用,有的只是披着 Skill 殼的模型僞裝,甚至有的會竊取你的 API Key。以下是從中精選的 10 個安全且實用的技能,建議按順序安裝:

第一個必裝:安全守衛

bash
clawhub install skill-vetter

Skill Vetter 會自動檢測你後續安裝的每一個技能,掃描是否存在危險行爲(如竊取 API Key、上傳個人信息)。請務必第一個安裝它

核心能力技能

序號技能安裝命令一句話說明
2Tavily Web Searchclawhub install tavily-search專爲 Agent 設計的聯網搜索,結果全、新、簡潔
3Agent Browserclawhub install agent-browser讓龍蝦打開瀏覽器,抓取信息、填寫表單、操作網頁
4Summarizeclawhub install summarize對網頁、PDF、圖像、音頻、YouTube 等內容生成摘要
5Gogclawhub install gogGoogle 全家桶:Gmail、Calendar、Drive、Docs 一鍵打包
6GitHubclawhub install githubPR 管理、Issue 追蹤、代碼搜索、倉庫操作,開發者必備
7Obsidianclawhub install obsidian接入本地 Obsidian 筆記庫,整理筆記、知識關聯

進階能力技能

序號技能安裝命令一句話說明
8Self-Improving Agentclawhub install self-improving-agent記錄經驗教訓和糾正措施,讓龍蝦持續自我改進
9Proactive Agentclawhub install proactive-agent賦予龍蝦主動性,記住歷史行爲並根據環境變化自動執行任務
10Capability Evolverclawhub install capability-evolver讓龍蝦自主進化——分析已有流程,在薄弱環節創造新 Skill 輔助迭代

一鍵安裝全部:你也可以直接告訴龍蝦"幫我安裝 skill-vetter、tavily-search、agent-browser",它會幫你逐個下載安裝。

更多精選技能

ClawHub 上技能數量龐大,社區項目 awesome-openclaw-skills 從中精選了 5,000+ 個高質量技能,按場景分類,過濾了大量低質和危險技能。如果上面 10 個不夠用,去那裏逛逛。


5. 技能分類速查

以下按使用場景分類列出更多常用技能,方便按需選裝:

5.1 生產力套件

技能安裝命令功能
Google Workspace (gog)clawhub install gogGmail、Calendar、Drive、Docs、Sheets 統一訪問
Notionclawhub install notion數據庫、頁面同步,長期記憶存儲
Todoistclawhub install todoist任務管理、標籤、優先級、週期規則
Slackclawhub install slack消息發送、頻道管理、文件上傳
Obsidianclawhub install obsidianMarkdown 筆記庫管理,支持 wikilink

5.2 開發工具

技能安裝命令功能
GitHubclawhub install github倉庫、Issue、PR 管理,REST API + GraphQL
Git Operationsclawhub install git-ops安全的 Git 命令執行
Code Reviewerclawhub install code-reviewerDiff 分析、代碼審查、Commit 消息生成
SQL Toolkitclawhub install sql-toolkitPostgreSQL/MySQL/SQLite 只讀查詢
CI/CD Pipelineclawhub install cicd-pipelineGitHub/GitLab/Jenkins 流水線控制

5.3 運維與基礎設施

技能安裝命令功能
DevOps Toolkitclawhub install devopsDocker 編排、進程管理、健康監控
AWS Infrastructureclawhub install aws-infraEC2、S3、Lambda 對話式管理
Azure DevOpsclawhub install azure-devops項目、倉庫、看板、流水線管理

5.4 內容與社交

技能安裝命令功能
LinkedInclawhub install linkedin帖子生成、輪播圖、定時發佈
X (Twitter)clawhub install x-api推文、線程、媒體附件
Blogburstclawhub install blogburst長文內容自動拆分爲社交媒體帖子

5.5 個人助理

技能安裝命令功能
Weatherclawhub install weather天氣、交通、航班實時數據
Calendar Proclawhub install caldav-calendar多日曆集成、衝突檢測
AgentMailclawhub install agentmailIMAP/SMTP 郵件管理、線程摘要、自動回覆
Home Assistantclawhub install home-assistant智能家居設備控制

5.6 特殊技能

技能安裝命令功能
Playwrightclawhub install playwright無頭瀏覽器自動化、表單填寫、數據提取
Hacker Newsclawhub install hackernews技術新聞摘要和個性化推送
Self-Improvingclawhub install self-improving記錄成功/失敗執行,自我優化模式識別

6. 配置技能

安裝後可以隨時修改技能配置。技能配置統一存放在工作區級的 openclaw.json 中:

json
{
  "skills": {
    "weather": {
      "api_key": "your_api_key",
      "default_city": "Beijing",
      "units": "metric",
      "language": "zh_CN"
    }
  }
}

也可以通過交互式命令配置:

bash
openclaw config

對於需要 API Key 的技能,安裝時會自動引導你輸入。你也可以後續通過 openclaw config 或直接編輯 openclaw.json 修改。

展開:創建和發佈自定義技能

7. 創建自定義技能

如果 ClawHub 上沒有你需要的技能,可以自己創建。

7.1 最小化技能

創建一個查詢 IP 地址的技能,只需要一個 SKILL.md

markdown
---
name: my-ip
description: 查詢當前公網 IP 地址和地理位置
version: 1.0.0
---

# IP 查詢技能

當用戶詢問 IP 地址或網絡位置時,執行以下命令:

curl -s https://ipinfo.io/json

返回結果中包含 IP、城市、地區、國家、運營商等信息。

7.2 安裝自定義技能

bash
# 從本地目錄安裝
clawhub install ./my-ip

# 或直接複製到技能目錄
cp -r my-ip ~/.openclaw/skills/

7.3 發佈到 ClawHub

如果你的技能對他人有用,可以提交到 ClawHub:

bash
# 1. Fork github.com/openclaw/clawhub
# 2. 添加你的技能目錄
# 3. 提交 Pull Request

7.4 使用 Skill Seekers 自動生成技能

如果你想爲特定技術棧或文檔快速生成技能,可以使用 Skill Seekers 工具。它能自動將文檔網站、GitHub 倉庫、PDF 和視頻轉換爲 Claude/Gemini/OpenAI Skills。

安裝

bash
pip install skill-seekers

從文檔網站生成技能

bash
# 爲 React 文檔生成技能
skill-seekers create https://docs.react.dev/

# 從 GitHub 倉庫生成
skill-seekers create facebook/react

# 從本地項目生成
skill-seekers create ./my-project

導出爲 OpenClaw 可用格式

bash
# 打包爲 Claude Skill(可導入 OpenClaw)
skill-seekers package output/react --target claude

Skill Seekers 的優勢

  • ⚡ 99% faster — 數天的手動準備 → 15-45 分鐘
  • 🎯 高質量 SKILL.md — 500+ 行的完整技能文件
  • 📊 RAG-ready 分塊 — 智能分塊保留代碼塊和上下文
  • 🌐 多源支持 — 文檔 + GitHub + PDF + 視頻

📖 更多信息:Skill Seekers GitHub

8. 飛書插件:技能實戰案例

飛書官方插件是一個典型的複合技能,展示了技能如何深度集成外部服務。安裝飛書插件後(安裝步驟參見第三章 2.4 節),OpenClaw 不僅能通過飛書收發消息,還能直接操作飛書的辦公數據:

能力說明
消息羣聊/單聊歷史搜索、消息發送、文件下載
文檔創建和編輯飛書雲文檔
多維表格表格管理與數據操作(類似 Airtable)
日程日曆查看、會議創建、忙閒查詢
任務任務和清單的創建與管理

使用示例:

幫我在飛書上創建一個項目週報文檔,包含本週完成的任務和下週計劃
查看我今天的飛書日程,如果有衝突的會議幫我標記出來
在項目管理多維表格中添加一條新任務:完成 API 文檔編寫,截止日期下週五

這種深度集成體現了技能系統的核心價值:通過標準化的 SKILL.md 接口,將複雜的外部服務能力無縫注入 OpenClaw 的執行循環中。

展開:性能考量與安全提示

9. 技能系統的性能考量

技能並非越多越好。每個活躍技能都會增加上下文加載量,影響響應速度。

技能加載機制

OpenClaw 採用三級加載優先級

優先級來源路徑說明
1(最高)工作區級~/.openclaw/workspace/skills/你手動放置或針對當前工作區安裝的技能
2共享級~/.openclaw/skills/clawhub install 安裝的全局技能
3(最低)內置級OpenClaw 安裝目錄隨 OpenClaw 一起發佈的默認技能

同名技能按優先級覆蓋——如果工作區有一個 web-search,它會屏蔽全局和內置的同名技能。

每次對話開始時,OpenClaw 會生成一份技能快照(snapshot),將所有活躍技能的 SKILL.md 內容注入上下文。技能採用懶加載策略:只有在對話中被觸發(匹配到關鍵詞或被 AI 主動選用)時,纔會執行技能腳本。

性能影響與建議

技能數量上下文佔用響應速度影響建議
1-5 個幾乎無感新手推薦
5-10 個中等略有延遲日常使用合理上限
10-20 個較高明顯變慢建議禁用不常用的
20+ 個很高嚴重影響不推薦

按需安裝:只安裝真正需要的技能。5-10 個常用技能是一個合理的數量。

定期清理:用 clawhub list 查看所有已安裝技能,用 clawhub uninstall <技能名> 卸載不再使用的技能,保持系統精簡。

bash
# 查看當前安裝了哪些技能
clawhub list

# 只看活躍的技能
clawhub list --active

# 卸載不需要的技能
clawhub uninstall old-unused-skill

保護敏感信息:技能配置中的 API 密鑰存儲在本地,但仍要注意不要將 ~/.openclaw/skills/ 目錄上傳到公開倉庫。

測試後再用:新安裝的技能先在測試環境試用,確認沒問題後再用於生產任務。對於未經審計的第三方技能,建議在 Docker 沙箱中運行。

安全警告:2026 年 2 月的安全審計(ClawHavoc 事件)發現 ClawHub 上約 12% 的技能存在惡意行爲或安全漏洞。OpenClaw 團隊已進行清理,但安裝第三方技能時仍需保持警惕。建議優先使用高星標技能,並檢查 SKILL.md 中的指令內容。

安裝安全守衛:強烈建議安裝 skill-vetter(詳見本章第 4 節),它會自動掃描你後續安裝的每一個技能,檢測是否存在竊取 API Key、上傳個人信息等危險行爲:

bash
clawhub install skill-vetter
展開閱讀:技能與 MCP 的關係

10. 技能與 MCP 的關係

OpenClaw 的技能系統與 MCP(Model Context Protocol)是兩個不同層面的概念:

  • 技能(Skills):提示詞層面的指令包,定義 Agent 的行爲規則和工具使用方式
  • MCP:工具層面的進程協議,提供外部工具的標準化接口

截至目前,OpenClaw 並未原生支持 MCP(相關 Issue #4834 已關閉,狀態爲"not planned")。但社區已有大量 MCP 包裝器(wrapper),可將 MCP 服務器的能力通過技能接口暴露給 OpenClaw 使用。


下一步第六章 外部服務集成