30 获取 mod30 获取 mod
31</h2>31</h2>
32 32
33你可以通过以下三种方式之一开始使用 mod:33要开始使用 mod:
34 34
35* **使用你已经拥有的**:Claude Code 的一些自己的功能是 mods,例如 `/diff`。请参阅[内置于 Claude Code 的 Mods](#mods-built-into-claude-code)。35* **使用您已经拥有的**:Claude Code 自身的一些功能就是 mod,例如 `/diff`。请参阅[内置于 Claude Code 的 mod](#mods-built-into-claude-code)。
36* **创建一个**:在 Claude Code 会话中描述你想要的内容,Claude 会编写 mod。请参阅[向 Claude 请求 mod](/docs/zh-CN/plugins/mods/create#ask-claude-for-a-mod)。要了解 mod 代码如何工作,[自己编写一个](/docs/zh-CN/plugins/mods/create#write-a-mod-yourself)。36* **创建一个**:在 Claude Code 会话中描述您想要的内容,Claude 会编写 mod。请参阅[向 Claude 请求 mod](/docs/zh-CN/plugins/mods/create#ask-claude-for-a-mod)。要了解 mod 代码如何工作,[自己编写一个](/docs/zh-CN/plugins/mods/create#write-a-mod-yourself)。
37* **安装一个**:请参阅[安装或更新 mod](#install-or-update-a-mod)37* **安装一个**:请参阅[安装或更新 mod](#install-or-update-a-mod),或[试用示例 mod](#try-a-sample-mod)
38 38
39<h3 id="install-or-update-a-mod">39<h3 id="install-or-update-a-mod">
40 安装或更新 mod40 安装或更新 mod
41</h3>41</h3>
42 42
43<Warning>43<Warning>
44 Mod 是使用你的权限运行的代码。它可以读写你的文件、启动进程和发出网络请求。仅从你信任的作者和市场安装 mods。请参阅[决定是否信任 mod](#decide-whether-to-trust-a-mod)。44 mod 是使用您的权限运行的代码。它可以读写您的文件、启动进程和发出网络请求。仅从您信任的作者和市场安装 mod。请参阅[决定是否信任 mod](#decide-whether-to-trust-a-mod)。
45</Warning>45</Warning>
46 46
47Mod 作为插件从市场安装。给出插件的名称、一个 `@` 和市场的名称。这些示例从名为 `your-org` 的市场安装名为 `token-chart` 的插件:47mod 作为插件从市场安装。给出插件的名称、一个 `@` 和市场的名称。这些示例从名为 `your-org` 的市场安装名为 `token-chart` 的插件:
48 48
49* 在 Claude Code 会话中,运行 `/plugin install token-chart@your-org`。49* 在 Claude Code 会话中,运行 `/plugin install token-chart@your-org`。
50* 在你的 shell 中,运行 `claude plugin install token-chart@your-org`。50* 在您的 shell 中,运行 `claude plugin install token-chart@your-org`。
51 51
52[安装插件](/docs/zh-CN/plugins/install)涵盖市场、作用域、VS Code 扩展和桌面应用,以及[保持插件更新](/docs/zh-CN/plugins/install#keep-plugins-updated),所有这些都适用于包含 mod 的插件,无需更改。52[安装插件](/docs/zh-CN/plugins/install)涵盖市场、作用域、VS Code 扩展和桌面应用,以及[保持插件更新](/docs/zh-CN/plugins/install#keep-plugins-updated),所有这些都适用于包含 mod 的插件,无需更改。
53 53
54如果在会话打开时从 shell 安装或更新 mod,在该会话中运行 `/reload-plugins` 以加载它。否则,它将在下次启动 Claude Code 时加载。54如果在会话打开时从 shell 安装或更新 mod,请在该会话中运行 `/reload-plugins` 以加载它。否则,它将在下次启动 Claude Code 时加载。
55
56<h3 id="try-a-sample-mod">
57 试用示例 mod
58</h3>
59
60Anthropic 在 [`claude-code-playground` 仓库的 `claude-code/mods` 目录](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods)中分享示例 mod。每个示例都是一个完整的插件,其 README 说明了它的构建方式。该仓库按原样分享这些示例,不提供支持。
61
62* [`token-weather`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/token-weather):在输入框上方绘制上下文窗口的预测图
63* [`blast-radius`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/blast-radius):拦截有风险的 shell 命令(例如 `rm -rf` 或强制推送),显示它将更改的内容,并提供继续或取消的按钮
64* [`replay-theater`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/replay-theater):添加一个 `/replay` 命令,用于逐步浏览 Claude 在上一轮次中所做的文件编辑
65
66示例 mod 使用您的权限运行。要在加载之前查看它的作用,请[列出其 hook 和调用](#list-what-a-mod-does-before-you-install-one)。
67
68要试用某个示例,请克隆该仓库,并使用 `--plugin-dir` [为单个会话加载该 mod 的目录](/docs/zh-CN/plugins/create#load-a-directory-or-archive-for-one-session)。要确认 mod 已加载,请[检查会话加载了哪些 mod](#see-which-mods-a-session-loaded)。
69
70要保留某个示例,请[将克隆中的 `claude-code/mods` 目录添加为市场](/docs/zh-CN/plugins/install#add-a-marketplace),然后从 `claude-code-playground-mods` 安装该 mod。该市场指向您的克隆,因此如果您移动或删除该克隆,mod 将停止加载。
55 71
56<h2 id="decide-whether-to-trust-a-mod">72<h2 id="decide-whether-to-trust-a-mod">
57 决定是否信任 mod73 决定是否信任 mod
58</h2>74</h2>
59 75
60Mod 是使用你的权限在 Claude Code 内部运行的代码。仅从你信任的作者和[市场](/docs/zh-CN/plugins/security)安装 mods。76Mod 是使用您的权限在 Claude Code 内部运行的代码。仅从您信任的作者和[市场](/docs/zh-CN/plugins/security)安装 mod。
61 77
62<h3 id="what-a-mod-can-reach">78<h3 id="what-a-mod-can-reach">
63 Mod 可以访问什么79 Mod 可以访问什么
64</h3>80</h3>
65 81
66Mod 使用你的权限运行,所以在安装之前,了解它可以访问什么。一旦加载,mod 可以:82Mod 使用您的权限运行,所以在安装之前,请了解它可以访问什么。一旦加载,mod 可以:
67 83
68* **在你的机器上以你的身份行动**:读写你的用户账户可以访问的任何地方的文件、启动程序和发出网络请求84* **在您的机器上以您的身份行动**:读写您的用户账户可以访问的任何位置的文件、启动程序以及发出网络请求
69* **读取你的秘密**:环境变量和设置文件,包括你保存在其中任何一个的 API 密钥85* **读取您的机密信息**:环境变量和设置文件,包括您保存在其中任何一处的 API 密钥
70* **查看你的会话**:你发送的每个提示和 Claude 进行的每个工具调用86* **查看您的会话**:您发送的每个提示词和 Claude 进行的每个工具调用
71* **更改你的会话**:重写提示或工具调用、提交提示就像你输入的一样,或向你的另一个会话发送消息87* **更改您的会话**:重写提示词或工具调用、像您亲自输入一样提交提示词,或向您的另一个会话发送消息
72* **在不询问你的情况下行动**:在被询问之前批准工具调用88* **在不询问您的情况下行动**:在询问您之前批准工具调用
73* **花费你的使用量**:在你的计划或 API 密钥上调用模型89* **消耗您的使用量**:使用您的计划或 API 密钥调用模型
74 90
75批准工具调用的 mod 可以批准 `ask` 规则会提示的工具调用,或你自己的 `PreToolUse` hooks 阻止的工具调用。[使用 hooks 扩展权限](/docs/zh-CN/permissions#extend-permissions-with-hooks)列出了这样的 mod 可以批准的内容,包括它何时可以批准 `deny` 规则拒绝的调用。91Mod 不在沙箱中运行。如果您启用[沙箱隔离](/docs/zh-CN/sandboxing),沙箱会隔离 Claude 运行的 Bash 命令,而 mod 启动的进程在沙箱之外运行。
76 92
77Mod 可以重新设置 Claude Code 界面的大部分样式,但不能重新设置权限提示。它不能改变提示显示给你的内容。93批准工具调用的 mod 可以批准 `ask` 规则会提示确认的工具调用,或您自己的 `PreToolUse` hook 阻止的工具调用。[使用 hook 扩展权限](/docs/zh-CN/permissions#extend-permissions-with-hooks)列出了这样的 mod 可以批准的内容,包括它何时可以批准 `deny` 规则拒绝的调用。
94
95Mod 可以重新设置 Claude Code 界面的大部分样式,但不能重新设置权限提示。它无法改变权限提示向您显示的内容。
78 96
79<h3 id="list-what-a-mod-does-before-you-install-one">97<h3 id="list-what-a-mod-does-before-you-install-one">
80 在安装 mod 之前列出它做什么98 在安装 mod 之前列出它做什么
81</h3>99</h3>
82 100
83在安装 mod 之前,你可以列出它 hooks 的事件以及它要求 Claude Code 做什么,例如读取文件或发出网络请求,而无需运行它。首先获取插件的文件,例如通过克隆其存储库。然后,在你的 shell 中,在插件的目录上运行 `claude plugin validate`:101在安装 mod 之前,您可以在不运行它的情况下列出它处理哪些事件以及它要求 Claude Code 做什么,例如读取文件或发出网络请求。首先获取插件的文件,例如通过克隆其仓库。然后,在您的 shell 中,对插件的目录运行 `claude plugin validate`:
84 102
85```bash theme={null}103```bash theme={null}
86claude plugin validate ./some-mod104claude plugin validate ./some-mod
87```105```
88 106
89输出中的 `hooks:` 和 `calls:` 行列出了 mod 处理的事件以及它要求 Claude Code 做什么。[查看 mod 可以做什么](/docs/zh-CN/plugins/mods/admin#review-what-a-mod-can-do)显示输出以及要查找的调用。107输出中的 `hooks:` 和 `calls:` 行列出了 mod 处理的事件以及它要求 Claude Code 做什么。[查看 mod 可以做什么](/docs/zh-CN/plugins/mods/admin#review-what-a-mod-can-do)展示了输出内容以及需要留意的调用。
90 108
91<h2 id="turn-mods-on-or-off">109<h2 id="turn-mods-on-or-off">
92 打开或关闭 mods110 打开或关闭 mods
93</h2>111</h2>
94 112
95Mods 需要 Claude Code v2.1.287 或更高版本,默认情况下它们是打开的。在你的 shell 中,运行 `claude --version` 以检查,如果你的版本较旧,请更新 Claude Code。113Mods 需要 Claude Code v2.1.287 或更高版本,默认情况下它们是打开的。在您的 shell 中,运行 `claude --version` 以检查,如果您的版本较旧,请更新 Claude Code。
96 114
97要关闭 mods,选择要停止多少个,以及停止多长时间。要重新打开它们,撤销相同的更改:115要关闭 mods,选择要停止多少个,以及停止多长时间。要重新打开它们,撤销相同的更改:
98 116
99* **一个 mod**:从[`/plugin` 中的**已安装**选项卡](/docs/zh-CN/plugins/install#manage-installed-plugins)禁用或卸载其插件117* **一个 mod**:从[`/plugin` 中的**已安装**选项卡](/docs/zh-CN/plugins/install#manage-installed-plugins)禁用或卸载其插件
100* **每个已安装的 mod,对于一个会话**:使用 [`--safe-mode`](/docs/zh-CN/cli-reference#cli-flags) 启动 Claude Code,这也会排除你的其他自定义118* **每个已安装的 mod,对于一个会话**:使用 [`--safe-mode`](/docs/zh-CN/cli-reference#cli-flags) 启动 Claude Code,这也会禁用您的其他自定义
101* **你安装的每个 mod,在每个会话中**:在 `~/.claude/settings.json` 中设置 [`"disableAllHooks": true`](/docs/zh-CN/settings-reference#disableallhooks)。你的设置 hooks 和自定义状态行也会停止。你的组织管理的内容继续运行。119* **您安装的每个 mod,在每个会话中**:在 `~/.claude/settings.json` 中设置 [`"disableAllHooks": true`](/docs/zh-CN/settings-reference#disableallhooks)。您的设置 hook 和自定义状态栏也会停止。您的组织管理的内容继续运行。
120
121如果您通过组织使用 Claude Code,管理员也可以限制哪些 mods 加载。管理员从[停止用户安装的 mods 加载](/docs/zh-CN/plugins/mods/admin#stop-user-installed-mods-from-loading)开始。
102 122
103如果你通过组织使用 Claude Code,管理员也可以限制哪些 mods 加载。管理员从[停止用户安装的 mods 加载](/docs/zh-CN/plugins/mods/admin#stop-user-installed-mods-from-loading)开始。123`disableAllHooks` 和您组织的 `allowManagedModsOnly` 会停止 mod,但保留其插件的其余部分:插件保持安装状态,其 skill、命令、Agent 和 MCP 服务器照常加载。其他设置和标志的影响范围更广。[`disableAllHooks`](/docs/zh-CN/settings-reference#disableallhooks) 和[`allowManagedHooksOnly` 下运行的内容](/docs/zh-CN/settings-reference#what-runs-under-allowmanagedhooksonly)列出了每一项对插件及其设置 hook 的影响。
104 124
105要了解 mods 是否可以为你加载,请参阅[检查 mods 是否可以加载](/docs/zh-CN/plugins/mods/troubleshoot#check-whether-mods-can-load)。125要了解 mods 是否可以为您加载,请参阅[检查 mods 是否可以加载](/docs/zh-CN/plugins/mods/troubleshoot#check-whether-mods-can-load)。
106 126
107<Note>127<Note>
108 如果你在早期访问期间设置了 `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS`,请删除它。Claude Code v2.1.287 及更高版本忽略它,所以将其设置为 `0` 不会保持 mods 关闭。128 如果您在早期访问期间设置了 `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS`,请删除它。Claude Code v2.1.287 及更高版本忽略它,所以将其设置为 `0` 不会保持 mods 关闭。
109</Note>129</Note>
110 130
111<h3 id="see-which-mods-a-session-loaded">131<h3 id="see-which-mods-a-session-loaded">
112 查看会话加载了哪些 mods132 查看会话加载了哪些 mods
113</h3>133</h3>
114 134
115要查看终端会话加载了哪些 mods,在 Claude Code 提示符处运行 `/plugin`。选项卡下的暗线给出计数和名称,例如 `1 mod active · first-mod`。如果你安装的 mod 没有在那里命名,请参阅[找出为什么 mod 什么都不做](/docs/zh-CN/plugins/mods/troubleshoot#find-out-why-a-mod-does-nothing)。135要查看终端会话加载了哪些 mods,在 Claude Code 提示符处运行 `/plugin`。选项卡下的暗色行给出计数和名称,例如 `1 mod active · first-mod`。如果您安装的 mod 没有在那里列出,请参阅[找出为什么 mod 什么都不做](/docs/zh-CN/plugins/mods/troubleshoot#find-out-why-a-mod-does-nothing)。
116 136
117<h2 id="how-a-mod-works">137<h2 id="how-a-mod-works">
118 Mod 如何工作138 Mod 如何工作
119</h2>139</h2>
120 140
121Mod 是一个[插件](/docs/zh-CN/plugins/overview),其代码注册事件处理程序,称为 hooks。Claude Code 在其事件发生时运行 hook,例如当 Claude 调用工具或绘制微调器时。一个小 mod 有三个文件:141Mod 是一个[插件](/docs/zh-CN/plugins/overview),其代码注册事件处理程序,称为 hook。Claude Code 在相应事件发生时运行 hook,例如当 Claude 调用工具或绘制微调器时。一个小 mod 有三个文件:
122 142
123```text theme={null}143```text theme={null}
124first-mod/144first-mod/
130```150```
131 151
132* **`plugin.json`**:插件的[清单](/docs/zh-CN/plugins/manifest-reference)152* **`plugin.json`**:插件的[清单](/docs/zh-CN/plugins/manifest-reference)
133* **`hooks.json`**:[指向你的代码文件](/docs/zh-CN/plugins/mods/reference#files)153* **`hooks.json`**:[指向您的代码文件](/docs/zh-CN/plugins/mods/reference#files)
134* **`register.js`**:[你的代码](/docs/zh-CN/plugins/mods/create#write-a-mod-yourself),称为 hooks 模块。它告诉 Claude Code 在哪些事件上运行你的函数。154* **`register.js`**:[您的代码](/docs/zh-CN/plugins/mods/create#write-a-mod-yourself),称为 hooks 模块。它告诉 Claude Code 在哪些事件上运行您的函数。
135 155
136这是一个完整的 `register.js`。它计算 Claude 进行的工具调用,并在 Claude 工作时在微调器旁边显示计数,如 `Thinking · tool calls: 3…`。156这是一个完整的 `register.js`。它统计 Claude 进行的工具调用次数,并在 Claude 工作时在微调器旁边显示计数,如 `Thinking · tool calls: 3…`。
137 157
138```javascript hooks/register.js theme={null}158```javascript hooks/register.js theme={null}
139// The count, shared by the two hooks below159// The count, shared by the two hooks below
158}178}
159```179```
160 180
161该文件注册了两个 hooks,两者都使用顶部的 `calls` 变量:181该文件注册了两个 hook,两者都使用顶部的 `calls` 变量:
162 182
163* **[`tool.call`](/docs/zh-CN/plugins/mods/reference#tools) hook** 在 Claude 即将使用工具时运行。它将一个添加到 `calls`,要求 Claude Code 再次绘制界面,并让工具照常运行。183* **[`tool.call`](/docs/zh-CN/plugins/mods/reference#tools) hook** 在 Claude 每次即将使用工具时运行。它将 `calls` 加一,要求 Claude Code 再次绘制界面,并让工具照常运行。
164* **[`ui.render`](/docs/zh-CN/plugins/mods/reference#interface) hook** 在 Claude Code 绘制微调器时运行。它保持 Claude Code 自己的微调器,并在单词后添加计数。184* **[`ui.render`](/docs/zh-CN/plugins/mods/reference#interface) hook** 在 Claude Code 每次绘制微调器时运行。它保留 Claude Code 自己的微调器,并在其文字后添加计数。
165 185
166这个录制显示了 mod 的工作。观看提示框上方的微调器行:当 Claude 列出目录并读取两个文件时,它读取 `Thinking · tool calls: 1…`,然后 `2…`,然后 `3…`。186这段录屏展示了 mod 的工作过程。请观察输入框上方的微调器行:当 Claude 列出目录并读取两个文件时,它显示 `Thinking · tool calls: 1…`,然后是 `2…`,然后是 `3…`。
167 187
168<Frame>188<Frame>
169 <video autoPlay muted loop playsInline controls className="w-full dark:hidden" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-light.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=00a18aa0743b59a700f0275ce226e6d1" aria-label="在 Claude Code 会话中,输入并发送提示'列出此处的文件并读取 README'。当 Claude 工作时,微调器读取'Thinking · tool calls: 1',然后 2,然后 3,因为 Claude 列出文件并读取其中两个。" data-path="images/mods-overview-light.mp4" />189 <video autoPlay muted loop playsInline controls className="w-full dark:hidden" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-light.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=00a18aa0743b59a700f0275ce226e6d1" aria-label="在 Claude Code 会话中,输入并发送提示词'列出此处的文件并读取 README'。当 Claude 工作时,微调器显示'Thinking · tool calls: 1',然后是 2,然后是 3,此时 Claude 列出文件并读取其中两个。" data-path="images/mods-overview-light.mp4" />
170 190
171 <video autoPlay muted loop playsInline controls className="w-full hidden dark:block" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-dark.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=d5223da2fef16ceaaa214a36d72c0536" aria-label="在 Claude Code 会话中,输入并发送提示'列出此处的文件并读取 README'。当 Claude 工作时,微调器读取'Thinking · tool calls: 1',然后 2,然后 3,因为 Claude 列出文件并读取其中两个。" data-path="images/mods-overview-dark.mp4" />191 <video autoPlay muted loop playsInline controls className="w-full hidden dark:block" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-dark.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=d5223da2fef16ceaaa214a36d72c0536" aria-label="在 Claude Code 会话中,输入并发送提示词'列出此处的文件并读取 README'。当 Claude 工作时,微调器显示'Thinking · tool calls: 1',然后是 2,然后是 3,此时 Claude 列出文件并读取其中两个。" data-path="images/mods-overview-dark.mp4" />
172</Frame>192</Frame>
173 193
174<h3 id="what-a-hook-can-do-with-an-event">194<h3 id="what-a-hook-can-do-with-an-event">
175 Hook 可以对事件做什么195 Hook 可以对事件做什么
176</h3>196</h3>
177 197
178Claude Code 在对事件采取行动之前运行你的 hook,所以 hook 决定接下来会发生什么。它有三个选择:198Claude Code 在对事件采取行动之前运行您的 hook,因此由 hook 决定接下来会发生什么。它可以:
179 199
180* **观察**:注意正在发生的事情并让它继续不变,就像示例中的 `tool.call` hook 一样200* **观察**:记录正在发生的事情并让其不变地继续,就像示例中的 `tool.call` hook 一样
181* **重写**:在事件继续之前更改事件,就像 `ui.render` hook 在向微调器添加计数时所做的那样201* **重写**:在事件继续之前更改事件,就像 `ui.render` hook 在向微调器添加计数时所做的那样
182* **回答**:自己处理事件,所以通常的行为不会运行,例如拒绝命令202* **回答**:自己处理事件,使通常的行为不会运行,例如拒绝某个命令
183 203
184要做任何超出其自己代码的事情,例如绘制、添加命令、调用模型、读取文件、启动进程或发出网络请求,hook 调用 mods API。Hook 没有其他方式来做这些事情,这就是为什么 Claude Code 可以在安装之前[列出 mod 做什么](#list-what-a-mod-does-before-you-install-one)。204要做任何超出其自身代码的事情,例如绘制、添加命令、调用模型、读取文件、启动进程或发出网络请求,hook 需要调用 mods API。Hook 没有其他方式来做这些事情,这就是为什么 Claude Code 可以在您安装之前[列出 mod 会做什么](#list-what-a-mod-does-before-you-install-one)。
185 205
186有关每个选择背后的代码,请参阅[对事件做出反应](/docs/zh-CN/plugins/mods/events#how-a-hook-handles-an-event)。有关 hook 可以调用什么,请参阅[使用 mods API](/docs/zh-CN/plugins/mods/api)。206有关每种选择背后的代码,请参阅[对事件做出反应](/docs/zh-CN/plugins/mods/events#how-a-hook-handles-an-event)。有关 hook 可以调用什么,请参阅[使用 mods API](/docs/zh-CN/plugins/mods/api)。
187 207
188<h3 id="where-mods-run">208<h3 id="where-mods-run">
189 Mods 在哪里运行209 Mods 在哪里运行
190</h3>210</h3>
191 211
192Mod 的 hooks 在加载插件的每种会话中运行。绘制更窄:只有终端和桌面应用显示 mod 的窗格、带状区域和替换的行。此表列出了你可能运行 Claude Code 的每个地方:212Mod 的 hook 在加载该插件的每种会话中运行。绘制的范围更窄:只有终端和桌面应用会显示 mod 的窗格、带状区域和替换的行。此表列出了您可能运行 Claude Code 的每个地方:
193 213
194| 你运行 Claude Code 的地方 | Hooks 运行 | Mod 绘制的内容出现 |214| 您运行 Claude Code 的地方 | Hook 是否运行 | Mod 绘制的内容是否出现 |
195| :- | :- | :- |215| :- | :- | :- |
196| 终端中的 `claude`,包括编辑器的集成终端和 JetBrains 插件 | 是 | 是 |216| 终端中的 `claude`,包括编辑器的集成终端和 JetBrains 插件 | 是 | 是 |
197| 桌面应用的代码选项卡,除了 WSL 会话中 | 是 | 是,除了[元素表](/docs/zh-CN/plugins/mods/reference#elements)标记为仅终端的元素 |217| 桌面应用的代码选项卡,WSL 会话除外 | 是 | 是,[元素表](/docs/zh-CN/plugins/mods/reference#elements)标记为仅限终端的元素除外 |
198| 桌面应用中的 [WSL 会话](/docs/zh-CN/desktop-wsl) | 否,因为插件在 WSL 会话中不可用 | 否 |218| 桌面应用中的 [WSL 会话](/docs/zh-CN/desktop-wsl) | 否,因为插件在 WSL 会话中不可用 | 否 |
199| VS Code 扩展的聊天面板 | 是 | 否 |219| VS Code 扩展的聊天面板 | 是 | 否 |
200| `claude -p` 和[代理 SDK](/docs/zh-CN/agent-sdk/overview) | 是 | 否 |220| `claude -p` 和 [Agent SDK](/docs/zh-CN/agent-sdk/overview) | 是 | 否 |
201| 从 claude.ai 或移动应用[远程控制](/docs/zh-CN/remote-control) | 是,在你机器上的会话中 | 在你机器上的终端中 |221| 从 claude.ai 或移动应用使用 [Remote Control](/docs/zh-CN/remote-control) | 是,在您机器上的会话中 | 在您机器上的终端中 |
202| [云会话](/docs/zh-CN/claude-code-on-the-web) | 是,对于[到达云会话](/docs/zh-CN/cloud-environments#what-carries-over-from-your-setup)的插件 | 否 |222| [云端会话](/docs/zh-CN/claude-code-on-the-web) | 是,适用于[可进入云端会话](/docs/zh-CN/cloud-environments#what-carries-over-from-your-setup)的插件 | 否 |
203 223
204绘制的 mod 可以检查它运行在哪个应用中,并在文本记录中的行或命令的文本回复中回退,其中没有任何内容绘制。224会绘制内容的 mod 可以检查自己运行在哪个应用中,并在无法绘制的地方回退为会话记录中的一行或命令的文本回复。
205 225
206<h2 id="control-mods-for-your-organization">226<h2 id="control-mods-for-your-organization">
207 为你的组织控制 mods227 为你的组织控制 mods
210管理员通过[托管设置](/docs/zh-CN/managed-settings)决定 mods 是否运行以及哪些运行。[为你的组织管理 mods](/docs/zh-CN/plugins/mods/admin)涵盖默认情况下发生的事情、如何查看 mod 以及如何使用你自己的 mod 强制执行策略。230管理员通过[托管设置](/docs/zh-CN/managed-settings)决定 mods 是否运行以及哪些运行。[为你的组织管理 mods](/docs/zh-CN/plugins/mods/admin)涵盖默认情况下发生的事情、如何查看 mod 以及如何使用你自己的 mod 强制执行策略。
211 231
212<h2 id="compare-mods-settings-hooks-skills-and-mcp-servers">232<h2 id="compare-mods-settings-hooks-skills-and-mcp-servers">
213 比较 mods、设置 hooks、skills 和 MCP 服务器233 比较 mod、设置 hook、skill 和 MCP 服务器
214</h2>234</h2>
215 235
216Mods、设置 hooks、skills 和 MCP 服务器重叠。此表显示每一个是什么以及何时选择它。236Mod、设置 hook、skill 和 MCP 服务器的功能有所重叠。此表说明每一种是什么以及何时选择它。
217 237
218| | Mod | 设置 hook | Skill | MCP 服务器 |238| | Mod | 设置 hook | Skill | MCP 服务器 |
219| :- | :- | :- | :- | :- |239| :- | :- | :- | :- | :- |
220| 它是什么 | Claude Code 在其自己的进程中调用的插件中的函数 | Claude Code 在生命周期事件上运行的 shell 命令、HTTP 请求或提示 | Claude 读取的 `SKILL.md` 文件指令 | 给 Claude 工具的外部进程或服务 |240| 它是什么 | Claude Code 在其自己的进程中调用的插件中的函数 | Claude Code 在生命周期事件上运行的 shell 命令、HTTP 请求或提示词 | Claude 读取的 `SKILL.md` 文件指令 | 为 Claude 提供工具的外部进程或服务 |
221| 它可以改变什么 | 工具调用、提示、命令、转折和界面绘制的内容 | 工具调用或提示是否继续、工具调用的参数和结果,以及为 Claude 添加的上下文 | Claude 知道和做什么 | Claude 拥有哪些工具 |241| 它可以改变什么 | 工具调用、提示词、命令、轮次和界面绘制的内容 | 工具调用或提示词是否继续、工具调用的参数和结果,以及为 Claude 添加的上下文 | Claude 知道什么和做什么 | Claude 拥有哪些工具 |
222| 它可以在界面中绘制吗 | 是 | 否 | 否 | 否 |242| 它可以在界面中绘制吗 | 是 | 否 | 否 | 否 |
223| 你写什么 | JavaScript 或 TypeScript | 脚本和 `settings.json` 条目 | Markdown | 任何语言的服务器 |243| 您编写什么 | JavaScript 或 TypeScript | 脚本和 `settings.json` 条目 | Markdown | 任何语言的服务器 |
224| 当你想要时选择它 | 你想要一个窗格、提示上方的带状区域、自定义命令或重写事件 | 你想用你已经拥有的脚本阻止、允许或记录事件 | 你不断将相同的指令粘贴到聊天中 | Claude 需要到达外部系统 |244| 何时选择它 | 您想要一个窗格、输入框上方的带状区域、自定义命令或重写事件 | 您想用已有的脚本阻止、允许或记录事件 | 您不断将相同的指令粘贴到聊天中 | Claude 需要访问外部系统 |
225 245
226其他每一个都有自己的页面:[Hooks](/docs/zh-CN/hooks)、[Skills](/docs/zh-CN/skills) 和 [MCP](/docs/zh-CN/mcp)。一个插件可以容纳所有四个,所以 mod 可以与 skill 和 MCP 服务器一起在同一个插件中发货。246其他每一种都有自己的页面:[Hooks](/docs/zh-CN/hooks)、[Skills](/docs/zh-CN/skills) 和 [MCP](/docs/zh-CN/mcp)。一个插件可以容纳所有这些,因此 mod 可以与 skill 和 MCP 服务器放在同一个插件中发布。
227 247
228<h2 id="mods-built-into-claude-code">248<h2 id="mods-built-into-claude-code">
229 内置于 Claude Code 的 Mods249 内置于 Claude Code 的 Mods
230</h2>250</h2>
231 251
232Claude Code 的一些自己的功能是 mods。要查看你的会话拥有的,在 Claude Code 提示符处运行 `/plugin` 并转到**已安装**选项卡,它在**内置**下列出它们。你不能更新或卸载内置 mod,表的最后一列说明如何关闭每一个。[`mods active` 行](#see-which-mods-a-session-loaded)排除了内置 mods。252Claude Code 的一些自己的功能是 mods。要查看您的会话拥有的,在 Claude Code 提示符处运行 `/plugin` 并转到**已安装**选项卡,它在**内置**下列出它们。您不能更新或卸载内置 mod,表的最后一列说明如何关闭每一个。[`mods active` 行](#see-which-mods-a-session-loaded)排除了内置 mods。
233 253
234此表按 `/plugin` 显示的名称列出每个条目:254此表按 `/plugin` 显示的名称列出每个条目:
235 255
238| `cc-plugin-agents-md` | 将 `AGENTS.md` 加载为项目指令 | 每个会话,除了[无法读取 `AGENTS.md` 的会话](/docs/zh-CN/memory#when-agents-md-support-is-unavailable) | 在 `/plugin` 中禁用它,或[选择哪些指令文件加载](/docs/zh-CN/memory#choose-which-instruction-files-load) |258| `cc-plugin-agents-md` | 将 `AGENTS.md` 加载为项目指令 | 每个会话,除了[无法读取 `AGENTS.md` 的会话](/docs/zh-CN/memory#when-agents-md-support-is-unavailable) | 在 `/plugin` 中禁用它,或[选择哪些指令文件加载](/docs/zh-CN/memory#choose-which-instruction-files-load) |
239| `cc-plugin-diff` | 接管 [`/diff`](/docs/zh-CN/interactive-mode#review-changes-with-%2Fdiff) 并绘制其窗格 | 交互式终端会话 | 在 `/plugin` 中禁用它。`/diff` 保持,Claude Code 的内置版本的命令回答它。 |259| `cc-plugin-diff` | 接管 [`/diff`](/docs/zh-CN/interactive-mode#review-changes-with-%2Fdiff) 并绘制其窗格 | 交互式终端会话 | 在 `/plugin` 中禁用它。`/diff` 保持,Claude Code 的内置版本的命令回答它。 |
240| `cc-plugin-plugin-authoring` | 给 Claude [`plugin-authoring` skill](/docs/zh-CN/plugins/mods/create#ask-claude-for-a-mod) 用于编写 mods。它持有一个 skill,没有 mod 代码。 | 除非 Anthropic 已远程关闭已安装的 mods | 在 `/plugin` 中禁用它 |260| `cc-plugin-plugin-authoring` | 给 Claude [`plugin-authoring` skill](/docs/zh-CN/plugins/mods/create#ask-claude-for-a-mod) 用于编写 mods。它持有一个 skill,没有 mod 代码。 | 除非 Anthropic 已远程关闭已安装的 mods | 在 `/plugin` 中禁用它 |
241| `cc-plugin-sec-default` | 保护你的组织管理的内容免受用户安装的 mods | [保护加载的地方](/docs/zh-CN/plugins/mods/admin#know-what-happens-by-default) | 你不能。管理员在托管设置中[设置顺序](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods) |261| `cc-plugin-sec-default` | 保护您的组织管理的内容免受用户安装的 mods | [保护加载的地方](/docs/zh-CN/plugins/mods/admin#know-what-happens-by-default) | 您不能。管理员在托管设置中[设置顺序](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods) |
242| `cc-plugin-telemetry` | 发送 Claude Code 及其内置 mods 记录的分析记录 | 无论 Claude Code 自己的分析在哪里打开 | 在 `/plugin` 中禁用它,或关闭分析,例如使用 [`DISABLE_TELEMETRY`](/docs/zh-CN/env-vars) |262| `cc-plugin-telemetry` | 发送 Claude Code 及其内置 mods 记录的分析记录 | 无论 Claude Code 自己的分析在哪里打开 | 在 `/plugin` 中禁用它,或关闭分析,例如使用 [`DISABLE_TELEMETRY`](/docs/zh-CN/env-vars) |
243| `cc-plugin-you-should-know` | 运行一个侧面代理,在 Claude 处理较长任务时监视你的背后。当它发现值得了解的东西而你可能会错过时,它会在提示符上方显示一条注释。 | 默认禁用。如果可用于你的组织,在 `/plugin` -> **已安装** -> **显示禁用**中列出。使用 [`/plugin enable cc-plugin-you-should-know@builtin`](/docs/zh-CN/plugins/cli-reference#plugin-in-a-session) 启用。 | 在 `/plugin` 中禁用它 |263| `cc-plugin-you-should-know` | 运行一个侧边 Agent,在 Claude 处理较长任务时为您留意情况。当它发现值得了解的东西而您可能会错过时,它会在提示符上方显示一条注释。 | 默认禁用。如果可用于您的组织,在 `/plugin` -> **已安装** -> **显示禁用**中列出。使用 [`/plugin enable cc-plugin-you-should-know@builtin`](/docs/zh-CN/plugins/cli-reference#plugin-in-a-session) 启用。 | 在 `/plugin` 中禁用它 |
244 264
245停止已安装 mods 的设置和标志,例如 `disableAllHooks`、`--bare` 和 `--safe-mode`,不会停止内置 mods。265停止已安装 mods 的设置和标志,例如 `disableAllHooks`、`--bare` 和 `--safe-mode`,不会停止内置 mods。
246 266
248 阅读内置 mods 的源代码268 阅读内置 mods 的源代码
249</h3>269</h3>
250 270
251这些 mods 中的四个的源代码在 [Claude Code 存储库的 `mods` 目录](https://github.com/anthropics/claude-code/tree/main/mods)中是公开的。每一个都是一个完整的插件,带有其 hooks 模块和测试:271其中一些 mods 的源代码在 [Claude Code 仓库的 `mods` 目录](https://github.com/anthropics/claude-code/tree/main/mods)中是公开的。每一个都是一个完整的插件,带有其 hooks 模块和测试:
252 272
253* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff):`/diff` 窗格,带有绑定到键盘操作的按钮和 mod 自己处理的滚动273* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff):`/diff` 窗格,带有绑定到键盘操作的按钮和 mod 自己处理的滚动
254* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md):将 `AGENTS.md` 加载为项目指令,带有 [`userConfig`](/docs/zh-CN/plugins/components#user-configuration) 选项274* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md):将 `AGENTS.md` 加载为项目指令,带有 [`userConfig`](/docs/zh-CN/plugins/components#user-configuration) 选项
255* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default):[了解默认情况下发生的事情](/docs/zh-CN/plugins/mods/admin#know-what-happens-by-default)中描述的保护,一个强制执行策略的 mod 的模型275* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default):[了解默认情况下发生的事情](/docs/zh-CN/plugins/mods/admin#know-what-happens-by-default)中描述的保护,一个强制执行策略的 mod 的模型
256* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry):添加其他 mods 可以调用的方法,并发货其类型276* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry):添加其他 mods 可以调用的方法,并提供其类型
257 277
258<h2 id="next-steps">278<h2 id="next-steps">
259 后续步骤279 后续步骤
260</h2>280</h2>
261 281
262* [创建 mod](/docs/zh-CN/plugins/mods/create):构建一个计算工具调用、在微调器旁边显示计数并添加命令的 mod,并学习编辑和重新加载循环282* [创建 mod](/docs/zh-CN/plugins/mods/create):构建一个计算工具调用、在微调器旁边显示计数并添加命令的 mod,并学习编辑和重新加载循环
263* [在界面中绘制](/docs/zh-CN/plugins/mods/interface):窗格、提示上方的带状区域、按钮、文本字段和状态283* [在界面中绘制](/docs/zh-CN/plugins/mods/interface):窗格、输入框上方的带状区域、按钮、文本字段和状态
264* [对事件做出反应](/docs/zh-CN/plugins/mods/events):工具调用、提示、转折和 mods 运行的顺序284* [对事件做出反应](/docs/zh-CN/plugins/mods/events):工具调用、提示词、轮次和 mods 运行的顺序
265* [使用 mods API](/docs/zh-CN/plugins/mods/api):命令、工具、模型调用、计时器和文件285* [使用 mods API](/docs/zh-CN/plugins/mods/api):命令、工具、模型调用、计时器和文件
266* [测试 mod](/docs/zh-CN/plugins/mods/test):在没有会话的情况下运行的自动化测试286* [测试 mod](/docs/zh-CN/plugins/mods/test):在没有会话的情况下运行的自动化测试
267* [对 mod 进行故障排除](/docs/zh-CN/plugins/mods/troubleshoot):mod 什么都不做的原因和调试日志287* [对 mod 进行故障排除](/docs/zh-CN/plugins/mods/troubleshoot):mod 什么都不做的原因和调试日志
268* [为你的组织管理 mods](/docs/zh-CN/plugins/mods/admin):默认值、托管设置、查看 mod 和策略 mods288* [为您的组织管理 mods](/docs/zh-CN/plugins/mods/admin):默认值、托管设置、查看 mod 和策略 mods
269* [Mods 参考](/docs/zh-CN/plugins/mods/reference):每个事件、方法、元素和限制289* [Mods 参考](/docs/zh-CN/plugins/mods/reference):事件、方法、元素和限制