27Моды работают в CLI Claude Code и на вкладке Code приложения Claude Desktop. См. [Где работают моды](#where-mods-run), чтобы понять, как они ведут себя в других местах, например в расширении VS Code, `claude -p` и облачных сеансах. Если settings hook, skill или сервер MCP уже делает то, что вам нужно, [сравните их](#compare-mods-settings-hooks-skills-and-mcp-servers) перед написанием мода. Для управления модами для организации см. [Управление модами для вашей организации](/docs/ru/plugins/mods/admin).27Моды работают в CLI Claude Code и на вкладке Code приложения Claude Desktop. См. [Где работают моды](#where-mods-run), чтобы понять, как они ведут себя в других местах, например в расширении VS Code, `claude -p` и облачных сеансах. Если settings hook, skill или сервер MCP уже делает то, что вам нужно, [сравните их](#compare-mods-settings-hooks-skills-and-mcp-servers) перед написанием мода. Для управления модами для организации см. [Управление модами для вашей организации](/docs/ru/plugins/mods/admin).
28 28
29<h2 id="get-a-mod">29<h2 id="get-a-mod">
30 Получить мод30 Получение мода
31</h2>31</h2>
32 32
33Вы можете начать с мода одним из трех способов:33Чтобы начать работу с модом:
34 34
35* **Используйте уже имеющийся**: некоторые собственные функции Claude Code — это моды, такие как `/diff`. См. [Моды, встроенные в Claude Code](#mods-built-into-claude-code).35* **Используйте уже имеющийся**: некоторые собственные функции Claude Code являются модами, например `/diff`. См. [Моды, встроенные в Claude Code](#mods-built-into-claude-code).
36* **Создайте один**: опишите, что вы хотите, в сеансе Claude Code, и Claude напишет мод. См. [Попросите Claude написать мод](/docs/ru/plugins/mods/create#ask-claude-for-a-mod). Чтобы узнать, как работает код мода, [напишите его сами](/docs/ru/plugins/mods/create#write-a-mod-yourself).36* **Создайте свой**: опишите, что вам нужно, в сессии Claude Code, и Claude напишет мод. См. [Попросите Claude создать мод](/docs/ru/plugins/mods/create#ask-claude-for-a-mod). Чтобы узнать, как устроен код мода, [напишите его самостоятельно](/docs/ru/plugins/mods/create#write-a-mod-yourself).
37* **Установите один**: см. [Установка или обновление мода](#install-or-update-a-mod)37* **Установите готовый**: см. [Установка или обновление мода](#install-or-update-a-mod) или [попробуйте пример мода](#try-a-sample-mod)
38 38
39<h3 id="install-or-update-a-mod">39<h3 id="install-or-update-a-mod">
40 Установка или обновление мода40 Установка или обновление мода
41</h3>41</h3>
42 42
43<Warning>43<Warning>
44 Мод — это код, который работает с вашими разрешениями. Он может читать и писать ваши файлы, запускать процессы и делать сетевые запросы. Устанавливайте моды только от авторов и маркетплейсов, которым вы доверяете. См. [Решите, доверять ли моду](#decide-whether-to-trust-a-mod).44 Мод — это код, который выполняется с вашими разрешениями. Он может читать и записывать ваши файлы, запускать процессы и выполнять сетевые запросы. Устанавливайте моды только от авторов и из маркетплейсов, которым вы доверяете. См. [Как решить, доверять ли моду](#decide-whether-to-trust-a-mod).
45</Warning>45</Warning>
46 46
47Мод устанавливается как плагин из маркетплейса. Укажите имя плагина, `@` и имя маркетплейса. Эти примеры устанавливают плагин с именем `token-chart` из маркетплейса с именем `your-org`:47Мод устанавливается как плагин из маркетплейса. Укажите имя плагина, `@` и имя маркетплейса. Эти примеры устанавливают плагин с именем `token-chart` из маркетплейса с именем `your-org`:
48 48
49* В сеансе Claude Code запустите `/plugin install token-chart@your-org`.49* В сессии Claude Code выполните `/plugin install token-chart@your-org`.
50* В вашей оболочке запустите `claude plugin install token-chart@your-org`.50* В оболочке выполните `claude plugin install token-chart@your-org`.
51 51
52[Установка плагинов](/docs/ru/plugins/install) охватывает маркетплейсы, области видимости, расширение VS Code и приложение Desktop, а также [поддержание плагинов в актуальном состоянии](/docs/ru/plugins/install#keep-plugins-updated), все из которых применяются к плагину, содержащему мод без изменений.52В разделе [Установка плагинов](/docs/ru/plugins/install) рассматриваются маркетплейсы, области действия, расширение VS Code и приложение Desktop, а также [поддержание плагинов в актуальном состоянии](/docs/ru/plugins/install#keep-plugins-updated) — всё это без изменений применимо к плагину, содержащему мод.
53 53
54Если вы устанавливаете или обновляете мод из вашей оболочки, пока сеанс открыт, запустите `/reload-plugins` в этом сеансе, чтобы загрузить его. В противном случае он загружается при следующем запуске Claude Code.54Если вы устанавливаете или обновляете мод из оболочки, пока сессия открыта, выполните `/reload-plugins` в этой сессии, чтобы загрузить его. В противном случае он загрузится при следующем запуске Claude Code.
55
56<h3 id="try-a-sample-mod">
57 Попробуйте пример мода
58</h3>
59
60Anthropic публикует примеры модов в [каталоге `claude-code/mods` репозитория `claude-code-playground`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods). Каждый из них — это полноценный плагин, а в его 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` или принудительный push, до её выполнения и показывает, что она изменит, с кнопками для продолжения или отмены
64* [`replay-theater`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/replay-theater): добавляет команду `/replay`, которая пошагово показывает правки файлов, внесённые Claude за последний ход
65
66Пример мода выполняется с вашими разрешениями. Чтобы узнать, что он делает, перед его загрузкой, [просмотрите список его хуков и вызовов](#list-what-a-mod-does-before-you-install-one).
67
68Чтобы попробовать мод, клонируйте репозиторий и [загрузите каталог мода на одну сессию](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session) с помощью `--plugin-dir`. Чтобы убедиться, что мод загрузился, [проверьте, какие моды загрузила сессия](#see-which-mods-a-session-loaded).
69
70Чтобы сохранить мод, [добавьте каталог `claude-code/mods` вашего клона в качестве маркетплейса](/docs/ru/plugins/install#add-a-marketplace), а затем установите мод из `claude-code-playground-mods`. Маркетплейс указывает на ваш клон, поэтому мод перестанет загружаться, если вы переместите или удалите клон.
55 71
56<h2 id="decide-whether-to-trust-a-mod">72<h2 id="decide-whether-to-trust-a-mod">
57 Решите, доверять ли моду73 Решите, доверять ли моду
66Мод работает с вашими разрешениями, поэтому перед установкой знайте, к чему у него есть доступ. После загрузки мод может:82Мод работает с вашими разрешениями, поэтому перед установкой знайте, к чему у него есть доступ. После загрузки мод может:
67 83
68* **Действовать на вашей машине от вашего имени**: читать и писать файлы в любом месте, где может ваша учетная запись пользователя, запускать программы и делать сетевые запросы84* **Действовать на вашей машине от вашего имени**: читать и писать файлы в любом месте, где может ваша учетная запись пользователя, запускать программы и делать сетевые запросы
69* **Читать ваши секреты**: переменные окружения и файлы параметров, включая ключ API, который вы храните в любом из них85* **Читать ваши секреты**: переменные окружения и файлы настроек, включая API-ключ, который вы храните в любом из них
70* **Видеть ваш сеанс**: каждую подсказку, которую вы отправляете, и каждый вызов инструмента, который делает Claude86* **Видеть вашу сессию**: каждый промпт, который вы отправляете, и каждый вызов инструмента, который делает Claude
71* **Изменять ваш сеанс**: переписывать подсказку или вызов инструмента, отправлять подсказку так, как если бы вы ее набрали, или отправлять сообщение в другой из ваших сеансов87* **Изменять вашу сессию**: переписывать промпт или вызов инструмента, отправлять промпт так, как если бы вы его набрали, или отправлять сообщение в другую из ваших сессий
72* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят88* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят
73* **Потратить вашу квоту**: вызвать модель в вашем плане или ключе API89* **Потратить вашу квоту**: вызвать модель в рамках вашего плана или с вашим API-ключом
74 90
75Мод, который одобряет вызовы инструментов, может одобрить тот, который правило `ask` запросит, или который заблокировал один из ваших собственных hooks `PreToolUse`. [Расширение разрешений с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks) перечисляет, что может одобрить такой мод, включая случаи, когда он может одобрить вызов, который правило `deny` отказывает.91Моды не изолируются в песочнице. Если вы включите [изоляцию в песочнице](/docs/ru/sandboxing), песочница изолирует команды Bash, которые запускает Claude, а процесс, запущенный модом, работает вне её.
76 92
77Мод может переоформить большую часть интерфейса Claude Code, но не подсказку разрешения. Он не может изменить то, что вам показывает подсказка.93Мод, который одобряет вызовы инструментов, может одобрить тот, для которого правило `ask` запросило бы подтверждение, или который заблокировал один из ваших собственных хуков `PreToolUse`. [Расширение разрешений с помощью хуков](/docs/ru/permissions#extend-permissions-with-hooks) перечисляет, что может одобрить такой мод, включая случаи, когда он может одобрить вызов, в котором отказывает правило `deny`.
94
95Мод может переоформить большую часть интерфейса 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 Перечислите, что делает мод перед установкой98 Перечислите, что делает мод перед установкой
81</h3>99</h3>
82 100
83Перед установкой мода вы можете перечислить, какие события он перехватывает и что он просит Claude Code делать, например читать файл или делать сетевой запрос, без его запуска. Сначала получите файлы плагина, например клонировав его репозиторий. Затем в вашей оболочке запустите `claude plugin validate` в каталоге плагина:101Перед установкой мода вы можете перечислить, какие события он обрабатывает и что он просит Claude Code делать, например читать файл или делать сетевой запрос, без его запуска. Сначала получите файлы плагина, например клонировав его репозиторий. Затем в вашей оболочке запустите `claude plugin validate` в каталоге плагина:
84 102
85```bash theme={null}103```bash theme={null}
86claude plugin validate ./some-mod104claude plugin validate ./some-mod
97Чтобы отключить моды, выберите, сколько их остановить и на как долго. Чтобы включить их обратно, отмените то же изменение:115Чтобы отключить моды, выберите, сколько их остановить и на как долго. Чтобы включить их обратно, отмените то же изменение:
98 116
99* **Один мод**: отключите или удалите его плагин со [вкладки **Installed** в `/plugin`](/docs/ru/plugins/install#manage-installed-plugins)117* **Один мод**: отключите или удалите его плагин со [вкладки **Installed** в `/plugin`](/docs/ru/plugins/install#manage-installed-plugins)
100* **Каждый установленный мод, для одного сеанса**: запустите Claude Code с [`--safe-mode`](/docs/ru/cli-reference#cli-flags), что также исключает ваши другие настройки118* **Каждый установленный мод, для одной сессии**: запустите Claude Code с [`--safe-mode`](/docs/ru/cli-reference#cli-flags), что также отключает ваши другие настройки
101* **Каждый мод, который вы установили, в каждом сеансе**: установите [`"disableAllHooks": true`](/docs/ru/settings-reference#disableallhooks) в `~/.claude/settings.json`. Ваши settings hooks и пользовательская строка состояния также остановятся. То, что управляет ваша организация, продолжает работать.119* **Каждый мод, который вы установили, в каждой сессии**: задайте [`"disableAllHooks": true`](/docs/ru/settings-reference#disableallhooks) в `~/.claude/settings.json`. Ваши хуки из настроек и пользовательская строка состояния также остановятся. То, чем управляет ваша организация, продолжает работать.
102 120
103Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](/docs/ru/plugins/mods/admin#stop-user-installed-mods-from-loading).121Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](/docs/ru/plugins/mods/admin#stop-user-installed-mods-from-loading).
104 122
123`disableAllHooks` и параметр вашей организации `allowManagedModsOnly` останавливают мод, но оставляют остальную часть его плагина на месте: плагин остаётся установленным, а его скиллы, команды, агенты и MCP-серверы загружаются. Другие настройки и флаги действуют шире. В разделах [`disableAllHooks`](/docs/ru/settings-reference#disableallhooks) и [Что работает при `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) перечислено, как каждый из них влияет на плагин и его хуки из настроек.
124
105Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](/docs/ru/plugins/mods/troubleshoot#check-whether-mods-can-load).125Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](/docs/ru/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` не отключает моды.128 Если вы задали `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` во время раннего доступа, удалите эту переменную. Claude Code v2.1.287 и позже игнорирует её, поэтому значение `0` не отключает моды.
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 Посмотрите, какие моды загрузил сеанс132 Посмотрите, какие моды загрузила сессия
113</h3>133</h3>
114 134
115Чтобы увидеть, какие моды загрузил сеанс терминала, запустите `/plugin` в подсказке Claude Code. Тусклая линия под вкладками дает счетчик и имена, такие как `1 mod active · first-mod`. Если мод, который вы установили, не указан там, см. [Узнайте, почему мод ничего не делает](/docs/ru/plugins/mods/troubleshoot#find-out-why-a-mod-does-nothing).135Чтобы увидеть, какие моды загрузила сессия терминала, запустите `/plugin` в промпте Claude Code. Тусклая строка под вкладками показывает количество и имена, например `1 mod active · first-mod`. Если мод, который вы установили, не указан там, см. [Узнайте, почему мод ничего не делает](/docs/ru/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 Как работает мод138 Как работает мод
119</h2>139</h2>
120 140
121Мод — это [плагин](/docs/ru/plugins/overview), чей код регистрирует обработчики событий, называемые hooks. Claude Code запускает hook при возникновении его события, например когда Claude вызывает инструмент или когда рисуется спиннер. Небольшой мод имеет три файла:141Мод — это [плагин](/docs/ru/plugins/overview), чей код регистрирует обработчики событий, называемые хуками. Claude Code запускает хук при возникновении его события, например когда Claude вызывает инструмент или когда рисуется спиннер. Небольшой мод состоит из трех файлов:
122 142
123```text theme={null}143```text theme={null}
124first-mod/144first-mod/
131 151
132* **`plugin.json`**: [манифест](/docs/ru/plugins/manifest-reference) плагина152* **`plugin.json`**: [манифест](/docs/ru/plugins/manifest-reference) плагина
133* **`hooks.json`**: [указывает на ваш файл кода](/docs/ru/plugins/mods/reference#files)153* **`hooks.json`**: [указывает на ваш файл кода](/docs/ru/plugins/mods/reference#files)
134* **`register.js`**: [ваш код](/docs/ru/plugins/mods/create#write-a-mod-yourself), называемый модулем hooks. Он сообщает Claude Code, на каких событиях запускать ваши функции.154* **`register.js`**: [ваш код](/docs/ru/plugins/mods/create#write-a-mod-yourself), называемый модулем хуков. Он сообщает 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// Счетчик, совместно используемый двумя hooks ниже159// The count, shared by the two hooks below
140let calls = 0160let calls = 0
141 161
142// Claude Code вызывает это один раз при загрузке мода162// Claude Code calls this once when the mod loads
143export function register(on) {163export function register(on) {
144 // Запускается каждый раз, когда Claude собирается использовать инструмент164 // Runs each time Claude is about to use a tool
145 on('tool.call', async ($, e, next) => {165 on('tool.call', async ($, e, next) => {
146 calls += 1166 calls += 1
147 // Попросите Claude Code перерисовать интерфейс, чтобы показался новый счетчик167 // Ask Claude Code to draw the interface again, so the new count shows
148 $.ui.invalidate('ui.render')168 $.ui.invalidate('ui.render')
149 // Позвольте инструменту работать как обычно169 // Let the tool run as usual
150 return next(e)170 return next(e)
151 })171 })
152 172
153 // Запускается каждый раз, когда Claude Code рисует спиннер173 // Runs each time Claude Code draws the spinner
154 on('ui.render', { component: 'Spinner' }, async ($, e, next) => {174 on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
155 // Сохраните спиннер Claude Code со счетчиком, добавленным после его слова175 // Keep Claude Code's spinner, with the count added after its word
156 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })176 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
157 })177 })
158}178}
159```179```
160 180
161Файл регистрирует два hook, и оба используют переменную `calls` в верхней части:181Файл регистрирует два хука, и оба используют переменную `calls` в верхней части:
162 182
163* **Hook [`tool.call`](/docs/ru/plugins/mods/reference#tools)** запускается каждый раз, когда Claude собирается использовать инструмент. Он добавляет один к `calls`, просит Claude Code перерисовать интерфейс и позволяет инструменту работать как обычно.183* **Хук [`tool.call`](/docs/ru/plugins/mods/reference#tools)** запускается каждый раз, когда Claude собирается использовать инструмент. Он добавляет единицу к `calls`, просит Claude Code перерисовать интерфейс и позволяет инструменту работать как обычно.
164* **Hook [`ui.render`](/docs/ru/plugins/mods/reference#interface)** запускается каждый раз, когда Claude Code рисует спиннер. Он сохраняет собственный спиннер Claude Code и добавляет счетчик после слова.184* **Хук [`ui.render`](/docs/ru/plugins/mods/reference#interface)** запускается каждый раз, когда Claude Code рисует спиннер. Он сохраняет собственный спиннер Claude Code и добавляет счетчик после слова.
165 185
166Эта запись показывает мод в действии. Смотрите строку спиннера над полем подсказки: пока Claude перечисляет каталог и читает два файла, он читает `Thinking · tool calls: 1…`, затем `2…`, затем `3…`.186Эта запись показывает мод в действии. Смотрите на строку спиннера над полем промпта: пока 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 вводится и отправляется подсказка 'list the files here and read the 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 вводится и отправляется промпт 'list the files here and read the 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 вводится и отправляется подсказка 'list the files here and read the 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 вводится и отправляется промпт 'list the files here and read the 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 Что хук может делать с событием
176</h3>196</h3>
177 197
178Claude Code запускает ваш hook перед тем, как действовать на событие, поэтому hook решает, что произойдет дальше. У него есть три варианта:198Claude Code запускает ваш хук перед тем, как отреагировать на событие, поэтому хук решает, что произойдет дальше. Он может:
179 199
180* **Наблюдать**: заметить, что происходит, и позволить ему продолжаться без изменений, как делает hook `tool.call` в примере200* **Наблюдать**: отметить, что происходит, и позволить событию продолжиться без изменений, как делает хук `tool.call` в примере
181* **Переписать**: изменить событие перед его продолжением, как делает hook `ui.render`, когда добавляет счетчик к спиннеру201* **Переписать**: изменить событие перед его продолжением, как делает хук `ui.render`, когда добавляет счетчик к спиннеру
182* **Ответить**: обработать событие самостоятельно, чтобы обычное поведение не запускалось, например отказать в команде202* **Ответить**: обработать событие самостоятельно, чтобы обычное поведение не запускалось, например отказать в выполнении команды
183 203
184Чтобы делать что-либо вне собственного кода, такое как рисование, добавление команды, вызов модели, чтение файла, запуск процесса или создание сетевого запроса, hook вызывает API модов. Hook не имеет другого способа делать эти вещи, поэтому Claude Code может [перечислить, что делает мод](#list-what-a-mod-does-before-you-install-one) перед его установкой.204Чтобы делать что-либо вне собственного кода, например рисовать, добавлять команду, вызывать модель, читать файл, запускать процесс или выполнять сетевой запрос, хук вызывает API модов. У хука нет другого способа делать эти вещи, поэтому Claude Code может [перечислить, что делает мод](#list-what-a-mod-does-before-you-install-one), до того как вы его установите.
185 205
186Для кода, стоящего за каждым выбором, см. [Реакция на события](/docs/ru/plugins/mods/events#how-a-hook-handles-an-event). Для того, что может вызвать hook, см. [Использование API модов](/docs/ru/plugins/mods/api).206Код для каждого варианта см. в разделе [Реакция на события](/docs/ru/plugins/mods/events#how-a-hook-handles-an-event). Что может вызывать хук, см. в разделе [Использование API модов](/docs/ru/plugins/mods/api).
187 207
188<h3 id="where-mods-run">208<h3 id="where-mods-run">
189 Где работают моды209 Где работают моды
190</h3>210</h3>
191 211
192Hooks мода работают в каждом типе сеанса, который загружает плагин. Рисование более узко: только терминал и приложение Desktop показывают панели, полосы и замененные строки мода. Эта таблица перечисляет каждое место, где вы можете запустить Claude Code:212Хуки мода работают в каждом типе сессии, которая загружает плагин. С рисованием все ограниченнее: только терминал и приложение Desktop показывают панели, полосы и замененные строки мода. В этой таблице перечислены все места, где вы можете запустить Claude Code:
193 213
194| Где вы запускаете Claude Code | Hooks работают | Что рисует мод появляется |214| Где вы запускаете Claude Code | Хуки работают | То, что рисует мод, отображается |
195| :- | :- | :- |215| :- | :- | :- |
196| `claude` в терминале, включая интегрированный терминал редактора и плагин JetBrains | Да | Да |216| `claude` в терминале, включая встроенный терминал редактора и плагин JetBrains | Да | Да |
197| Вкладка Code приложения Desktop, кроме сеанса WSL | Да | Да, кроме элементов, которые [таблица элементов](/docs/ru/plugins/mods/reference#elements) отмечает как только для терминала |217| Вкладка Code приложения Desktop, кроме сессии WSL | Да | Да, кроме элементов, которые [таблица элементов](/docs/ru/plugins/mods/reference#elements) отмечает как только для терминала |
198| [Сеанс WSL](/docs/ru/desktop-wsl) в приложении Desktop | Нет, потому что плагины недоступны в сеансах WSL | Нет |218| [Сессия WSL](/docs/ru/desktop-wsl) в приложении Desktop | Нет, потому что плагины недоступны в сессиях WSL | Нет |
199| Панель чата расширения VS Code | Да | Нет |219| Панель чата расширения VS Code | Да | Нет |
200| `claude -p` и [Agent SDK](/docs/ru/agent-sdk/overview) | Да | Нет |220| `claude -p` и [Agent SDK](/docs/ru/agent-sdk/overview) | Да | Нет |
201| [Remote Control](/docs/ru/remote-control) из claude.ai или мобильного приложения | Да, в сеансе на вашей машине | В терминале на вашей машине |221| [Remote Control](/docs/ru/remote-control) из claude.ai или мобильного приложения | Да, в сессии на вашей машине | В терминале на вашей машине |
202| [Облачный сеанс](/docs/ru/claude-code-on-the-web) | Да, для плагина, который [достигает облачного сеанса](/docs/ru/cloud-environments#what-carries-over-from-your-setup) | Нет |222| [Облачная сессия](/docs/ru/claude-code-on-the-web) | Да, для плагина, который [попадает в облачную сессию](/docs/ru/cloud-environments#what-carries-over-from-your-setup) | Нет |
203 223
204Мод, который рисует, может проверить, в каком приложении он работает, и вернуться к строке в транскрипте или текстовому ответу команды, где ничего не рисуется.224Мод, который рисует, может проверить, в каком приложении он работает, и там, где ничего не рисуется, перейти на строку в транскрипте или текстовый ответ команды.
205 225
206<h2 id="control-mods-for-your-organization">226<h2 id="control-mods-for-your-organization">
207 Управление модами для вашей организации227 Управление модами для вашей организации
210Администраторы решают, работают ли моды и какие из них, через [управляемые параметры](/docs/ru/managed-settings). [Управление модами для вашей организации](/docs/ru/plugins/mods/admin) охватывает, что происходит по умолчанию, как просмотреть мод и как применить политику с помощью собственного мода.230Администраторы решают, работают ли моды и какие из них, через [управляемые параметры](/docs/ru/managed-settings). [Управление модами для вашей организации](/docs/ru/plugins/mods/admin) охватывает, что происходит по умолчанию, как просмотреть мод и как применить политику с помощью собственного мода.
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 Сравнение модов, settings hooks, skills и серверов MCP233 Сравнение модов, хуков настроек, скиллов и серверов MCP
214</h2>234</h2>
215 235
216Моды, settings hooks, skills и серверы MCP перекрываются. Эта таблица показывает, что это такое и когда выбрать каждый.236Моды, хуки настроек, скиллы и серверы MCP перекрываются. Эта таблица показывает, что это такое и когда выбрать каждый.
217 237
218| | Мод | Settings hook | Skill | Сервер MCP |238| | Мод | Хук настроек | Скилл | Сервер MCP |
219| :- | :- | :- | :- | :- |239| :- | :- | :- | :- | :- |
220| Что это | Функции в плагине, которые Claude Code вызывает в своем собственном процессе | Команда оболочки, HTTP-запрос или подсказка, которую Claude Code запускает на событии жизненного цикла | Файл `SKILL.md` с инструкциями, которые читает Claude | Внешний процесс или сервис, который предоставляет Claude инструменты |240| Что это | Функции в плагине, которые Claude Code вызывает в своем собственном процессе | Команда оболочки, HTTP-запрос или промпт, который Claude Code запускает при событии жизненного цикла | Файл `SKILL.md` с инструкциями, которые читает Claude | Внешний процесс или сервис, который предоставляет 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/ru/hooks), [Skills](/docs/ru/skills) и [MCP](/docs/ru/mcp). Плагин может содержать все четыре, поэтому мод может поставляться в одном плагине с skill и сервером MCP.246Каждый из остальных имеет свою собственную страницу: [Хуки](/docs/ru/hooks), [Скиллы](/docs/ru/skills) и [MCP](/docs/ru/mcp). Плагин может содержать их все, поэтому мод может поставляться в одном плагине со скиллом и сервером MCP.
227 247
228<h2 id="mods-built-into-claude-code">248<h2 id="mods-built-into-claude-code">
229 Моды, встроенные в Claude Code249 Моды, встроенные в Claude Code
230</h2>250</h2>
231 251
232Некоторые собственные функции Claude Code — это моды. Чтобы увидеть те, которые есть в вашем сеансе, запустите `/plugin` в подсказке Claude Code и перейдите на вкладку **Installed**, которая перечисляет их в разделе **Built-in**. Вы не можете обновлять или удалять встроенный мод, и последний столбец таблицы говорит, как отключить каждый. Строка [`mods active`](#see-which-mods-a-session-loaded) исключает встроенные моды.252Некоторые собственные функции Claude Code — это моды. Чтобы увидеть те, которые есть в вашей сессии, запустите `/plugin` в промпте Claude Code и перейдите на вкладку **Installed**, где они перечислены в разделе **Built-in**. Вы не можете обновлять или удалять встроенный мод, а в последнем столбце таблицы указано, как отключить каждый из них. Строка [`mods active`](#see-which-mods-a-session-loaded) не включает встроенные моды.
233 253
234Эта таблица перечисляет каждую запись по имени, которое показывает `/plugin`:254В этой таблице каждая запись указана по имени, которое показывает `/plugin`:
235 255
236| Имя в `/plugin` | Что он делает | Где он включен | Как его отключить |256| Имя в `/plugin` | Что он делает | Где он включен | Как его отключить |
237| :- | :- | :- | :- |257| :- | :- | :- | :- |
238| `cc-plugin-agents-md` | Загружает `AGENTS.md` как инструкции проекта | Каждый сеанс, кроме [тех, которые не могут читать `AGENTS.md`](/docs/ru/memory#when-agents-md-support-is-unavailable) | Отключите его в `/plugin` или [выберите, какие файлы инструкций загружаются](/docs/ru/memory#choose-which-instruction-files-load) |258| `cc-plugin-agents-md` | Загружает `AGENTS.md` как инструкции проекта | Каждая сессия, кроме [тех, которые не могут читать `AGENTS.md`](/docs/ru/memory#when-agents-md-support-is-unavailable) | Отключите его в `/plugin` или [выберите, какие файлы инструкций загружаются](/docs/ru/memory#choose-which-instruction-files-load) |
239| `cc-plugin-diff` | Берет на себя [`/diff`](/docs/ru/interactive-mode#review-changes-with-%2Fdiff) и рисует его панель | Интерактивные сеансы терминала | Отключите его в `/plugin`. `/diff` остается, и встроенная версия команды Claude Code отвечает на него. |259| `cc-plugin-diff` | Берет на себя [`/diff`](/docs/ru/interactive-mode#review-changes-with-%2Fdiff) и отрисовывает его панель | Интерактивные сессии в терминале | Отключите его в `/plugin`. `/diff` останется, и на него будет отвечать встроенная версия команды Claude Code. |
240| `cc-plugin-plugin-authoring` | Дает Claude skill [`plugin-authoring`](/docs/ru/plugins/mods/create#ask-claude-for-a-mod) для написания модов. Он содержит skill и без кода мода. | Если Anthropic не отключила установленные моды удаленно | Отключите его в `/plugin` |260| `cc-plugin-plugin-authoring` | Дает Claude [скилл `plugin-authoring`](/docs/ru/plugins/mods/create#ask-claude-for-a-mod) для написания модов. Он содержит скилл и не содержит кода мода. | Если Anthropic не отключила установленные моды удаленно | Отключите его в `/plugin` |
241| `cc-plugin-sec-default` | Охраняет то, что управляет ваша организация, от модов, которые устанавливает пользователь | [Где загружается охрана](/docs/ru/plugins/mods/admin#know-what-happens-by-default) | Вы не можете. Администратор [устанавливает порядок](/docs/ru/plugins/mods/admin#install-your-organizations-mods) в управляемых параметрах |261| `cc-plugin-sec-default` | Защищает то, чем управляет ваша организация, от модов, которые устанавливает пользователь | [Где загружается защита](/docs/ru/plugins/mods/admin#know-what-happens-by-default) | Никак. Администратор [задает порядок](/docs/ru/plugins/mods/admin#install-your-organizations-mods) в управляемых настройках |
242| `cc-plugin-telemetry` | Отправляет записи аналитики, которые регистрируют Claude Code и его встроенные моды | Везде, где включена собственная аналитика Claude Code | Отключите его в `/plugin` или отключите аналитику, например с помощью [`DISABLE_TELEMETRY`](/docs/ru/env-vars) |262| `cc-plugin-telemetry` | Отправляет записи аналитики, которые записывают в лог Claude Code и его встроенные моды | Везде, где включена собственная аналитика Claude Code | Отключите его в `/plugin` или отключите аналитику, например с помощью [`DISABLE_TELEMETRY`](/docs/ru/env-vars) |
243| `cc-plugin-you-should-know` | Запускает вспомогательного агента, который следит за вами, пока Claude работает над более длительными задачами. Когда он находит что-то стоящее знать, что вы можете пропустить, он показывает вам заметку над подсказкой. | Отключено по умолчанию. Указано в `/plugin` -> **Installed** -> **Show disabled**, если доступно для вашей организации. Включите с помощью [`/plugin enable cc-plugin-you-should-know@builtin`](/docs/ru/plugins/cli-reference#plugin-in-a-session). | Отключите его в `/plugin` |263| `cc-plugin-you-should-know` | Запускает вспомогательного агента, который подстраховывает вас, пока Claude работает над более длительными задачами. Когда он находит что-то, что стоит знать и что вы можете упустить, он показывает вам заметку над промптом. | Отключено по умолчанию. Указано в `/plugin` -> **Installed** -> **Show disabled**, если доступно для вашей организации. Включите с помощью [`/plugin enable cc-plugin-you-should-know@builtin`](/docs/ru/plugins/cli-reference#plugin-in-a-session). | Отключите его в `/plugin` |
244 264
245Параметры и флаги, которые останавливают установленные моды, такие как `disableAllHooks`, `--bare` и `--safe-mode`, не останавливают встроенные моды.265Настройки и флаги, которые останавливают установленные моды, такие как `disableAllHooks`, `--bare` и `--safe-mode`, не останавливают встроенные моды.
246 266
247<h3 id="read-the-source-of-built-in-mods">267<h3 id="read-the-source-of-built-in-mods">
248 Прочитайте исходный код встроенных модов268 Прочитайте исходный код встроенных модов
249</h3>269</h3>
250 270
251Исходный код четырех из этих модов является общедоступным в [каталоге `mods` репозитория Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Каждый — это полный плагин с его модулем hooks и тестами:271Исходный код некоторых из этих модов общедоступен в [каталоге `mods` репозитория Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Каждый из них — это полноценный плагин с модулем хуков и тестами:
252 272
253* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): панель `/diff` с кнопками, привязанными к действиям клавиатуры и прокруткой, которую обрабатывает мод273* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): панель `/diff` с кнопками, привязанными к действиям клавиатуры, и прокруткой, которую мод обрабатывает сам
254* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md): загружает `AGENTS.md` как инструкции проекта с опцией [`userConfig`](/docs/ru/plugins/components#user-configuration)274* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md): загружает `AGENTS.md` как инструкции проекта с опцией [`userConfig`](/docs/ru/plugins/components#user-configuration)
255* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): охрана, описанная в [Знайте, что происходит по умолчанию](/docs/ru/plugins/mods/admin#know-what-happens-by-default), модель для мода, который применяет политику275* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): защита, описанная в разделе [Знайте, что происходит по умолчанию](/docs/ru/plugins/mods/admin#know-what-happens-by-default), образец мода, который применяет политику
256* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): добавляет методы, которые могут вызывать другие моды, и поставляет их типы276* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): добавляет методы, которые могут вызывать другие моды, и поставляет их типы
257 277
258<h2 id="next-steps">278<h2 id="next-steps">
260</h2>280</h2>
261 281
262* [Создание мода](/docs/ru/plugins/mods/create): создайте один, который считает вызовы инструментов, показывает счетчик рядом со спиннером и добавляет команду, и узнайте цикл редактирования и перезагрузки282* [Создание мода](/docs/ru/plugins/mods/create): создайте один, который считает вызовы инструментов, показывает счетчик рядом со спиннером и добавляет команду, и узнайте цикл редактирования и перезагрузки
263* [Рисование в интерфейсе](/docs/ru/plugins/mods/interface): панели, полоса над подсказкой, кнопки, текстовые поля и состояние283* [Рисование в интерфейсе](/docs/ru/plugins/mods/interface): панели, полоса над промптом, кнопки, текстовые поля и состояние
264* [Реакция на события](/docs/ru/plugins/mods/events): вызовы инструментов, подсказки, ходы и порядок, в котором работают моды284* [Реакция на события](/docs/ru/plugins/mods/events): вызовы инструментов, промпты, ходы и порядок, в котором работают моды
265* [Использование API модов](/docs/ru/plugins/mods/api): команды, инструменты, вызовы моделей, таймеры и файлы285* [Использование API модов](/docs/ru/plugins/mods/api): команды, инструменты, вызовы моделей, таймеры и файлы
266* [Тестирование мода](/docs/ru/plugins/mods/test): автоматизированные тесты, которые работают без сеанса286* [Тестирование мода](/docs/ru/plugins/mods/test): автоматизированные тесты, которые работают без сессии
267* [Устранение неполадок мода](/docs/ru/plugins/mods/troubleshoot): причины, по которым мод ничего не делает, и журнал отладки287* [Устранение неполадок мода](/docs/ru/plugins/mods/troubleshoot): причины, по которым мод ничего не делает, и лог отладки
268* [Управление модами для вашей организации](/docs/ru/plugins/mods/admin): значения по умолчанию, управляемые параметры, просмотр мода и моды политики288* [Управление модами для вашей организации](/docs/ru/plugins/mods/admin): значения по умолчанию, управляемые настройки, просмотр мода и моды политики
269* [Справочник модов](/docs/ru/plugins/mods/reference): каждое событие, метод, элемент и ограничение289* [Справочник модов](/docs/ru/plugins/mods/reference): события, методы, элементы и ограничения