6 6
7> 透過 mod 為 Claude Code 新增窗格、命令與工具呼叫規則。了解 mod 能做什麼、如何製作或安裝 mod,以及 mod 在何處執行。7> 透過 mod 為 Claude Code 新增窗格、命令與工具呼叫規則。了解 mod 能做什麼、如何製作或安裝 mod,以及 mod 在何處執行。
8 8
9mod 是一種會改變 Claude Code 外觀與行為的[外掛](/docs/zh-TW/plugins/overview.md)。它由 JavaScript 或 TypeScript 事件處理常式組成:當事件發生時(例如工具呼叫、提交提示詞,或繪製介面的某個部分),Claude Code 會呼叫對應的處理常式,而處理常式可以監看該事件、變更它,或完全接管它。您可以使用 mod 為 Claude Code 新增自己的功能,例如一個在每次請求後以圖表呈現 context 使用量的窗格。如需了解 mod 中包含的檔案以及完整範例,請參閱 [mod 的運作方式](#how-a-mod-works)。9mod 是一種會改變 Claude Code 外觀與行為的[外掛](https://code.claude.com/docs/zh-TW/plugins/overview.md)。它由 JavaScript 或 TypeScript 事件處理常式組成:當事件發生時(例如工具呼叫、提交提示詞,或繪製介面的某個部分),Claude Code 會呼叫對應的處理常式,而處理常式可以監看該事件、變更它,或完全接管它。您可以使用 mod 為 Claude Code 新增自己的功能,例如一個在每次請求後以圖表呈現 context 使用量的窗格。如需了解 mod 中包含的檔案以及完整範例,請參閱 [mod 的運作方式](#how-a-mod-works)。
10 10
11> [!NOTE]11> [!NOTE]
12>12>
13> Claude Code 既有的 [hooks](/docs/zh-TW/hooks.md) 也會在事件發生時執行,其形式是您在設定檔中設定的 shell 命令、HTTP 請求或提示詞。相對地,mod 的處理常式則是在 Claude Code 內部執行的函式,而非上述形式。Claude Code 將這兩種都稱為 hook:在這些頁面中,「hook」指的是 mod 的處理常式,而設定檔中的那種則稱為「設定 hook」。13> Claude Code 既有的 [hooks](https://code.claude.com/docs/zh-TW/hooks.md) 也會在事件發生時執行,其形式是您在設定檔中設定的 shell 命令、HTTP 請求或提示詞。相對地,mod 的處理常式則是在 Claude Code 內部執行的函式,而非上述形式。Claude Code 將這兩種都稱為 hook:在這些頁面中,「hook」指的是 mod 的處理常式,而設定檔中的那種則稱為「設定 hook」。
14 14
15## Mod 可以做什麼15## Mod 可以做什麼
16 16
17設定 hooks、skills、狀態行和 MCP 伺服器從 Claude Code 外部運作:每一個都執行指令碼,或為 Claude 提供文字或工具。Mod 在 Claude Code 內執行,因此它可以做他們無法做的事情:17設定 hooks、skills、狀態行和 MCP 伺服器從 Claude Code 外部運作:每一個都執行指令碼,或為 Claude 提供文字或工具。Mod 在 Claude Code 內執行,因此它可以做他們無法做的事情:
18 18
19* **繪製您可以使用的介面**:文字記錄旁邊的窗格或提示上方的帶狀區域,具有標籤、按鈕和文字欄位。請參閱[在介面中繪製](/docs/zh-TW/plugins/mods/interface.md)。19* **繪製您可以使用的介面**:文字記錄旁邊的窗格或提示上方的帶狀區域,具有標籤、按鈕和文字欄位。請參閱[在介面中繪製](https://code.claude.com/docs/zh-TW/plugins/mods/interface.md)。
20* **重新繪製 Claude Code 自己的介面**:取代或重新設定 Claude Code 自己繪製的部分,例如工具呼叫的列、微調器或 Claude 提出問題的對話框。請參閱[變更 Claude Code 已繪製的內容](/docs/zh-TW/plugins/mods/interface.md#change-what-claude-code-already-draws)。20* **重新繪製 Claude Code 自己的介面**:取代或重新設定 Claude Code 自己繪製的部分,例如工具呼叫的列、微調器或 Claude 提出問題的對話框。請參閱[變更 Claude Code 已繪製的內容](https://code.claude.com/docs/zh-TW/plugins/mods/interface.md#change-what-claude-code-already-draws)。
21* **進入工具呼叫或請求**:例如,在您詢問使用者問題時保留工具呼叫、在不執行工具的情況下回答,或將一個請求傳送到不同的模型。請參閱[保護或變更工具呼叫](/docs/zh-TW/plugins/mods/events.md#guard-or-change-a-tool-call)和[跟隨一個回合](/docs/zh-TW/plugins/mods/events.md#follow-a-turn)。21* **進入工具呼叫或請求**:例如,在您詢問使用者問題時保留工具呼叫、在不執行工具的情況下回答,或將一個請求傳送到不同的模型。請參閱[保護或變更工具呼叫](https://code.claude.com/docs/zh-TW/plugins/mods/events.md#guard-or-change-a-tool-call)和[跟隨一個回合](https://code.claude.com/docs/zh-TW/plugins/mods/events.md#follow-a-turn)。
22* **在命令上執行您自己的程式碼**:一個 `/command`,立即執行您的函式,沒有 Claude 回合,即使 Claude 正在工作。請參閱[新增命令或工具](/docs/zh-TW/plugins/mods/api.md#add-a-command-or-a-tool)。22* **在命令上執行您自己的程式碼**:一個 `/command`,立即執行您的函式,沒有 Claude 回合,即使 Claude 正在工作。請參閱[新增命令或工具](https://code.claude.com/docs/zh-TW/plugins/mods/api.md#add-a-command-or-a-tool)。
23* **在 hooks 之間共享資料**:mod 的 hooks 共享其檔案中的變數,因此一個 hook 記錄的內容,另一個可以顯示。例如,一個 hook 可以計算工具呼叫,而另一個在微調器旁邊顯示計數,或一個可以讀取每個請求的權杖使用量,而另一個在窗格中繪製它。請參閱[對事件做出反應](/docs/zh-TW/plugins/mods/events.md)。23* **在 hooks 之間共享資料**:mod 的 hooks 共享其檔案中的變數,因此一個 hook 記錄的內容,另一個可以顯示。例如,一個 hook 可以計算工具呼叫,而另一個在微調器旁邊顯示計數,或一個可以讀取每個請求的權杖使用量,而另一個在窗格中繪製它。請參閱[對事件做出反應](https://code.claude.com/docs/zh-TW/plugins/mods/events.md)。
24 24
25Mod 可在 Claude Code CLI、Claude Desktop 應用程式的 Code 標籤以及 VS Code 擴充功能中運作。請參閱[mod 執行的位置](#where-mods-run)以了解它們在其他地方的行為,例如在 `claude -p` 和雲端工作階段中。如果設定 hook、skill 或 MCP 伺服器已經做了您需要的事情,在您編寫 mod 之前[比較它們](#compare-mods-settings-hooks-skills-and-mcp-servers)。若要為組織管理 mod,請參閱[為您的組織管理 mod](/docs/zh-TW/plugins/mods/admin.md)。25Mod 可在 Claude Code CLI、Claude Desktop 應用程式的 Code 標籤以及 VS Code 擴充功能中運作。請參閱[mod 執行的位置](#where-mods-run)以了解它們在其他地方的行為,例如在 `claude -p` 和雲端工作階段中。如果設定 hook、skill 或 MCP 伺服器已經做了您需要的事情,在您編寫 mod 之前[比較它們](#compare-mods-settings-hooks-skills-and-mcp-servers)。若要為組織管理 mod,請參閱[為您的組織管理 mod](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md)。
26 26
27## 取得 mod27## 取得 mod
28 28
29若要開始使用 mod:29若要開始使用 mod:
30 30
31* **使用您已經擁有的**:Claude Code 的某些功能是 mods,例如 `/diff`。請參閱[內建於 Claude Code 的 Mods](#mods-built-into-claude-code)。31* **使用您已經擁有的**:Claude Code 的某些功能是 mods,例如 `/diff`。請參閱[內建於 Claude Code 的 Mods](#mods-built-into-claude-code)。
32* **建立一個**:在 Claude Code 工作階段中描述您想要的內容,Claude 會編寫 mod。請參閱[向 Claude 要求 mod](/docs/zh-TW/plugins/mods/create.md#ask-claude-for-a-mod)。若要了解 mod 程式碼的運作方式,[自己編寫一個](/docs/zh-TW/plugins/mods/create.md#write-a-mod-yourself)。32* **建立一個**:在 Claude Code 工作階段中描述您想要的內容,Claude 會編寫 mod。請參閱[向 Claude 要求 mod](https://code.claude.com/docs/zh-TW/plugins/mods/create.md#ask-claude-for-a-mod)。若要了解 mod 程式碼的運作方式,[自己編寫一個](https://code.claude.com/docs/zh-TW/plugins/mods/create.md#write-a-mod-yourself)。
33* **安裝一個**:請參閱[安裝或更新 mod](#install-or-update-a-mod),或[試用範例 mod](#try-a-sample-mod)33* **安裝一個**:請參閱[安裝或更新 mod](#install-or-update-a-mod),或[試用範例 mod](#try-a-sample-mod)
34 34
35### 安裝或更新 mod35### 安裝或更新 mod
43* 在 Claude Code 工作階段中,執行 `/plugin install token-chart@your-org`。43* 在 Claude Code 工作階段中,執行 `/plugin install token-chart@your-org`。
44* 在您的 shell 中,執行 `claude plugin install token-chart@your-org`。44* 在您的 shell 中,執行 `claude plugin install token-chart@your-org`。
45 45
46[安裝外掛程式](/docs/zh-TW/plugins/install.md)涵蓋市集、範圍、VS Code 擴充功能和 Desktop 應用程式,以及[保持外掛程式更新](/docs/zh-TW/plugins/install.md#keep-plugins-updated),所有這些都適用於包含 mod 的外掛程式,無需變更。46[安裝外掛程式](https://code.claude.com/docs/zh-TW/plugins/install.md)涵蓋市集、範圍、VS Code 擴充功能和 Desktop 應用程式,以及[保持外掛程式更新](https://code.claude.com/docs/zh-TW/plugins/install.md#keep-plugins-updated),所有這些都適用於包含 mod 的外掛程式,無需變更。
47 47
48如果您在工作階段開啟時從 shell 安裝或更新 mod,請在該工作階段中執行 `/reload-plugins` 以載入它。否則,它會在您下次啟動 Claude Code 時載入。48如果您在工作階段開啟時從 shell 安裝或更新 mod,請在該工作階段中執行 `/reload-plugins` 以載入它。否則,它會在您下次啟動 Claude Code 時載入。
49 49
57 57
58範例 mod 會使用您的權限執行。若要在載入之前了解它的作用,請[列出它的 hook 和呼叫](#list-what-a-mod-does-before-you-install-one)。58範例 mod 會使用您的權限執行。若要在載入之前了解它的作用,請[列出它的 hook 和呼叫](#list-what-a-mod-does-before-you-install-one)。
59 59
60若要試用,請複製該儲存庫,並使用 `--plugin-dir` [在單一工作階段中載入 mod 的目錄](/docs/zh-TW/plugins/create.md#load-a-directory-or-archive-for-one-session)。若要確認 mod 已載入,請[檢查工作階段載入了哪些 mods](#see-which-mods-a-session-loaded)。60若要試用,請複製該儲存庫,並使用 `--plugin-dir` [在單一工作階段中載入 mod 的目錄](https://code.claude.com/docs/zh-TW/plugins/create.md#load-a-directory-or-archive-for-one-session)。若要確認 mod 已載入,請[檢查工作階段載入了哪些 mods](#see-which-mods-a-session-loaded)。
61 61
62若要保留它,請[將複製的 `claude-code/mods` 目錄新增為市集](/docs/zh-TW/plugins/install#add-a-marketplace),然後從 `claude-code-playground-mods` 安裝該 mod。該市集指向您的複製,因此如果您移動或刪除它,mod 就會停止載入。62若要保留它,請[將複製的 `claude-code/mods` 目錄新增為市集](https://code.claude.com/docs/zh-TW/plugins/install#add-a-marketplace),然後從 `claude-code-playground-mods` 安裝該 mod。該市集指向您的複製,因此如果您移動或刪除它,mod 就會停止載入。
63 63
64## 決定是否信任 mod64## 決定是否信任 mod
65 65
66Mod 是使用您的權限在 Claude Code 內執行的程式碼。僅從您信任的作者和[市集](/docs/zh-TW/plugins/security.md)安裝 mods。66Mod 是使用您的權限在 Claude Code 內執行的程式碼。僅從您信任的作者和[市集](https://code.claude.com/docs/zh-TW/plugins/security.md)安裝 mods。
67 67
68### Mod 可以存取什麼68### Mod 可以存取什麼
69 69
76* **在不詢問您的情況下行動**:在詢問您之前核准工具呼叫76* **在不詢問您的情況下行動**:在詢問您之前核准工具呼叫
77* **花費您的使用量**:在您的計畫或 API 金鑰上呼叫模型77* **花費您的使用量**:在您的計畫或 API 金鑰上呼叫模型
78 78
79Mods 不在沙箱中執行。如果您開啟[沙箱機制](/docs/zh-TW/sandboxing.md),沙箱會隔離 Claude 執行的 Bash 命令,而 mod 啟動的程序則會在沙箱之外執行。79Mods 不在沙箱中執行。如果您開啟[沙箱機制](https://code.claude.com/docs/zh-TW/sandboxing.md),沙箱會隔離 Claude 執行的 Bash 命令,而 mod 啟動的程序則會在沙箱之外執行。
80 80
81當工作階段使用[受管設定](/docs/zh-TW/settings.md#check-what-your-organization-enforces),或以 Team 或 Enterprise [`/login`](/docs/zh-TW/authentication#authentication-precedence) 作為工作階段的憑證時,預設情況下,mod 的核准無法讓呼叫繞過您的 `ask` 規則或 `PreToolUse` hook。若兩者皆無,mod 可以核准 `ask` 規則會提示的呼叫,或您的 `PreToolUse` hook 阻止的呼叫。若要確認 mod 何時也能核准 `deny` 規則拒絕的呼叫,請參閱[使用 hook 擴展權限](/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。81當工作階段使用[受管設定](https://code.claude.com/docs/zh-TW/settings.md#check-what-your-organization-enforces),或以 Team 或 Enterprise [`/login`](https://code.claude.com/docs/zh-TW/authentication#authentication-precedence) 作為工作階段的憑證時,預設情況下,mod 的核准無法讓呼叫繞過您的 `ask` 規則或 `PreToolUse` hook。若兩者皆無,mod 可以核准 `ask` 規則會提示的呼叫,或您的 `PreToolUse` hook 阻止的呼叫。若要確認 mod 何時也能核准 `deny` 規則拒絕的呼叫,請參閱[使用 hook 擴展權限](https://code.claude.com/docs/zh-TW/permissions.md#precedence-among-rules-hooks-and-mods)。
82 82
83Mod 可以重新設定 Claude Code 介面的大部分,但不能重新設定權限提示。它無法變更提示顯示給您的內容。83Mod 可以重新設定 Claude Code 介面的大部分,但不能重新設定權限提示。它無法變更提示顯示給您的內容。
84 84
90claude plugin validate ./some-mod90claude plugin validate ./some-mod
91```91```
92 92
93輸出中的 `hooks:` 和 `calls:` 行列出 mod 處理的事件以及它要求 Claude Code 執行的操作。[檢查 mod 可以做什麼](/docs/zh-TW/plugins/mods/admin.md#review-what-a-mod-can-do)顯示輸出以及要查找的呼叫。93輸出中的 `hooks:` 和 `calls:` 行列出 mod 處理的事件以及它要求 Claude Code 執行的操作。[檢查 mod 可以做什麼](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md#review-what-a-mod-can-do)顯示輸出以及要查找的呼叫。
94 94
95## 開啟或關閉 mods95## 開啟或關閉 mods
96 96
97mod 預設為開啟。在終端機中,請使用 Claude Code v2.1.287 或更新版本。Desktop 應用程式內含自己的 Claude Code 副本,mod 從 v2.1.286 起即可在其中運作。請在您使用 mod 的地方檢查版本:97mod 預設為開啟。在終端機中,請使用 Claude Code v2.1.287 或更新版本。Desktop 應用程式內含自己的 Claude Code 副本,mod 從 v2.1.286 起即可在其中運作。請在您使用 mod 的地方檢查版本:
98 98
99* **終端機**:在您的 shell 中執行 `claude --version`。如果您的版本較舊,請[更新 Claude Code](/docs/zh-TW/setup.md#update-claude-code)。99* **終端機**:在您的 shell 中執行 `claude --version`。如果您的版本較舊,請[更新 Claude Code](https://code.claude.com/docs/zh-TW/setup.md#update-claude-code)。
100* **Desktop 應用程式**:在 Code 標籤的本機工作階段中,輸入 `/status` 並查看 **Claude Code** 列,其中會顯示版本,例如 `2.1.286`。如果您的版本較舊,請[更新 Desktop 應用程式](/docs/zh-TW/desktop.md#claude-code-version-in-the-code-tab)。100* **Desktop 應用程式**:在 Code 標籤的本機工作階段中,輸入 `/status` 並查看 **Claude Code** 列,其中會顯示版本,例如 `2.1.286`。如果您的版本較舊,請[更新 Desktop 應用程式](https://code.claude.com/docs/zh-TW/desktop.md#claude-code-version-in-the-code-tab)。
101 101
102若要關閉 mods,請選擇要停止多少個,以及停止多長時間。若要將它們重新開啟,請撤銷相同的變更:102若要關閉 mods,請選擇要停止多少個,以及停止多長時間。若要將它們重新開啟,請撤銷相同的變更:
103 103
104* **一個 mod**:從[`/plugin` 中的**已安裝**標籤](/docs/zh-TW/plugins/install#manage-installed-plugins)停用或解除安裝其外掛程式104* **一個 mod**:從[`/plugin` 中的**已安裝**標籤](https://code.claude.com/docs/zh-TW/plugins/install#manage-installed-plugins)停用或解除安裝其外掛程式
105* **每個已安裝的 mod,一個工作階段**:使用 [`--safe-mode`](/docs/zh-TW/cli-reference#cli-flags) 啟動 Claude Code,這也會停用您的其他自訂105* **每個已安裝的 mod,一個工作階段**:使用 [`--safe-mode`](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags) 啟動 Claude Code,這也會停用您的其他自訂
106* **您安裝的每個 mod,在每個工作階段中**:在 `~/.claude/settings.json` 中設定 [`"disableAllHooks": true`](/docs/zh-TW/settings-reference#disableallhooks)。您的設定 hook 和自訂狀態列也會停止。您的組織管理的內容會繼續執行。106* **您安裝的每個 mod,在每個工作階段中**:在 `~/.claude/settings.json` 中設定 [`"disableAllHooks": true`](https://code.claude.com/docs/zh-TW/settings-reference#disableallhooks)。您的設定 hook 和自訂狀態列也會停止。您的組織管理的內容會繼續執行。
107 107
108如果您透過組織使用 Claude Code,管理員也可以限制哪些 mods 載入。管理員從[停止使用者安裝的 mods 載入](/docs/zh-TW/plugins/mods/admin.md#stop-user-installed-mods-from-loading)開始。108如果您透過組織使用 Claude Code,管理員也可以限制哪些 mods 載入。管理員從[停止使用者安裝的 mods 載入](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md#stop-user-installed-mods-from-loading)開始。
109 109
110`disableAllHooks` 和您組織的 `allowManagedModsOnly` 會停止 mod,並保留其外掛的其餘部分:外掛會維持安裝狀態,其 skill、命令、agent 和 MCP 伺服器都會載入。其他設定和旗標的影響範圍更廣。[`disableAllHooks`](/docs/zh-TW/settings-reference#disableallhooks) 和[在 `allowManagedHooksOnly` 下執行的內容](/docs/zh-TW/settings-reference#what-runs-under-allowmanagedhooksonly)列出了每一項對外掛及其設定 hook 的影響。110`disableAllHooks` 和您組織的 `allowManagedModsOnly` 會停止 mod,並保留其外掛的其餘部分:外掛會維持安裝狀態,其 skill、命令、agent 和 MCP 伺服器都會載入。其他設定和旗標的影響範圍更廣。[`disableAllHooks`](https://code.claude.com/docs/zh-TW/settings-reference#disableallhooks) 和[在 `allowManagedHooksOnly` 下執行的內容](https://code.claude.com/docs/zh-TW/settings-reference#what-runs-under-allowmanagedhooksonly)列出了每一項對外掛及其設定 hook 的影響。
111 111
112若要了解 mods 是否可以為您載入,請參閱[檢查 mods 是否可以載入](/docs/zh-TW/plugins/mods/troubleshoot.md#check-whether-mods-can-load)。112若要了解 mods 是否可以為您載入,請參閱[檢查 mods 是否可以載入](https://code.claude.com/docs/zh-TW/plugins/mods/troubleshoot.md#check-whether-mods-can-load)。
113 113
114> [!NOTE]114> [!NOTE]
115>115>
117 117
118### 查看工作階段載入了哪些 mods118### 查看工作階段載入了哪些 mods
119 119
120若要查看終端機工作階段載入了哪些 mods,請在 Claude Code 提示處執行 `/plugin`。標籤下的暗行提供計數和名稱,例如 `1 mod active · first-mod`。如果您安裝的 mod 未在那裡命名,請參閱[找出為什麼 mod 不執行任何操作](/docs/zh-TW/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)。120若要查看終端機工作階段載入了哪些 mods,請在 Claude Code 提示處執行 `/plugin`。標籤下的暗行提供計數和名稱,例如 `1 mod active · first-mod`。如果您安裝的 mod 未在那裡命名,請參閱[找出為什麼 mod 不執行任何操作](https://code.claude.com/docs/zh-TW/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)。
121 121
122## Mod 的運作方式122## Mod 的運作方式
123 123
124Mod 是一個[外掛程式](/docs/zh-TW/plugins/overview.md),其程式碼註冊事件處理程式,稱為 hook。Claude Code 在其事件發生時執行 hook,例如當 Claude 呼叫工具或繪製微調器時。一個小 mod 有三個檔案:124Mod 是一個[外掛程式](https://code.claude.com/docs/zh-TW/plugins/overview.md),其程式碼註冊事件處理程式,稱為 hook。Claude Code 在其事件發生時執行 hook,例如當 Claude 呼叫工具或繪製微調器時。一個小 mod 有三個檔案:
125 125
126```text theme={null}126```text theme={null}
127first-mod/127first-mod/
132 └── register.js132 └── register.js
133```133```
134 134
135* **`plugin.json`**:外掛程式的[清單](/docs/zh-TW/plugins/manifest-reference.md)135* **`plugin.json`**:外掛程式的[清單](https://code.claude.com/docs/zh-TW/plugins/manifest-reference.md)
136* **`hooks.json`**:[指向您的程式碼檔案](/docs/zh-TW/plugins/mods/reference.md#files)136* **`hooks.json`**:[指向您的程式碼檔案](https://code.claude.com/docs/zh-TW/plugins/mods/reference.md#files)
137* **`register.js`**:[您的程式碼](/docs/zh-TW/plugins/mods/create.md#write-a-mod-yourself),稱為 hook 模組。它告訴 Claude Code 在哪些事件上執行您的函式。137* **`register.js`**:[您的程式碼](https://code.claude.com/docs/zh-TW/plugins/mods/create.md#write-a-mod-yourself),稱為 hook 模組。它告訴 Claude Code 在哪些事件上執行您的函式。
138 138
139這是一個完整的 `register.js`。它計算 Claude 進行的工具呼叫,並在 Claude 工作時在微調器旁邊顯示計數,如 `Thinking · tool calls: 3…`。139這是一個完整的 `register.js`。它計算 Claude 進行的工具呼叫,並在 Claude 工作時在微調器旁邊顯示計數,如 `Thinking · tool calls: 3…`。
140 140
163 163
164該檔案註冊了兩個 hook,兩者都使用頂部的 `calls` 變數:164該檔案註冊了兩個 hook,兩者都使用頂部的 `calls` 變數:
165 165
166* **[`tool.call`](/docs/zh-TW/plugins/mods/reference#tools) hook** 在 Claude 即將使用工具時執行。它將 `calls` 加一,要求 Claude Code 再次繪製介面,並讓工具照常執行。166* **[`tool.call`](https://code.claude.com/docs/zh-TW/plugins/mods/reference#tools) hook** 在 Claude 即將使用工具時執行。它將 `calls` 加一,要求 Claude Code 再次繪製介面,並讓工具照常執行。
167* **[`ui.render`](/docs/zh-TW/plugins/mods/reference#interface) hook** 在 Claude Code 繪製微調器時執行。它保留 Claude Code 自己的微調器,並在單詞後面新增計數。167* **[`ui.render`](https://code.claude.com/docs/zh-TW/plugins/mods/reference#interface) hook** 在 Claude Code 繪製微調器時執行。它保留 Claude Code 自己的微調器,並在單詞後面新增計數。
168 168
169此錄影顯示 mod 的運作。觀看提示詞輸入框上方的微調器行:當 Claude 列出目錄並讀取兩個檔案時,它顯示 `Thinking · tool calls: 1…`,然後 `2…`,然後 `3…`。169此錄影顯示 mod 的運作。觀看提示詞輸入框上方的微調器行:當 Claude 列出目錄並讀取兩個檔案時,它顯示 `Thinking · tool calls: 1…`,然後 `2…`,然後 `3…`。
170 170
180 180
181若要在其自己的程式碼之外執行任何操作,例如繪製、新增命令、呼叫模型、讀取檔案、啟動程序或發出網路請求,hook 會呼叫 mods API。Hook 沒有其他方式來執行這些操作,這就是為什麼 Claude Code 可以在您安裝之前[列出 mod 的功能](#list-what-a-mod-does-before-you-install-one)。181若要在其自己的程式碼之外執行任何操作,例如繪製、新增命令、呼叫模型、讀取檔案、啟動程序或發出網路請求,hook 會呼叫 mods API。Hook 沒有其他方式來執行這些操作,這就是為什麼 Claude Code 可以在您安裝之前[列出 mod 的功能](#list-what-a-mod-does-before-you-install-one)。
182 182
183如需每個選擇背後的程式碼,請參閱[對事件做出反應](/docs/zh-TW/plugins/mods/events.md#how-a-hook-handles-an-event)。如需 hook 可以呼叫的內容,請參閱[使用 mods API](/docs/zh-TW/plugins/mods/api.md)。183如需每個選擇背後的程式碼,請參閱[對事件做出反應](https://code.claude.com/docs/zh-TW/plugins/mods/events.md#how-a-hook-handles-an-event)。如需 hook 可以呼叫的內容,請參閱[使用 mods API](https://code.claude.com/docs/zh-TW/plugins/mods/api.md)。
184 184
185### Mods 執行的位置185### Mods 執行的位置
186 186
189| 您執行 Claude Code 的位置 | Hook 執行 | Mod 繪製的內容出現 |189| 您執行 Claude Code 的位置 | Hook 執行 | Mod 繪製的內容出現 |
190| :- | :- | :- |190| :- | :- | :- |
191| 終端機中的 `claude`,包括編輯器的整合終端機和 JetBrains 外掛程式 | 是 | 是 |191| 終端機中的 `claude`,包括編輯器的整合終端機和 JetBrains 外掛程式 | 是 | 是 |
192| Desktop 應用程式的 Code 標籤,除了 WSL 工作階段外 | 是 | 是,除了[元素表](/docs/zh-TW/plugins/mods/reference.md#elements)標記為僅限終端機的元素 |192| Desktop 應用程式的 Code 標籤,除了 WSL 工作階段外 | 是 | 是,除了[元素表](https://code.claude.com/docs/zh-TW/plugins/mods/reference.md#elements)標記為僅限終端機的元素 |
193| Desktop 應用程式中的 [WSL 工作階段](/docs/zh-TW/desktop-wsl.md) | 否,因為外掛程式在 WSL 工作階段中不可用 | 否 |193| Desktop 應用程式中的 [WSL 工作階段](https://code.claude.com/docs/zh-TW/desktop-wsl.md) | 否,因為外掛程式在 WSL 工作階段中不可用 | 否 |
194| VS Code 擴充功能的聊天面板 | 是 | 是,需使用擴充功能版本 2.1.299 或更新版本。[不擷取功能旗標](/docs/zh-TW/env-vars.md#features-that-need-feature-flag-fetching)的工作階段(例如在 Amazon Bedrock 上的工作階段)需要 2.1.304 或更新版本。[轉譯位置](/docs/zh-TW/plugins/mods/reference.md#render-sites)和[元素](/docs/zh-TW/plugins/mods/reference.md#elements)表標示了面板會繪製的內容。 |194| VS Code 擴充功能的聊天面板 | 是 | 是,需使用擴充功能版本 2.1.299 或更新版本。[不擷取功能旗標](https://code.claude.com/docs/zh-TW/env-vars.md#features-that-need-feature-flag-fetching)的工作階段(例如在 Amazon Bedrock 上的工作階段)需要 2.1.304 或更新版本。[轉譯位置](https://code.claude.com/docs/zh-TW/plugins/mods/reference.md#render-sites)和[元素](https://code.claude.com/docs/zh-TW/plugins/mods/reference.md#elements)表標示了面板會繪製的內容。 |
195| `claude -p` 和 [Agent SDK](/docs/zh-TW/agent-sdk/overview.md) | 是 | 否 |195| `claude -p` 和 [Agent SDK](https://code.claude.com/docs/zh-TW/agent-sdk/overview.md) | 是 | 否 |
196| 從 claude.ai 或行動應用程式使用的 [Remote Control](/docs/zh-TW/remote-control.md) | 是,在您機器上的工作階段中 | 在您機器上的終端機中 |196| 從 claude.ai 或行動應用程式使用的 [Remote Control](https://code.claude.com/docs/zh-TW/remote-control.md) | 是,在您機器上的工作階段中 | 在您機器上的終端機中 |
197| [雲端工作階段](/docs/zh-TW/claude-code-on-the-web.md) | 是,對於[到達雲端工作階段](/docs/zh-TW/cloud-environments.md#what-carries-over-from-your-setup)的外掛程式 | 否 |197| [雲端工作階段](https://code.claude.com/docs/zh-TW/claude-code-on-the-web.md) | 是,對於[到達雲端工作階段](https://code.claude.com/docs/zh-TW/cloud-environments.md#what-carries-over-from-your-setup)的外掛程式 | 否 |
198 198
199會繪製內容的 mod 可以檢查它在哪個應用程式中執行,並在無法繪製的地方改為在逐字稿中顯示一行文字或使用命令的文字回覆。199會繪製內容的 mod 可以檢查它在哪個應用程式中執行,並在無法繪製的地方改為在逐字稿中顯示一行文字或使用命令的文字回覆。
200 200
201## 為您的組織控制 mods201## 為您的組織控制 mods
202 202
203管理員透過[受管設定](/docs/zh-TW/managed-settings.md)決定 mods 是否執行以及哪些執行。[為您的組織管理 mods](/docs/zh-TW/plugins/mods/admin.md)涵蓋預設情況、如何檢查 mod 以及如何使用您自己的 mod 強制執行原則。203管理員透過[受管設定](https://code.claude.com/docs/zh-TW/managed-settings.md)決定 mods 是否執行以及哪些執行。[為您的組織管理 mods](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md)涵蓋預設情況、如何檢查 mod 以及如何使用您自己的 mod 強制執行原則。
204 204
205## 比較 mods、設定 hook、skills 和 MCP 伺服器205## 比較 mods、設定 hook、skills 和 MCP 伺服器
206 206
214| 您編寫什麼 | JavaScript 或 TypeScript | 指令碼和 `settings.json` 項目 | Markdown | 任何語言的伺服器 |214| 您編寫什麼 | JavaScript 或 TypeScript | 指令碼和 `settings.json` 項目 | Markdown | 任何語言的伺服器 |
215| 在以下情況下選擇它 | 您想要窗格、提示詞上方的帶狀區域、自訂命令或重寫事件 | 您想要使用您已經擁有的指令碼來阻止、允許或記錄事件 | 您不斷將相同的指令貼到聊天中 | Claude 需要存取外部系統 |215| 在以下情況下選擇它 | 您想要窗格、提示詞上方的帶狀區域、自訂命令或重寫事件 | 您想要使用您已經擁有的指令碼來阻止、允許或記錄事件 | 您不斷將相同的指令貼到聊天中 | Claude 需要存取外部系統 |
216 216
217其他每一個都有自己的頁面:[Hooks](/docs/zh-TW/hooks.md)、[Skills](/docs/zh-TW/skills.md) 和 [MCP](/docs/zh-TW/mcp.md)。外掛程式可以包含上述所有項目,因此 mod 可以與 skill 和 MCP 伺服器一起在同一個外掛程式中發布。217其他每一個都有自己的頁面:[Hooks](https://code.claude.com/docs/zh-TW/hooks.md)、[Skills](https://code.claude.com/docs/zh-TW/skills.md) 和 [MCP](https://code.claude.com/docs/zh-TW/mcp.md)。外掛程式可以包含上述所有項目,因此 mod 可以與 skill 和 MCP 伺服器一起在同一個外掛程式中發布。
218 218
219## 內建於 Claude Code 的 Mods219## 內建於 Claude Code 的 Mods
220 220
224 224
225| `/plugin` 中的名稱 | 它的功能 | 它在哪裡開啟 | 如何關閉它 |225| `/plugin` 中的名稱 | 它的功能 | 它在哪裡開啟 | 如何關閉它 |
226| :- | :- | :- | :- |226| :- | :- | :- | :- |
227| `cc-plugin-agents-md` | 將 `AGENTS.md` 載入為專案指令 | 每個工作階段,除了[無法讀取 `AGENTS.md` 的工作階段](/docs/zh-TW/memory#when-agents-md-support-is-unavailable) | 在 `/plugin` 中停用它,或[選擇哪些指令檔案載入](/docs/zh-TW/memory.md#choose-which-instruction-files-load) |227| `cc-plugin-agents-md` | 將 `AGENTS.md` 載入為專案指令 | 每個工作階段,除了[無法讀取 `AGENTS.md` 的工作階段](https://code.claude.com/docs/zh-TW/memory#when-agents-md-support-is-unavailable) | 在 `/plugin` 中停用它,或[選擇哪些指令檔案載入](https://code.claude.com/docs/zh-TW/memory.md#choose-which-instruction-files-load) |
228| `cc-plugin-diff` | 接管 [`/diff`](/docs/zh-TW/interactive-mode#review-changes-with-%2Fdiff) 並繪製其窗格 | 互動式終端機工作階段 | 在 `/plugin` 中停用它。`/diff` 保留,Claude Code 的內建版本的命令回答它。 |228| `cc-plugin-diff` | 接管 [`/diff`](https://code.claude.com/docs/zh-TW/interactive-mode#review-changes-with-%2Fdiff) 並繪製其窗格 | 互動式終端機工作階段 | 在 `/plugin` 中停用它。`/diff` 保留,Claude Code 的內建版本的命令回答它。 |
229| `cc-plugin-plugin-authoring` | 為 Claude 提供[`plugin-authoring` skill](/docs/zh-TW/plugins/mods/create#ask-claude-for-a-mod)以編寫 mods。它保留 skill 且沒有 mod 程式碼。 | 除非 Anthropic 已遠端關閉已安裝的 mods | 在 `/plugin` 中停用它 |229| `cc-plugin-plugin-authoring` | 為 Claude 提供[`plugin-authoring` skill](https://code.claude.com/docs/zh-TW/plugins/mods/create#ask-claude-for-a-mod)以編寫 mods。它保留 skill 且沒有 mod 程式碼。 | 除非 Anthropic 已遠端關閉已安裝的 mods | 在 `/plugin` 中停用它 |
230| `cc-plugin-sec-default` | 保護您的組織管理的內容免受使用者安裝的 mods | [保護載入的位置](/docs/zh-TW/plugins/mods/admin.md#know-what-happens-by-default) | 您無法。管理員在受管設定中[設定順序](/docs/zh-TW/plugins/mods/admin.md#install-your-organizations-mods) |230| `cc-plugin-sec-default` | 保護您的組織管理的內容免受使用者安裝的 mods | [保護載入的位置](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md#know-what-happens-by-default) | 您無法。管理員在受管設定中[設定順序](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md#install-your-organizations-mods) |
231| `cc-plugin-telemetry` | 傳送 Claude Code 及其內建 mods 記錄的分析記錄 | 無論 Claude Code 自己的分析在哪裡開啟 | 在 `/plugin` 中停用它,或關閉分析,例如使用 [`DISABLE_TELEMETRY`](/docs/zh-TW/env-vars) |231| `cc-plugin-telemetry` | 傳送 Claude Code 及其內建 mods 記錄的分析記錄 | 無論 Claude Code 自己的分析在哪裡開啟 | 在 `/plugin` 中停用它,或關閉分析,例如使用 [`DISABLE_TELEMETRY`](https://code.claude.com/docs/zh-TW/env-vars) |
232| `cc-plugin-you-should-know` | [You should know](/docs/zh-TW/interactive-mode.md#you-should-know-suggestions):當側邊 agent 發現您可能錯過的內容時,會在提示上方顯示一則備註 | 保持關閉,直到您[將其開啟](/docs/zh-TW/interactive-mode.md#you-should-know-suggestions) | 在 `/plugin` 中停用它 |232| `cc-plugin-you-should-know` | [You should know](https://code.claude.com/docs/zh-TW/interactive-mode.md#you-should-know-suggestions):當側邊 agent 發現您可能錯過的內容時,會在提示上方顯示一則備註 | 保持關閉,直到您[將其開啟](https://code.claude.com/docs/zh-TW/interactive-mode.md#you-should-know-suggestions) | 在 `/plugin` 中停用它 |
233 233
234停止已安裝 mods 的設定和旗標,例如 `disableAllHooks`、`--bare` 和 `--safe-mode`,不會停止內建 mods。234停止已安裝 mods 的設定和旗標,例如 `disableAllHooks`、`--bare` 和 `--safe-mode`,不會停止內建 mods。
235 235
238這些 mods 中部分 mod 的來源在 [Claude Code 儲存庫的 `mods` 目錄](https://github.com/anthropics/claude-code/tree/main/mods)中是公開的。每一個都是一個完整的外掛程式,具有其 hooks 模組和測試:238這些 mods 中部分 mod 的來源在 [Claude Code 儲存庫的 `mods` 目錄](https://github.com/anthropics/claude-code/tree/main/mods)中是公開的。每一個都是一個完整的外掛程式,具有其 hooks 模組和測試:
239 239
240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff):`/diff` 窗格,具有綁定到鍵盤動作的按鈕和 mod 自己處理的捲動240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff):`/diff` 窗格,具有綁定到鍵盤動作的按鈕和 mod 自己處理的捲動
241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md):將 `AGENTS.md` 載入為專案指令,具有 [`userConfig`](/docs/zh-TW/plugins/components#user-configuration) 選項241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md):將 `AGENTS.md` 載入為專案指令,具有 [`userConfig`](https://code.claude.com/docs/zh-TW/plugins/components#user-configuration) 選項
242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default):[了解預設情況下會發生什麼](/docs/zh-TW/plugins/mods/admin.md#know-what-happens-by-default)中描述的保護,強制執行原則的 mod 的模型242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default):[了解預設情況下會發生什麼](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md#know-what-happens-by-default)中描述的保護,強制執行原則的 mod 的模型
243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry):新增其他 mods 可以呼叫的方法,並發送其類型243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry):新增其他 mods 可以呼叫的方法,並發送其類型
244 244
245## 後續步驟245## 後續步驟
246 246
247* [建立 mod](/docs/zh-TW/plugins/mods/create.md):建立一個計算工具呼叫、在微調器旁邊顯示計數並新增命令的 mod,並了解編輯和重新載入迴圈247* [建立 mod](https://code.claude.com/docs/zh-TW/plugins/mods/create.md):建立一個計算工具呼叫、在微調器旁邊顯示計數並新增命令的 mod,並了解編輯和重新載入迴圈
248* [在介面中繪製](/docs/zh-TW/plugins/mods/interface.md):窗格、提示詞上方的帶狀區域、按鈕、文字欄位和狀態248* [在介面中繪製](https://code.claude.com/docs/zh-TW/plugins/mods/interface.md):窗格、提示詞上方的帶狀區域、按鈕、文字欄位和狀態
249* [對事件做出反應](/docs/zh-TW/plugins/mods/events.md):工具呼叫、提示詞、回合以及 mods 執行的順序249* [對事件做出反應](https://code.claude.com/docs/zh-TW/plugins/mods/events.md):工具呼叫、提示詞、回合以及 mods 執行的順序
250* [使用 mods API](/docs/zh-TW/plugins/mods/api.md):命令、工具、模型呼叫、計時器和檔案250* [使用 mods API](https://code.claude.com/docs/zh-TW/plugins/mods/api.md):命令、工具、模型呼叫、計時器和檔案
251* [測試 mod](/docs/zh-TW/plugins/mods/test.md):在沒有工作階段的情況下執行的自動化測試251* [測試 mod](https://code.claude.com/docs/zh-TW/plugins/mods/test.md):在沒有工作階段的情況下執行的自動化測試
252* [對 mod 進行故障排除](/docs/zh-TW/plugins/mods/troubleshoot.md):mod 不執行任何操作的原因以及偵錯日誌252* [對 mod 進行故障排除](https://code.claude.com/docs/zh-TW/plugins/mods/troubleshoot.md):mod 不執行任何操作的原因以及偵錯日誌
253* [為您的組織管理 mods](/docs/zh-TW/plugins/mods/admin.md):預設值、受管設定、檢查 mod 和原則 mods253* [為您的組織管理 mods](https://code.claude.com/docs/zh-TW/plugins/mods/admin.md):預設值、受管設定、檢查 mod 和原則 mods
254* [Mods 參考](/docs/zh-TW/plugins/mods/reference.md):事件、方法、元素和限制254* [Mods 參考](https://code.claude.com/docs/zh-TW/plugins/mods/reference.md):事件、方法、元素和限制