SpyBara
Go Premium

plugins/mods/overview.md 2026-10-01 23:59 UTC to 2026-10-02 06:02 UTC

This page contains 53 additions and 33 deletions.

2026
Thu 1 23:59 Fri 2 07:00

Обзор модов

Добавляйте панели, команды и правила вызова инструментов в Claude Code с помощью мода. Узнайте, что может делать мод, как его создать или установить, и где работают моды.

Мод — это плагин, который изменяет внешний вид и поведение Claude Code. Он состоит из обработчиков событий на JavaScript или TypeScript: Claude Code вызывает один из них при возникновении события, например при вызове инструмента, отправке подсказки или отрисовке части интерфейса, и обработчик может наблюдать за событием, изменять его или брать его под контроль. Используйте мод для добавления собственной функции в Claude Code, например панели, которая показывает, насколько заполнен ваш контекст после каждого запроса. Информацию о файлах в моде и полный пример см. в разделе Как работает мод.

Что может делать мод

Settings hooks, skills, строки состояния и серверы MCP работают вне Claude Code: каждый из них запускает скрипт или предоставляет Claude текст или инструменты. Мод работает внутри Claude Code, поэтому он может делать то, что они не могут:

  • Нарисовать интерфейс, который вы можете использовать: панель рядом с транскриптом или полоса над подсказкой с вкладками, кнопками и текстовыми полями. См. Рисование в интерфейсе.
  • Перерисовать собственный интерфейс Claude Code: заменить или переоформить части, которые рисует сам Claude Code, такие как строка вызова инструмента, спиннер или диалог, в котором Claude задает вопросы. См. Изменение того, что уже рисует Claude Code.
  • Вмешаться в вызов инструмента или запрос: например, удержать вызов инструмента, пока вы задаете пользователю вопрос, ответить без запуска инструмента или отправить один запрос другой модели. См. Охрана или изменение вызова инструмента и Следование за ходом.
  • Запустить собственный код на команде: /command, который запускает вашу функцию сразу же, без хода Claude, даже если Claude работает. См. Добавление команды или инструмента.
  • Обмен данными между hooks: hooks мода совместно используют переменные в его файле, поэтому то, что записывает один hook, может показать другой. Например, один hook может считать вызовы инструментов, а другой показывает счетчик рядом со спиннером, или один может читать использование токенов каждого запроса, а другой отображает его на графике в панели. См. Реакция на события.

Моды работают в CLI Claude Code и на вкладке Code приложения Claude Desktop. См. Где работают моды, чтобы понять, как они ведут себя в других местах, например в расширении VS Code, claude -p и облачных сеансах. Если settings hook, skill или сервер MCP уже делает то, что вам нужно, сравните их перед написанием мода. Для управления модами для организации см. Управление модами для вашей организации.

Получить мод

Вы можете начать с мода одним из трех способов:

Установка или обновление мода

Мод устанавливается как плагин из маркетплейса. Укажите имя плагина, @ и имя маркетплейса. Эти примеры устанавливают плагин с именем token-chart из маркетплейса с именем your-org:

  • В сеансе Claude Code запустите /plugin install token-chart@your-org.
  • В вашей оболочке запустите claude plugin install token-chart@your-org.

Установка плагинов охватывает маркетплейсы, области видимости, расширение VS Code и приложение Desktop, а также поддержание плагинов в актуальном состоянии, все из которых применяются к плагину, содержащему мод без изменений.

Если вы устанавливаете или обновляете мод из вашей оболочки, пока сеанс открыт, запустите /reload-plugins в этом сеансе, чтобы загрузить его. В противном случае он загружается при следующем запуске Claude Code.

Попробуйте пример мода

Anthropic публикует примеры модов в каталоге claude-code/mods репозитория claude-code-playground. Каждый из них — это полноценный плагин, а в его README рассказано, как он был создан. Репозиторий предоставляет их как есть, без поддержки.

  • token-weather: отображает прогноз вашего контекстного окна над промптом
  • blast-radius: задерживает рискованную shell-команду, например rm -rf или force push, и показывает, что она изменит, с кнопками для продолжения или отмены
  • replay-theater: добавляет команду /replay, которая пошагово проходит по изменениям файлов, сделанным Claude в последнем ходе

Пример мода работает с вашими разрешениями. Чтобы увидеть, что он делает, прежде чем загружать его, выведите список его хуков и вызовов.

Чтобы попробовать мод, клонируйте репозиторий и загрузите каталог мода на одну сессию с помощью --plugin-dir. Чтобы убедиться, что мод загружен, проверьте, какие моды загрузила сессия.

Чтобы оставить мод, добавьте каталог claude-code/mods вашего клона в качестве маркетплейса, а затем установите мод из claude-code-playground-mods. Маркетплейс указывает на ваш клон, поэтому мод перестанет загружаться, если вы переместите или удалите клон.

Решите, доверять ли моду

Мод — это код, который работает с вашими разрешениями внутри Claude Code. Устанавливайте моды только от авторов и маркетплейсов, которым вы доверяете.

Что может достичь мод

