插件組件參考
本節記錄插件可以提供的四種組件類型。命令
插件新增自訂斜線命令,與 Claude Code 的命令系統無縫整合。 位置:插件根目錄中的commands/
目錄
檔案格式:帶有前置資料的 Markdown 檔案
如需插件命令結構、調用模式和功能的完整詳細資訊,請參閱插件命令。
代理
插件可以為特定任務提供專門的子代理,Claude 可以在適當時自動調用。 位置:插件根目錄中的agents/
目錄
檔案格式:描述代理能力的 Markdown 檔案
代理結構:
- 代理出現在
/agents
介面中 - Claude 可以根據任務上下文自動調用代理
- 使用者可以手動調用代理
- 插件代理與內建 Claude 代理一起工作
鉤子
插件可以提供事件處理程序,自動回應 Claude Code 事件。 位置:插件根目錄中的hooks/hooks.json
,或在 plugin.json 中內聯
格式:帶有事件匹配器和動作的 JSON 配置
鉤子配置:
PreToolUse
:Claude 使用任何工具之前PostToolUse
:Claude 使用任何工具之後UserPromptSubmit
:使用者提交提示時Notification
:Claude Code 發送通知時Stop
:Claude 嘗試停止時SubagentStop
:子代理嘗試停止時SessionStart
:會話開始時SessionEnd
:會話結束時PreCompact
:對話歷史被壓縮之前
command
:執行 shell 命令或腳本validation
:驗證檔案內容或專案狀態notification
:發送警報或狀態更新
MCP 伺服器
插件可以捆綁模型上下文協定 (MCP) 伺服器,將 Claude Code 與外部工具和服務連接。 位置:插件根目錄中的.mcp.json
,或在 plugin.json 中內聯
格式:標準 MCP 伺服器配置
MCP 伺服器配置:
- 插件 MCP 伺服器在插件啟用時自動啟動
- 伺服器在 Claude 的工具包中顯示為標準 MCP 工具
- 伺服器能力與 Claude 現有工具無縫整合
- 插件伺服器可以獨立於使用者 MCP 伺服器進行配置
插件清單架構
plugin.json
檔案定義您插件的元資料和配置。本節記錄所有支援的欄位和選項。
完整架構
必需欄位
欄位 | 類型 | 描述 | 範例 |
---|---|---|---|
name | string | 唯一識別符(kebab-case,無空格) | "deployment-tools" |
元資料欄位
欄位 | 類型 | 描述 | 範例 |
---|---|---|---|
version | string | 語義版本 | "2.1.0" |
description | string | 插件目的的簡短說明 | "部署自動化工具" |
author | object | 作者資訊 | {"name": "開發團隊", "email": "[email protected]"} |
homepage | string | 文件 URL | "https://docs.example.com" |
repository | string | 原始碼 URL | "https://github.com/user/plugin" |
license | string | 授權識別符 | "MIT" 、"Apache-2.0" |
keywords | array | 發現標籤 | ["deployment", "ci-cd"] |
組件路徑欄位
欄位 | 類型 | 描述 | 範例 |
---|---|---|---|
commands | string|array | 額外命令檔案/目錄 | "./custom/cmd.md" 或 ["./cmd1.md"] |
agents | string|array | 額外代理檔案 | "./custom/agents/" |
hooks | string|object | 鉤子配置路徑或內聯配置 | "./hooks.json" |
mcpServers | string|object | MCP 配置路徑或內聯配置 | "./mcp.json" |
路徑行為規則
重要:自訂路徑補充預設目錄 - 它們不會取代預設目錄。- 如果
commands/
存在,它會與自訂命令路徑一起載入 - 所有路徑必須相對於插件根目錄並以
./
開頭 - 來自自訂路徑的命令使用相同的命名和命名空間規則
- 可以將多個路徑指定為陣列以提供靈活性
環境變數
${CLAUDE_PLUGIN_ROOT}
:包含您插件目錄的絕對路徑。在鉤子、MCP 伺服器和腳本中使用此變數,以確保無論安裝位置如何都能獲得正確的路徑。
插件目錄結構
標準插件佈局
完整的插件遵循此結構:.claude-plugin/
目錄包含 plugin.json
檔案。所有其他目錄(commands/、agents/、hooks/)必須在插件根目錄,而不是在 .claude-plugin/
內部。檔案位置參考
組件 | 預設位置 | 目的 |
---|---|---|
清單 | .claude-plugin/plugin.json | 必需的元資料檔案 |
命令 | commands/ | 斜線命令 markdown 檔案 |
代理 | agents/ | 子代理 markdown 檔案 |
鉤子 | hooks/hooks.json | 鉤子配置 |
MCP 伺服器 | .mcp.json | MCP 伺服器定義 |
除錯和開發工具
除錯命令
使用claude --debug
查看插件載入詳細資訊:
- 正在載入哪些插件
- 插件清單中的任何錯誤
- 命令、代理和鉤子註冊
- MCP 伺服器初始化
常見問題
問題 | 原因 | 解決方案 |
---|---|---|
插件未載入 | 無效的 plugin.json | 驗證 JSON 語法 |
命令未出現 | 錯誤的目錄結構 | 確保 commands/ 在根目錄,而不是在 .claude-plugin/ 中 |
鉤子未觸發 | 腳本不可執行 | 執行 chmod +x script.sh |
MCP 伺服器失敗 | 缺少 ${CLAUDE_PLUGIN_ROOT} | 對所有插件路徑使用變數 |
路徑錯誤 | 使用絕對路徑 | 所有路徑必須是相對路徑並以 ./ 開頭 |