6 6
7> Добавляйте панели, команды и правила вызова инструментов в Claude Code с помощью мода. Узнайте, что может делать мод, как его создать или установить, и где работают моды.7> Добавляйте панели, команды и правила вызова инструментов в Claude Code с помощью мода. Узнайте, что может делать мод, как его создать или установить, и где работают моды.
8 8
9Мод — это [плагин](/docs/ru/plugins/overview.md), который изменяет внешний вид и поведение Claude Code. Он состоит из обработчиков событий на JavaScript или TypeScript: Claude Code вызывает один из них при возникновении события, например при вызове инструмента, отправке подсказки или отрисовке части интерфейса, и обработчик может наблюдать за событием, изменять его или брать его под контроль. Используйте мод для добавления собственной функции в Claude Code, например панели, которая показывает, насколько заполнен ваш контекст после каждого запроса. Информацию о файлах в моде и полный пример см. в разделе [Как работает мод](#how-a-mod-works).9Мод — это [плагин](https://code.claude.com/docs/ru/plugins/overview.md), который изменяет внешний вид и поведение Claude Code. Он состоит из обработчиков событий на JavaScript или TypeScript: Claude Code вызывает один из них при возникновении события, например при вызове инструмента, отправке подсказки или отрисовке части интерфейса, и обработчик может наблюдать за событием, изменять его или брать его под контроль. Используйте мод для добавления собственной функции в Claude Code, например панели, которая показывает, насколько заполнен ваш контекст после каждого запроса. Информацию о файлах в моде и полный пример см. в разделе [Как работает мод](#how-a-mod-works).
10 10
11> [!NOTE]11> [!NOTE]
12>12>
13> Существующие [hooks](/docs/ru/hooks.md) Claude Code также работают на событиях в виде команды оболочки, HTTP-запроса или подсказки, которые вы настраиваете в файле параметров. Обработчики мода — это функции, которые работают внутри Claude Code. Claude Code вызывает оба типа hooks: на этих страницах «hook» означает обработчик мода, а тип из файла параметров — это «settings hook».13> Существующие [hooks](https://code.claude.com/docs/ru/hooks.md) Claude Code также работают на событиях в виде команды оболочки, HTTP-запроса или подсказки, которые вы настраиваете в файле параметров. Обработчики мода — это функции, которые работают внутри Claude Code. Claude Code вызывает оба типа hooks: на этих страницах «hook» означает обработчик мода, а тип из файла параметров — это «settings hook».
14 14
15## Что может делать мод15## Что может делать мод
16 16
17Settings hooks, skills, строки состояния и серверы MCP работают вне Claude Code: каждый из них запускает скрипт или предоставляет Claude текст или инструменты. Мод работает внутри Claude Code, поэтому он может делать то, что они не могут:17Settings hooks, skills, строки состояния и серверы MCP работают вне Claude Code: каждый из них запускает скрипт или предоставляет Claude текст или инструменты. Мод работает внутри Claude Code, поэтому он может делать то, что они не могут:
18 18
19* **Нарисовать интерфейс, который вы можете использовать**: панель рядом с транскриптом или полоса над подсказкой с вкладками, кнопками и текстовыми полями. См. [Рисование в интерфейсе](/docs/ru/plugins/mods/interface.md).19* **Нарисовать интерфейс, который вы можете использовать**: панель рядом с транскриптом или полоса над подсказкой с вкладками, кнопками и текстовыми полями. См. [Рисование в интерфейсе](https://code.claude.com/docs/ru/plugins/mods/interface.md).
20* **Перерисовать собственный интерфейс Claude Code**: заменить или переоформить части, которые рисует сам Claude Code, такие как строка вызова инструмента, спиннер или диалог, в котором Claude задает вопросы. См. [Изменение того, что уже рисует Claude Code](/docs/ru/plugins/mods/interface.md#change-what-claude-code-already-draws).20* **Перерисовать собственный интерфейс Claude Code**: заменить или переоформить части, которые рисует сам Claude Code, такие как строка вызова инструмента, спиннер или диалог, в котором Claude задает вопросы. См. [Изменение того, что уже рисует Claude Code](https://code.claude.com/docs/ru/plugins/mods/interface.md#change-what-claude-code-already-draws).
21* **Вмешаться в вызов инструмента или запрос**: например, удержать вызов инструмента, пока вы задаете пользователю вопрос, ответить без запуска инструмента или отправить один запрос другой модели. См. [Охрана или изменение вызова инструмента](/docs/ru/plugins/mods/events.md#guard-or-change-a-tool-call) и [Следование за ходом](/docs/ru/plugins/mods/events.md#follow-a-turn).21* **Вмешаться в вызов инструмента или запрос**: например, удержать вызов инструмента, пока вы задаете пользователю вопрос, ответить без запуска инструмента или отправить один запрос другой модели. См. [Охрана или изменение вызова инструмента](https://code.claude.com/docs/ru/plugins/mods/events.md#guard-or-change-a-tool-call) и [Следование за ходом](https://code.claude.com/docs/ru/plugins/mods/events.md#follow-a-turn).
22* **Запустить собственный код на команде**: `/command`, который запускает вашу функцию сразу же, без хода Claude, даже если Claude работает. См. [Добавление команды или инструмента](/docs/ru/plugins/mods/api.md#add-a-command-or-a-tool).22* **Запустить собственный код на команде**: `/command`, который запускает вашу функцию сразу же, без хода Claude, даже если Claude работает. См. [Добавление команды или инструмента](https://code.claude.com/docs/ru/plugins/mods/api.md#add-a-command-or-a-tool).
23* **Обмен данными между hooks**: hooks мода совместно используют переменные в его файле, поэтому то, что записывает один hook, может показать другой. Например, один hook может считать вызовы инструментов, а другой показывает счетчик рядом со спиннером, или один может читать использование токенов каждого запроса, а другой отображает его на графике в панели. См. [Реакция на события](/docs/ru/plugins/mods/events.md).23* **Обмен данными между hooks**: hooks мода совместно используют переменные в его файле, поэтому то, что записывает один hook, может показать другой. Например, один hook может считать вызовы инструментов, а другой показывает счетчик рядом со спиннером, или один может читать использование токенов каждого запроса, а другой отображает его на графике в панели. См. [Реакция на события](https://code.claude.com/docs/ru/plugins/mods/events.md).
24 24
25Моды работают в CLI Claude Code, на вкладке Code приложения Claude Desktop и в расширении VS Code. См. [Где работают моды](#where-mods-run), чтобы понять, как они ведут себя в других местах, например в `claude -p` и облачных сессиях. Если хук настроек, скилл или MCP-сервер уже делает то, что вам нужно, [сравните их](#compare-mods-settings-hooks-skills-and-mcp-servers) перед написанием мода. Для управления модами для организации см. [Управление модами для вашей организации](/docs/ru/plugins/mods/admin.md).25Моды работают в CLI Claude Code, на вкладке Code приложения Claude Desktop и в расширении VS Code. См. [Где работают моды](#where-mods-run), чтобы понять, как они ведут себя в других местах, например в `claude -p` и облачных сессиях. Если хук настроек, скилл или MCP-сервер уже делает то, что вам нужно, [сравните их](#compare-mods-settings-hooks-skills-and-mcp-servers) перед написанием мода. Для управления модами для организации см. [Управление модами для вашей организации](https://code.claude.com/docs/ru/plugins/mods/admin.md).
26 26
27## Получение мода27## Получение мода
28 28
29Чтобы начать работу с модом:29Чтобы начать работу с модом:
30 30
31* **Используйте уже имеющийся**: некоторые собственные функции Claude Code являются модами, например `/diff`. См. [Моды, встроенные в Claude Code](#mods-built-into-claude-code).31* **Используйте уже имеющийся**: некоторые собственные функции Claude Code являются модами, например `/diff`. См. [Моды, встроенные в Claude Code](#mods-built-into-claude-code).
32* **Создайте свой**: опишите, что вам нужно, в сессии Claude Code, и Claude напишет мод. См. [Попросите Claude создать мод](/docs/ru/plugins/mods/create.md#ask-claude-for-a-mod). Чтобы узнать, как устроен код мода, [напишите его самостоятельно](/docs/ru/plugins/mods/create.md#write-a-mod-yourself).32* **Создайте свой**: опишите, что вам нужно, в сессии Claude Code, и Claude напишет мод. См. [Попросите Claude создать мод](https://code.claude.com/docs/ru/plugins/mods/create.md#ask-claude-for-a-mod). Чтобы узнать, как устроен код мода, [напишите его самостоятельно](https://code.claude.com/docs/ru/plugins/mods/create.md#write-a-mod-yourself).
33* **Установите готовый**: см. [Установка или обновление мода](#install-or-update-a-mod) или [попробуйте пример мода](#try-a-sample-mod)33* **Установите готовый**: см. [Установка или обновление мода](#install-or-update-a-mod) или [попробуйте пример мода](#try-a-sample-mod)
34 34
35### Установка или обновление мода35### Установка или обновление мода
43* В сессии Claude Code выполните `/plugin install token-chart@your-org`.43* В сессии Claude Code выполните `/plugin install token-chart@your-org`.
44* В оболочке выполните `claude plugin install token-chart@your-org`.44* В оболочке выполните `claude plugin install token-chart@your-org`.
45 45
46В разделе [Установка плагинов](/docs/ru/plugins/install.md) рассматриваются маркетплейсы, области действия, расширение VS Code и приложение Desktop, а также [поддержание плагинов в актуальном состоянии](/docs/ru/plugins/install.md#keep-plugins-updated) — всё это без изменений применимо к плагину, содержащему мод.46В разделе [Установка плагинов](https://code.claude.com/docs/ru/plugins/install.md) рассматриваются маркетплейсы, области действия, расширение VS Code и приложение Desktop, а также [поддержание плагинов в актуальном состоянии](https://code.claude.com/docs/ru/plugins/install.md#keep-plugins-updated) — всё это без изменений применимо к плагину, содержащему мод.
47 47
48Если вы устанавливаете или обновляете мод из оболочки, пока сессия открыта, выполните `/reload-plugins` в этой сессии, чтобы загрузить его. В противном случае он загрузится при следующем запуске Claude Code.48Если вы устанавливаете или обновляете мод из оболочки, пока сессия открыта, выполните `/reload-plugins` в этой сессии, чтобы загрузить его. В противном случае он загрузится при следующем запуске Claude Code.
49 49
57 57
58Пример мода выполняется с вашими разрешениями. Чтобы узнать, что он делает, перед его загрузкой, [просмотрите список его хуков и вызовов](#list-what-a-mod-does-before-you-install-one).58Пример мода выполняется с вашими разрешениями. Чтобы узнать, что он делает, перед его загрузкой, [просмотрите список его хуков и вызовов](#list-what-a-mod-does-before-you-install-one).
59 59
60Чтобы попробовать мод, клонируйте репозиторий и [загрузите каталог мода на одну сессию](/docs/ru/plugins/create.md#load-a-directory-or-archive-for-one-session) с помощью `--plugin-dir`. Чтобы убедиться, что мод загрузился, [проверьте, какие моды загрузила сессия](#see-which-mods-a-session-loaded).60Чтобы попробовать мод, клонируйте репозиторий и [загрузите каталог мода на одну сессию](https://code.claude.com/docs/ru/plugins/create.md#load-a-directory-or-archive-for-one-session) с помощью `--plugin-dir`. Чтобы убедиться, что мод загрузился, [проверьте, какие моды загрузила сессия](#see-which-mods-a-session-loaded).
61 61
62Чтобы сохранить мод, [добавьте каталог `claude-code/mods` вашего клона в качестве маркетплейса](/docs/ru/plugins/install#add-a-marketplace), а затем установите мод из `claude-code-playground-mods`. Маркетплейс указывает на ваш клон, поэтому мод перестанет загружаться, если вы переместите или удалите клон.62Чтобы сохранить мод, [добавьте каталог `claude-code/mods` вашего клона в качестве маркетплейса](https://code.claude.com/docs/ru/plugins/install#add-a-marketplace), а затем установите мод из `claude-code-playground-mods`. Маркетплейс указывает на ваш клон, поэтому мод перестанет загружаться, если вы переместите или удалите клон.
63 63
64## Решите, доверять ли моду64## Решите, доверять ли моду
65 65
66Мод — это код, который работает с вашими разрешениями внутри Claude Code. Устанавливайте моды только от авторов и [маркетплейсов, которым вы доверяете](/docs/ru/plugins/security.md).66Мод — это код, который работает с вашими разрешениями внутри Claude Code. Устанавливайте моды только от авторов и [маркетплейсов, которым вы доверяете](https://code.claude.com/docs/ru/plugins/security.md).
67 67
68### Что может достичь мод68### Что может достичь мод
69 69
76* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят76* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят
77* **Потратить вашу квоту**: вызвать модель в рамках вашего плана или с вашим API-ключом77* **Потратить вашу квоту**: вызвать модель в рамках вашего плана или с вашим API-ключом
78 78
79Моды не изолируются в песочнице. Если вы включите [изоляцию в песочнице](/docs/ru/sandboxing.md), песочница изолирует команды Bash, которые запускает Claude, а процесс, запущенный модом, работает вне её.79Моды не изолируются в песочнице. Если вы включите [изоляцию в песочнице](https://code.claude.com/docs/ru/sandboxing.md), песочница изолирует команды Bash, которые запускает Claude, а процесс, запущенный модом, работает вне её.
80 80
81Если действуют [управляемые настройки](/docs/ru/settings.md#check-what-your-organization-enforces) или учётными данными сессии служит [`/login`](/docs/ru/authentication#authentication-precedence) с планом Team или Enterprise, по умолчанию подтверждение мода не позволяет вызову обойти ваши правила `ask` или хуки `PreToolUse`. Если нет ни того, ни другого, мод может подтвердить вызов, для которого правило `ask` запросило бы подтверждение, или который заблокировал ваш хук `PreToolUse`. Чтобы узнать, когда мод может также подтвердить вызов, в котором отказывает правило `deny`, см. [Расширение разрешений с помощью хуков](/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods).81Если действуют [управляемые настройки](https://code.claude.com/docs/ru/settings.md#check-what-your-organization-enforces) или учётными данными сессии служит [`/login`](https://code.claude.com/docs/ru/authentication#authentication-precedence) с планом Team или Enterprise, по умолчанию подтверждение мода не позволяет вызову обойти ваши правила `ask` или хуки `PreToolUse`. Если нет ни того, ни другого, мод может подтвердить вызов, для которого правило `ask` запросило бы подтверждение, или который заблокировал ваш хук `PreToolUse`. Чтобы узнать, когда мод может также подтвердить вызов, в котором отказывает правило `deny`, см. [Расширение разрешений с помощью хуков](https://code.claude.com/docs/ru/permissions.md#precedence-among-rules-hooks-and-mods).
82 82
83Мод может переоформить большую часть интерфейса Claude Code, но не запрос разрешения. Он не может изменить то, что вам показывает запрос.83Мод может переоформить большую часть интерфейса Claude Code, но не запрос разрешения. Он не может изменить то, что вам показывает запрос.
84 84
90claude plugin validate ./some-mod90claude plugin validate ./some-mod
91```91```
92 92
93Строки `hooks:` и `calls:` в выводе перечисляют события, которые обрабатывает мод, и что он просит Claude Code делать. [Просмотр того, что может делать мод](/docs/ru/plugins/mods/admin.md#review-what-a-mod-can-do) показывает вывод и какие вызовы искать.93Строки `hooks:` и `calls:` в выводе перечисляют события, которые обрабатывает мод, и что он просит Claude Code делать. [Просмотр того, что может делать мод](https://code.claude.com/docs/ru/plugins/mods/admin.md#review-what-a-mod-can-do) показывает вывод и какие вызовы искать.
94 94
95## Включение или отключение модов95## Включение или отключение модов
96 96
97Моды включены по умолчанию. В терминале используйте Claude Code v2.1.287 или позже. Приложение Desktop включает собственную копию Claude Code, и моды работают в нём начиная с v2.1.286. Проверьте версию там, где вы используете моды:97Моды включены по умолчанию. В терминале используйте Claude Code v2.1.287 или позже. Приложение Desktop включает собственную копию Claude Code, и моды работают в нём начиная с v2.1.286. Проверьте версию там, где вы используете моды:
98 98
99* **Терминал**: в вашей оболочке запустите `claude --version`. Если ваша версия старше, [обновите Claude Code](/docs/ru/setup.md#update-claude-code).99* **Терминал**: в вашей оболочке запустите `claude --version`. Если ваша версия старше, [обновите Claude Code](https://code.claude.com/docs/ru/setup.md#update-claude-code).
100* **Приложение Desktop**: в локальной сессии на вкладке Code введите `/status` и посмотрите строку **Claude Code**, в которой показана версия, например `2.1.286`. Если ваша версия старше, [обновите приложение Desktop](/docs/ru/desktop.md#claude-code-version-in-the-code-tab).100* **Приложение Desktop**: в локальной сессии на вкладке Code введите `/status` и посмотрите строку **Claude Code**, в которой показана версия, например `2.1.286`. Если ваша версия старше, [обновите приложение Desktop](https://code.claude.com/docs/ru/desktop.md#claude-code-version-in-the-code-tab).
101 101
102Чтобы отключить моды, выберите, сколько их остановить и на как долго. Чтобы включить их обратно, отмените то же изменение:102Чтобы отключить моды, выберите, сколько их остановить и на как долго. Чтобы включить их обратно, отмените то же изменение:
103 103
104* **Один мод**: отключите или удалите его плагин со [вкладки **Installed** в `/plugin`](/docs/ru/plugins/install#manage-installed-plugins)104* **Один мод**: отключите или удалите его плагин со [вкладки **Installed** в `/plugin`](https://code.claude.com/docs/ru/plugins/install#manage-installed-plugins)
105* **Каждый установленный мод, для одной сессии**: запустите Claude Code с [`--safe-mode`](/docs/ru/cli-reference#cli-flags), что также отключает ваши другие настройки105* **Каждый установленный мод, для одной сессии**: запустите Claude Code с [`--safe-mode`](https://code.claude.com/docs/ru/cli-reference#cli-flags), что также отключает ваши другие настройки
106* **Каждый мод, который вы установили, в каждой сессии**: задайте [`"disableAllHooks": true`](/docs/ru/settings-reference#disableallhooks) в `~/.claude/settings.json`. Ваши хуки из настроек и пользовательская строка состояния также остановятся. То, чем управляет ваша организация, продолжает работать.106* **Каждый мод, который вы установили, в каждой сессии**: задайте [`"disableAllHooks": true`](https://code.claude.com/docs/ru/settings-reference#disableallhooks) в `~/.claude/settings.json`. Ваши хуки из настроек и пользовательская строка состояния также остановятся. То, чем управляет ваша организация, продолжает работать.
107 107
108Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](/docs/ru/plugins/mods/admin.md#stop-user-installed-mods-from-loading).108Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](https://code.claude.com/docs/ru/plugins/mods/admin.md#stop-user-installed-mods-from-loading).
109 109
110`disableAllHooks` и параметр вашей организации `allowManagedModsOnly` останавливают мод, но оставляют остальную часть его плагина на месте: плагин остаётся установленным, а его скиллы, команды, агенты и MCP-серверы загружаются. Другие настройки и флаги действуют шире. В разделах [`disableAllHooks`](/docs/ru/settings-reference#disableallhooks) и [Что работает при `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) перечислено, как каждый из них влияет на плагин и его хуки из настроек.110`disableAllHooks` и параметр вашей организации `allowManagedModsOnly` останавливают мод, но оставляют остальную часть его плагина на месте: плагин остаётся установленным, а его скиллы, команды, агенты и MCP-серверы загружаются. Другие настройки и флаги действуют шире. В разделах [`disableAllHooks`](https://code.claude.com/docs/ru/settings-reference#disableallhooks) и [Что работает при `allowManagedHooksOnly`](https://code.claude.com/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) перечислено, как каждый из них влияет на плагин и его хуки из настроек.
111 111
112Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](/docs/ru/plugins/mods/troubleshoot.md#check-whether-mods-can-load).112Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](https://code.claude.com/docs/ru/plugins/mods/troubleshoot.md#check-whether-mods-can-load).
113 113
114> [!NOTE]114> [!NOTE]
115>115>
117 117
118### Посмотрите, какие моды загрузила сессия118### Посмотрите, какие моды загрузила сессия
119 119
120Чтобы увидеть, какие моды загрузила сессия терминала, запустите `/plugin` в промпте Claude Code. Тусклая строка под вкладками показывает количество и имена, например `1 mod active · first-mod`. Если мод, который вы установили, не указан там, см. [Узнайте, почему мод ничего не делает](/docs/ru/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).120Чтобы увидеть, какие моды загрузила сессия терминала, запустите `/plugin` в промпте Claude Code. Тусклая строка под вкладками показывает количество и имена, например `1 mod active · first-mod`. Если мод, который вы установили, не указан там, см. [Узнайте, почему мод ничего не делает](https://code.claude.com/docs/ru/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).
121 121
122## Как работает мод122## Как работает мод
123 123
124Мод — это [плагин](/docs/ru/plugins/overview.md), чей код регистрирует обработчики событий, называемые хуками. Claude Code запускает хук при возникновении его события, например когда Claude вызывает инструмент или когда рисуется спиннер. Небольшой мод состоит из трех файлов:124Мод — это [плагин](https://code.claude.com/docs/ru/plugins/overview.md), чей код регистрирует обработчики событий, называемые хуками. Claude Code запускает хук при возникновении его события, например когда Claude вызывает инструмент или когда рисуется спиннер. Небольшой мод состоит из трех файлов:
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/ru/plugins/manifest-reference.md) плагина135* **`plugin.json`**: [манифест](https://code.claude.com/docs/ru/plugins/manifest-reference.md) плагина
136* **`hooks.json`**: [указывает на ваш файл кода](/docs/ru/plugins/mods/reference.md#files)136* **`hooks.json`**: [указывает на ваш файл кода](https://code.claude.com/docs/ru/plugins/mods/reference.md#files)
137* **`register.js`**: [ваш код](/docs/ru/plugins/mods/create.md#write-a-mod-yourself), называемый модулем хуков. Он сообщает Claude Code, на каких событиях запускать ваши функции.137* **`register.js`**: [ваш код](https://code.claude.com/docs/ru/plugins/mods/create.md#write-a-mod-yourself), называемый модулем хуков. Он сообщает 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Файл регистрирует два хука, и оба используют переменную `calls` в верхней части:164Файл регистрирует два хука, и оба используют переменную `calls` в верхней части:
165 165
166* **Хук [`tool.call`](/docs/ru/plugins/mods/reference#tools)** запускается каждый раз, когда Claude собирается использовать инструмент. Он добавляет единицу к `calls`, просит Claude Code перерисовать интерфейс и позволяет инструменту работать как обычно.166* **Хук [`tool.call`](https://code.claude.com/docs/ru/plugins/mods/reference#tools)** запускается каждый раз, когда Claude собирается использовать инструмент. Он добавляет единицу к `calls`, просит Claude Code перерисовать интерфейс и позволяет инструменту работать как обычно.
167* **Хук [`ui.render`](/docs/ru/plugins/mods/reference#interface)** запускается каждый раз, когда Claude Code рисует спиннер. Он сохраняет собственный спиннер Claude Code и добавляет счетчик после слова.167* **Хук [`ui.render`](https://code.claude.com/docs/ru/plugins/mods/reference#interface)** запускается каждый раз, когда Claude Code рисует спиннер. Он сохраняет собственный спиннер Claude Code и добавляет счетчик после слова.
168 168
169Эта запись показывает мод в действии. Смотрите на строку спиннера над полем промпта: пока Claude выводит содержимое каталога и читает два файла, в ней отображается `Thinking · tool calls: 1…`, затем `2…`, затем `3…`.169Эта запись показывает мод в действии. Смотрите на строку спиннера над полем промпта: пока Claude выводит содержимое каталога и читает два файла, в ней отображается `Thinking · tool calls: 1…`, затем `2…`, затем `3…`.
170 170
180 180
181Чтобы делать что-либо вне собственного кода, например рисовать, добавлять команду, вызывать модель, читать файл, запускать процесс или выполнять сетевой запрос, хук вызывает API модов. У хука нет другого способа делать эти вещи, поэтому Claude Code может [перечислить, что делает мод](#list-what-a-mod-does-before-you-install-one), до того как вы его установите.181Чтобы делать что-либо вне собственного кода, например рисовать, добавлять команду, вызывать модель, читать файл, запускать процесс или выполнять сетевой запрос, хук вызывает API модов. У хука нет другого способа делать эти вещи, поэтому Claude Code может [перечислить, что делает мод](#list-what-a-mod-does-before-you-install-one), до того как вы его установите.
182 182
183Код для каждого варианта см. в разделе [Реакция на события](/docs/ru/plugins/mods/events.md#how-a-hook-handles-an-event). Что может вызывать хук, см. в разделе [Использование API модов](/docs/ru/plugins/mods/api.md).183Код для каждого варианта см. в разделе [Реакция на события](https://code.claude.com/docs/ru/plugins/mods/events.md#how-a-hook-handles-an-event). Что может вызывать хук, см. в разделе [Использование API модов](https://code.claude.com/docs/ru/plugins/mods/api.md).
184 184
185### Где работают моды185### Где работают моды
186 186
189| Где вы запускаете Claude Code | Хуки работают | То, что рисует мод, отображается |189| Где вы запускаете Claude Code | Хуки работают | То, что рисует мод, отображается |
190| :- | :- | :- |190| :- | :- | :- |
191| `claude` в терминале, включая встроенный терминал редактора и плагин JetBrains | Да | Да |191| `claude` в терминале, включая встроенный терминал редактора и плагин JetBrains | Да | Да |
192| Вкладка Code приложения Desktop, кроме сессии WSL | Да | Да, кроме элементов, которые [таблица элементов](/docs/ru/plugins/mods/reference.md#elements) отмечает как только для терминала |192| Вкладка Code приложения Desktop, кроме сессии WSL | Да | Да, кроме элементов, которые [таблица элементов](https://code.claude.com/docs/ru/plugins/mods/reference.md#elements) отмечает как только для терминала |
193| [Сессия WSL](/docs/ru/desktop-wsl.md) в приложении Desktop | Нет, потому что плагины недоступны в сессиях WSL | Нет |193| [Сессия WSL](https://code.claude.com/docs/ru/desktop-wsl.md) в приложении Desktop | Нет, потому что плагины недоступны в сессиях WSL | Нет |
194| Панель чата расширения VS Code | Да | Да, с версией расширения 2.1.299 или новее. Сессии, которая [не получает флаги функций](/docs/ru/env-vars.md#features-that-need-feature-flag-fetching), например сессии в Amazon Bedrock, нужна версия 2.1.304 или новее. Таблицы [точек отрисовки](/docs/ru/plugins/mods/reference.md#render-sites) и [элементов](/docs/ru/plugins/mods/reference.md#elements) отмечают, что рисует панель. |194| Панель чата расширения VS Code | Да | Да, с версией расширения 2.1.299 или новее. Сессии, которая [не получает флаги функций](https://code.claude.com/docs/ru/env-vars.md#features-that-need-feature-flag-fetching), например сессии в Amazon Bedrock, нужна версия 2.1.304 или новее. Таблицы [точек отрисовки](https://code.claude.com/docs/ru/plugins/mods/reference.md#render-sites) и [элементов](https://code.claude.com/docs/ru/plugins/mods/reference.md#elements) отмечают, что рисует панель. |
195| `claude -p` и [Agent SDK](/docs/ru/agent-sdk/overview.md) | Да | Нет |195| `claude -p` и [Agent SDK](https://code.claude.com/docs/ru/agent-sdk/overview.md) | Да | Нет |
196| [Remote Control](/docs/ru/remote-control.md) из claude.ai или мобильного приложения | Да, в сессии на вашей машине | В терминале на вашей машине |196| [Remote Control](https://code.claude.com/docs/ru/remote-control.md) из claude.ai или мобильного приложения | Да, в сессии на вашей машине | В терминале на вашей машине |
197| [Облачная сессия](/docs/ru/claude-code-on-the-web.md) | Да, для плагина, который [попадает в облачную сессию](/docs/ru/cloud-environments.md#what-carries-over-from-your-setup) | Нет |197| [Облачная сессия](https://code.claude.com/docs/ru/claude-code-on-the-web.md) | Да, для плагина, который [попадает в облачную сессию](https://code.claude.com/docs/ru/cloud-environments.md#what-carries-over-from-your-setup) | Нет |
198 198
199Мод, который рисует, может проверить, в каком приложении он работает, и там, где ничего не рисуется, перейти на строку в транскрипте или текстовый ответ команды.199Мод, который рисует, может проверить, в каком приложении он работает, и там, где ничего не рисуется, перейти на строку в транскрипте или текстовый ответ команды.
200 200
201## Управление модами для вашей организации201## Управление модами для вашей организации
202 202
203Администраторы решают, работают ли моды и какие из них, через [управляемые параметры](/docs/ru/managed-settings.md). [Управление модами для вашей организации](/docs/ru/plugins/mods/admin.md) охватывает, что происходит по умолчанию, как просмотреть мод и как применить политику с помощью собственного мода.203Администраторы решают, работают ли моды и какие из них, через [управляемые параметры](https://code.claude.com/docs/ru/managed-settings.md). [Управление модами для вашей организации](https://code.claude.com/docs/ru/plugins/mods/admin.md) охватывает, что происходит по умолчанию, как просмотреть мод и как применить политику с помощью собственного мода.
204 204
205## Сравнение модов, хуков настроек, скиллов и серверов MCP205## Сравнение модов, хуков настроек, скиллов и серверов MCP
206 206
214| Что вы пишете | JavaScript или TypeScript | Скрипт и запись в `settings.json` | Markdown | Сервер на любом языке |214| Что вы пишете | JavaScript или TypeScript | Скрипт и запись в `settings.json` | Markdown | Сервер на любом языке |
215| Выберите его, когда | Вы хотите панель, полосу над промптом, пользовательскую команду или переписать событие | Вы хотите заблокировать, разрешить или записать в лог событие с помощью скрипта, который у вас уже есть | Вы постоянно вставляете одни и те же инструкции в чат | Claude нужно обращаться к внешней системе |215| Выберите его, когда | Вы хотите панель, полосу над промптом, пользовательскую команду или переписать событие | Вы хотите заблокировать, разрешить или записать в лог событие с помощью скрипта, который у вас уже есть | Вы постоянно вставляете одни и те же инструкции в чат | Claude нужно обращаться к внешней системе |
216 216
217Каждый из остальных имеет свою собственную страницу: [Хуки](/docs/ru/hooks.md), [Скиллы](/docs/ru/skills.md) и [MCP](/docs/ru/mcp.md). Плагин может содержать их все, поэтому мод может поставляться в одном плагине со скиллом и сервером MCP.217Каждый из остальных имеет свою собственную страницу: [Хуки](https://code.claude.com/docs/ru/hooks.md), [Скиллы](https://code.claude.com/docs/ru/skills.md) и [MCP](https://code.claude.com/docs/ru/mcp.md). Плагин может содержать их все, поэтому мод может поставляться в одном плагине со скиллом и сервером MCP.
218 218
219## Моды, встроенные в Claude Code219## Моды, встроенные в Claude Code
220 220
224 224
225| Имя в `/plugin` | Что он делает | Где он включен | Как его отключить |225| Имя в `/plugin` | Что он делает | Где он включен | Как его отключить |
226| :- | :- | :- | :- |226| :- | :- | :- | :- |
227| `cc-plugin-agents-md` | Загружает `AGENTS.md` как инструкции проекта | Каждая сессия, кроме [тех, которые не могут читать `AGENTS.md`](/docs/ru/memory#when-agents-md-support-is-unavailable) | Отключите его в `/plugin` или [выберите, какие файлы инструкций загружаются](/docs/ru/memory.md#choose-which-instruction-files-load) |227| `cc-plugin-agents-md` | Загружает `AGENTS.md` как инструкции проекта | Каждая сессия, кроме [тех, которые не могут читать `AGENTS.md`](https://code.claude.com/docs/ru/memory#when-agents-md-support-is-unavailable) | Отключите его в `/plugin` или [выберите, какие файлы инструкций загружаются](https://code.claude.com/docs/ru/memory.md#choose-which-instruction-files-load) |
228| `cc-plugin-diff` | Берет на себя [`/diff`](/docs/ru/interactive-mode#review-changes-with-%2Fdiff) и отрисовывает его панель | Интерактивные сессии в терминале | Отключите его в `/plugin`. `/diff` останется, и на него будет отвечать встроенная версия команды Claude Code. |228| `cc-plugin-diff` | Берет на себя [`/diff`](https://code.claude.com/docs/ru/interactive-mode#review-changes-with-%2Fdiff) и отрисовывает его панель | Интерактивные сессии в терминале | Отключите его в `/plugin`. `/diff` останется, и на него будет отвечать встроенная версия команды Claude Code. |
229| `cc-plugin-plugin-authoring` | Дает Claude [скилл `plugin-authoring`](/docs/ru/plugins/mods/create#ask-claude-for-a-mod) для написания модов. Он содержит скилл и не содержит кода мода. | Если Anthropic не отключила установленные моды удаленно | Отключите его в `/plugin` |229| `cc-plugin-plugin-authoring` | Дает Claude [скилл `plugin-authoring`](https://code.claude.com/docs/ru/plugins/mods/create#ask-claude-for-a-mod) для написания модов. Он содержит скилл и не содержит кода мода. | Если Anthropic не отключила установленные моды удаленно | Отключите его в `/plugin` |
230| `cc-plugin-sec-default` | Защищает то, чем управляет ваша организация, от модов, которые устанавливает пользователь | [Где загружается защита](/docs/ru/plugins/mods/admin.md#know-what-happens-by-default) | Никак. Администратор [задает порядок](/docs/ru/plugins/mods/admin.md#install-your-organizations-mods) в управляемых настройках |230| `cc-plugin-sec-default` | Защищает то, чем управляет ваша организация, от модов, которые устанавливает пользователь | [Где загружается защита](https://code.claude.com/docs/ru/plugins/mods/admin.md#know-what-happens-by-default) | Никак. Администратор [задает порядок](https://code.claude.com/docs/ru/plugins/mods/admin.md#install-your-organizations-mods) в управляемых настройках |
231| `cc-plugin-telemetry` | Отправляет записи аналитики, которые записывают в лог Claude Code и его встроенные моды | Везде, где включена собственная аналитика Claude Code | Отключите его в `/plugin` или отключите аналитику, например с помощью [`DISABLE_TELEMETRY`](/docs/ru/env-vars) |231| `cc-plugin-telemetry` | Отправляет записи аналитики, которые записывают в лог Claude Code и его встроенные моды | Везде, где включена собственная аналитика Claude Code | Отключите его в `/plugin` или отключите аналитику, например с помощью [`DISABLE_TELEMETRY`](https://code.claude.com/docs/ru/env-vars) |
232| `cc-plugin-you-should-know` | [You should know](/docs/ru/interactive-mode.md#you-should-know-suggestions): вспомогательный агент показывает заметку над промптом, когда находит что-то, что вы могли упустить | Отключено, пока вы [не включите его](/docs/ru/interactive-mode.md#you-should-know-suggestions) | Отключите его в `/plugin` |232| `cc-plugin-you-should-know` | [You should know](https://code.claude.com/docs/ru/interactive-mode.md#you-should-know-suggestions): вспомогательный агент показывает заметку над промптом, когда находит что-то, что вы могли упустить | Отключено, пока вы [не включите его](https://code.claude.com/docs/ru/interactive-mode.md#you-should-know-suggestions) | Отключите его в `/plugin` |
233 233
234Настройки и флаги, которые останавливают установленные моды, такие как `disableAllHooks`, `--bare` и `--safe-mode`, не останавливают встроенные моды.234Настройки и флаги, которые останавливают установленные моды, такие как `disableAllHooks`, `--bare` и `--safe-mode`, не останавливают встроенные моды.
235 235
238Исходный код некоторых из этих модов общедоступен в [каталоге `mods` репозитория Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Каждый из них — это полноценный плагин с модулем хуков и тестами:238Исходный код некоторых из этих модов общедоступен в [каталоге `mods` репозитория Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Каждый из них — это полноценный плагин с модулем хуков и тестами:
239 239
240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): панель `/diff` с кнопками, привязанными к действиям клавиатуры, и прокруткой, которую мод обрабатывает сам240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff): панель `/diff` с кнопками, привязанными к действиям клавиатуры, и прокруткой, которую мод обрабатывает сам
241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md): загружает `AGENTS.md` как инструкции проекта с опцией [`userConfig`](/docs/ru/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/ru/plugins/components#user-configuration)
242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): защита, описанная в разделе [Знайте, что происходит по умолчанию](/docs/ru/plugins/mods/admin.md#know-what-happens-by-default), образец мода, который применяет политику242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default): защита, описанная в разделе [Знайте, что происходит по умолчанию](https://code.claude.com/docs/ru/plugins/mods/admin.md#know-what-happens-by-default), образец мода, который применяет политику
243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): добавляет методы, которые могут вызывать другие моды, и поставляет их типы243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry): добавляет методы, которые могут вызывать другие моды, и поставляет их типы
244 244
245## Следующие шаги245## Следующие шаги
246 246
247* [Создание мода](/docs/ru/plugins/mods/create.md): создайте один, который считает вызовы инструментов, показывает счетчик рядом со спиннером и добавляет команду, и узнайте цикл редактирования и перезагрузки247* [Создание мода](https://code.claude.com/docs/ru/plugins/mods/create.md): создайте один, который считает вызовы инструментов, показывает счетчик рядом со спиннером и добавляет команду, и узнайте цикл редактирования и перезагрузки
248* [Рисование в интерфейсе](/docs/ru/plugins/mods/interface.md): панели, полоса над промптом, кнопки, текстовые поля и состояние248* [Рисование в интерфейсе](https://code.claude.com/docs/ru/plugins/mods/interface.md): панели, полоса над промптом, кнопки, текстовые поля и состояние
249* [Реакция на события](/docs/ru/plugins/mods/events.md): вызовы инструментов, промпты, ходы и порядок, в котором работают моды249* [Реакция на события](https://code.claude.com/docs/ru/plugins/mods/events.md): вызовы инструментов, промпты, ходы и порядок, в котором работают моды
250* [Использование API модов](/docs/ru/plugins/mods/api.md): команды, инструменты, вызовы моделей, таймеры и файлы250* [Использование API модов](https://code.claude.com/docs/ru/plugins/mods/api.md): команды, инструменты, вызовы моделей, таймеры и файлы
251* [Тестирование мода](/docs/ru/plugins/mods/test.md): автоматизированные тесты, которые работают без сессии251* [Тестирование мода](https://code.claude.com/docs/ru/plugins/mods/test.md): автоматизированные тесты, которые работают без сессии
252* [Устранение неполадок мода](/docs/ru/plugins/mods/troubleshoot.md): причины, по которым мод ничего не делает, и лог отладки252* [Устранение неполадок мода](https://code.claude.com/docs/ru/plugins/mods/troubleshoot.md): причины, по которым мод ничего не делает, и лог отладки
253* [Управление модами для вашей организации](/docs/ru/plugins/mods/admin.md): значения по умолчанию, управляемые настройки, просмотр мода и моды политики253* [Управление модами для вашей организации](https://code.claude.com/docs/ru/plugins/mods/admin.md): значения по умолчанию, управляемые настройки, просмотр мода и моды политики
254* [Справочник модов](/docs/ru/plugins/mods/reference.md): события, методы, элементы и ограничения254* [Справочник модов](https://code.claude.com/docs/ru/plugins/mods/reference.md): события, методы, элементы и ограничения