Мод работает с вашими разрешениями, поэтому перед установкой знайте, к чему у него есть доступ. После загрузки мод может:

  • Действовать на вашей машине от вашего имени: читать и писать файлы в любом месте, где может ваша учетная запись пользователя, запускать программы и делать сетевые запросы
  • Читать ваши секреты: переменные окружения и файлы параметров, включая ключ API, который вы храните в любом из них
  • Видеть ваш сеанс: каждую подсказку, которую вы отправляете, и каждый вызов инструмента, который делает Claude
  • Изменять ваш сеанс: переписывать подсказку или вызов инструмента, отправлять подсказку так, как если бы вы ее набрали, или отправлять сообщение в другой из ваших сеансов
  • Действовать без вашего разрешения: одобрить вызов инструмента перед тем, как вас спросят
  • Потратить вашу квоту: вызвать модель в вашем плане или ключе API

Моды не изолируются в песочнице. Если вы включите изоляцию в песочнице, песочница изолирует команды Bash, которые запускает Claude, а процесс, запущенный модом, работает вне её.

Мод, который одобряет вызовы инструментов, может одобрить тот, который правило ask запросит, или который заблокировал один из ваших собственных hooks PreToolUse. Расширение разрешений с помощью hooks перечисляет, что может одобрить такой мод, включая случаи, когда он может одобрить вызов, который правило deny отказывает.

Мод может переоформить большую часть интерфейса Claude Code, но не подсказку разрешения. Он не может изменить то, что вам показывает подсказка.

Перечислите, что делает мод перед установкой

Перед установкой мода вы можете перечислить, какие события он перехватывает и что он просит Claude Code делать, например читать файл или делать сетевой запрос, без его запуска. Сначала получите файлы плагина, например клонировав его репозиторий. Затем в вашей оболочке запустите claude plugin validate в каталоге плагина:

claude plugin validate ./some-mod

Строки hooks: и calls: в выводе перечисляют события, которые обрабатывает мод, и что он просит Claude Code делать. Просмотр того, что может делать мод показывает вывод и какие вызовы искать.

Включение или отключение модов

Моды требуют Claude Code v2.1.287 или позже, и они включены по умолчанию. В вашей оболочке запустите claude --version, чтобы проверить, и обновите Claude Code, если ваша версия старше.

Чтобы отключить моды, выберите, сколько их остановить и на как долго. Чтобы включить их обратно, отмените то же изменение:

  • Один мод: отключите или удалите его плагин со вкладки Installed в /plugin
  • Каждый установленный мод, для одного сеанса: запустите Claude Code с --safe-mode, что также исключает ваши другие настройки
  • Каждый мод, который вы установили, в каждом сеансе: установите "disableAllHooks": true в ~/.claude/settings.json. Ваши settings hooks и пользовательская строка состояния также остановятся. То, что управляет ваша организация, продолжает работать.

Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с Остановка загрузки модов, установленных пользователем.

disableAllHooks и параметр вашей организации allowManagedModsOnly останавливают мод, но оставляют остальную часть его плагина на месте: плагин остаётся установленным, а его скиллы, команды, агенты и MCP-серверы загружаются. Другие настройки и флаги действуют шире. В разделах disableAllHooks и Что работает при allowManagedHooksOnly перечислено, как каждый из них влияет на плагин и его хуки из настроек.

Чтобы узнать, могут ли моды загружаться для вас, см. Проверка, могут ли загружаться моды.

Посмотрите, какие моды загрузил сеанс

Чтобы увидеть, какие моды загрузил сеанс терминала, запустите /plugin в подсказке Claude Code. Тусклая линия под вкладками дает счетчик и имена, такие как 1 mod active · first-mod. Если мод, который вы установили, не указан там, см. Узнайте, почему мод ничего не делает.

Как работает мод

Мод — это плагин, код которого регистрирует обработчики событий, называемые хуками. Claude Code запускает хук, когда происходит соответствующее событие, например когда Claude вызывает инструмент или когда отрисовывается спиннер. Небольшой мод состоит из трёх файлов:

first-mod/
├── .claude-plugin/
│   └── plugin.json
└── hooks/
    ├── hooks.json
    └── register.js

Ниже приведён полный файл register.js. Он подсчитывает вызовы инструментов, которые делает Claude, и показывает счётчик рядом со спиннером, пока Claude работает, например Thinking · tool calls: 3….

// The count, shared by the two hooks below
let calls = 0

// Claude Code calls this once when the mod loads
export function register(on) {
  // Runs each time Claude is about to use a tool
  on('tool.call', async ($, e, next) => {
    calls += 1
    // Ask Claude Code to draw the interface again, so the new count shows
    $.ui.invalidate('ui.render')
    // Let the tool run as usual
    return next(e)
  })

  // Runs each time Claude Code draws the spinner
  on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
    // Keep Claude Code's spinner, with the count added after its word
    return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
  })
}

Файл регистрирует два хука, и оба используют переменную calls, объявленную в начале:

  • Хук tool.call запускается каждый раз, когда Claude собирается использовать инструмент. Он увеличивает calls на единицу, просит Claude Code заново отрисовать интерфейс и позволяет инструменту выполниться как обычно.
  • Хук ui.render запускается каждый раз, когда Claude Code отрисовывает спиннер. Он сохраняет собственный спиннер Claude Code и добавляет счётчик после слова.

На этой записи показан мод в действии. Следите за строкой спиннера над полем ввода промпта: пока Claude выводит список файлов в каталоге и читает два файла, в ней отображается Thinking · tool calls: 1…, затем 2…, затем 3….