> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Рекомендуйте plugins для вашей организации

> Добавьте блок relevance к записям plugins на marketplace, чтобы Claude Code предлагал их, когда работа пользователя совпадает.

Если вы управляете marketplace plugins для вашей организации, вы можете заставить Claude Code предлагать конкретные plugins пользователям на основе того, над чем они работают. Добавьте блок `relevance` к записи plugin в `marketplace.json`, затем добавьте marketplace в список разрешённых в управляемых параметрах. Когда сеанс пользователя совпадает с одним из объявленных сигналов, Claude Code выводит предложение об установке этого plugin.

Предложения, объявленные на marketplace, являются добровольными для каждого marketplace через [управляемые параметры](/docs/ru/settings#settings-files). Никакие объявления `relevance` marketplace не создают предложения, пока администратор не добавит его в список разрешённых, включая официальный marketplace Anthropic. Claude Code также включает одно встроенное предложение, которое не зависит от этого списка разрешённых; это совет и все объявленные на marketplace советы отключаются, когда [`spinnerTipsEnabled`](/docs/ru/settings#available-settings) установлен на `false`.

{/* min-version: 2.1.152 */}Эта функция требует Claude Code v2.1.152 или позже. Старые клиенты игнорируют поле `relevance`.

Эта страница предназначена для операторов marketplace и администраторов предприятия. Если вы ищете установку plugins, см. [Обнаружение и установка plugins](/docs/ru/discover-plugins).

<h2 id="how-it-works">
  Как это работает
</h2>

Каждая запись plugin в `marketplace.json` может содержать объект `relevance`. Объект называет тему и один или несколько сигналов. Сигнал — это шаблон, который Claude Code проверяет в текущем сеансе, например рабочий каталог или файлы, которые Claude прочитал.

Сопоставление сигналов происходит локально на машине пользователя. Сопоставление не добавляет сетевой трафик и не сообщает, какие сигналы совпали или их значения, в Anthropic или оператору marketplace.

Когда сигнал совпадает и plugin ещё не установлен, Claude Code показывает plugin в трёх местах:

* **Spinner tip**: сообщение "Working with *topic*? Install the *plugin* plugin" с командой `/plugin install` появляется под спиннером, пока Claude отвечает.
* **Session-start suggestion**: {/* min-version: 2.1.153 */}если сигнал `cwd` совпадает с рабочим каталогом, однострочное уведомление `plugin suggestion: <name>@<marketplace> · /plugin` появляется перед первым ходом. Эта поверхность требует Claude Code v2.1.153 или позже.
* **`/plugin` Discover tab**: {/* min-version: 2.1.154 */}plugin закреплён в верхней части списка Discover с аннотацией, такой как "suggested for this directory" или "suggested for stripe commands". Эта поверхность требует Claude Code v2.1.154 или позже.

Spinner tip и уведомление о начале сеанса являются частью системы spinner-tips. Оба отключаются, когда пользователь или проект устанавливает `spinnerTipsEnabled` на `false`, или когда настроен пользовательский `spinnerTipsOverride` с `excludeDefault`. Закрепление на вкладке Discover независимо от параметров советов.

Claude Code никогда не устанавливает plugin автоматически. Пользователь всегда подтверждает.

<h2 id="add-relevance-to-a-plugin-entry">
  Добавьте relevance к записи plugin
</h2>

Добавьте объект `relevance` к записи plugin в вашем `marketplace.json`. Следующий пример объявляет, что plugin `terraform-helpers` актуален, когда Claude читает файл `.tf` или когда Claude запускает `terraform`:

```json theme={null}
{
  "name": "acme-corp-plugins",
  "owner": { "name": "Acme Platform Team" },
  "plugins": [
    {
      "name": "terraform-helpers",
      "source": "./plugins/terraform-helpers",
      "description": "Acme conventions and helpers for Terraform",
      "relevance": {
        "topic": "Terraform",
        "signals": {
          "cli": ["terraform"],
          "filesRead": ["**/*.tf"]
        }
      }
    }
  ]
}
```

Plugin с блоком `relevance`, но без совпадающего сигнала ведёт себя как любая другая запись marketplace. Он появляется в списке Discover в своей обычной позиции и никогда не выводится как spinner tip.

<h2 id="field-reference">
  Справочник полей
</h2>

<h3 id="relevance">
  `relevance`
</h3>

| Поле      | Тип    | Описание                                                                                                                                                                                                                                                                                                                                                                              |
| :-------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `topic`   | string | Необязательно. Фраза, которая заполняет "Working with *topic*?" в spinner tip. Часто название продукта, например `Stripe`. Используйте домен, такой как `design`, когда название plugin не читается естественно как тема. По умолчанию название plugin с каждым сегментом через дефис с заглавной буквы. Уведомление о начале сеанса не использует это значение. Максимум 64 символа. |
| `signals` | object | Сопоставители, которые определяют, когда plugin актуален. Требуется по крайней мере один сигнал, чтобы plugin был предложен. См. таблицу ниже.                                                                                                                                                                                                                                        |

<h3 id="relevance-signals">
  `relevance.signals`
</h3>

| Поле           | Тип              | Описание                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| :------------- | :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cwd`          | array of strings | {/* min-version: 2.1.153 */}Glob-шаблоны, сопоставляемые с рабочим каталогом сеанса. Сопоставляется как абсолютный путь и, когда находится в репозитории git, как путь относительно корня репозитория. Нормализовано с прямыми слешами и без учёта регистра. Каждый шаблон совпадает с самим каталогом и всем, что находится под ним, поэтому `infra`, `infra/` и `infra/**` ведут себя одинаково. Это единственный сигнал, который может совпадать при запуске сеанса, до первого хода. Максимум 10 шаблонов по 256 символов каждый.                                                                                                                                                                                                                                                                                                                                                   |
| `cli`          | array of strings | Названия команд из shell-команд, которые Claude запустил в этом сеансе, например `["stripe"]`. Применяется на каждой платформе: команды, запущенные на Windows через PowerShell или Git Bash, записываются одинаково. Claude Code записывает одно название команды на вызов shell-инструмента: первый токен после любых назначений переменных окружения и `sudo`. Составные команды вносят только свою ведущую команду, поэтому `cd infra && terraform plan` записывает `cd`, а не `terraform`. Точное совпадение. Максимум 10 записей по 64 символа каждая.                                                                                                                                                                                                                                                                                                                            |
| `hosts`        | array of strings | Имена хостов, видимые в URL-адресах `http://` или `https://` в Bash-командах этого сеанса, например `["api.stripe.com"]`. Только голое имя хоста в нижнем регистре: без схемы, порта или пути. Точное совпадение без учёта регистра. Максимум 20 записей по 128 символов каждая.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `filesRead`    | array of strings | {/* min-version: 2.1.153 */}Glob-шаблоны, сопоставляемые с путями файлов, которые Claude прочитал в этом сеансе, например `["**/*.tf"]`. Нормализовано с прямыми слешами и без учёта регистра. Максимум 10 шаблонов по 256 символов каждый.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `manifestDeps` | array of objects | Зависимости, объявленные в манифестах пакетов, которые Claude прочитал в этом сеансе. Каждая запись — это `{ "file": "...", "pattern": "..." }`, где `file` — это регулярное выражение, сопоставляемое с путём файла манифеста, как записано в состояние сеанса, обычно абсолютный путь, и `pattern` — это регулярное выражение, сопоставляемое с содержимым этого файла. Якорь `file` в конце, например `[/\\\\]package\\.json$` в JSON-экранированной форме, потому что шаблон с якорем в начале никогда не совпадает с абсолютным путём. Пути не нормализуются по разделителям для этого сигнала, поэтому пути Windows используют обратные слеши. Файлы манифеста размером более 512 КБ пропускаются. Оба значения — это строки источника JavaScript `RegExp` максимум по 256 символов. `file` совпадает без учёта регистра. `pattern` чувствителен к регистру. Максимум 10 записей. |

Сигналы `cli`, `hosts`, `filesRead` и `manifestDeps` требуют истории сеанса, поэтому они могут совпадать только на spinner tip и вкладке Discover. Только `cwd` может совпадать при запуске сеанса. Сигналы `filesRead` и `manifestDeps` проверяют записанное состояние файлов сеанса, которое также включает файлы, которые Claude написал или отредактировал, и автоматически загруженные файлы памяти `CLAUDE.md`.

Следующий пример использует `manifestDeps` для предложения plugin Stripe после того, как Claude прочитал `package.json`, который зависит от `stripe`. Шаблон `file` использует `[/\\\\]`, поэтому он совпадает как с прямыми слешами, так и с обратными слешами, и `\\.`, поэтому точка является литеральной. В JSON каждый обратный слеш в регулярном выражении написан дважды.

```json theme={null}
{
  "name": "stripe-helpers",
  "source": "./plugins/stripe-helpers",
  "relevance": {
    "topic": "Stripe",
    "signals": {
      "manifestDeps": [
        {
          "file": "[/\\\\]package\\.json$",
          "pattern": "\"stripe\"\\s*:"
        }
      ]
    }
  }
}
```

<Note>
  Неизвестные поля под `relevance` и `relevance.signals` игнорируются при загрузке, поэтому старые клиенты Claude Code продолжают загружать ваш marketplace. Запустите `claude plugin validate`, чтобы вывести их как предупреждения.
</Note>

<h2 id="enable-suggestions-in-managed-settings">
  Включите предложения в управляемых параметрах
</h2>

Объявление `relevance` в `marketplace.json` недостаточно само по себе. Администратор должен добавить marketplace в список разрешённых в [управляемых параметрах](/docs/ru/settings#settings-files), прежде чем его предложения появятся пользователям.

Добавьте название marketplace в `pluginSuggestionMarketplaces`. Для любого marketplace, кроме официального marketplace Anthropic, также объявите источник marketplace в тех же управляемых параметрах, либо как запись этого названия в `extraKnownMarketplaces`, либо как запись в `strictKnownMarketplaces`. Разрешённое название игнорируется, если marketplace, зарегистрированный на машине, поступил из другого источника. Это предотвращает регистрацию несвязанного источника под разрешённым названием для предложения его plugins по всей вашей организации.

Следующий `managed-settings.json` регистрирует marketplace организации из репозитория GitHub и включает его предложения:

```json theme={null}
{
  "extraKnownMarketplaces": {
    "acme-corp-plugins": {
      "source": {
        "source": "github",
        "repo": "acme-corp/claude-plugins"
      }
    }
  },
  "pluginSuggestionMarketplaces": ["acme-corp-plugins"]
}
```

Официальный marketplace освобождается от требования объявления источника, потому что его название может регистрироваться только из официального источника Anthropic. Добавления названия в список разрешённых достаточно:

```json theme={null}
{
  "pluginSuggestionMarketplaces": ["claude-plugins-official"]
}
```

См. [справочник параметров](/docs/ru/settings) для `pluginSuggestionMarketplaces` и [`extraKnownMarketplaces`](/docs/ru/settings#extraknownmarketplaces) для полных деталей конфигурации.

<h2 id="what-the-user-sees">
  Что видит пользователь
</h2>

Когда сигнал совпадает во время сеанса, spinner tip читается:

```text theme={null}
Working with Terraform? Install the terraform-helpers plugin:
/plugin install terraform-helpers@acme-corp-plugins
```

При запуске сеанса совпадающий сигнал `cwd` выводит однострочное уведомление:

```text theme={null}
plugin suggestion: terraform-helpers@acme-corp-plugins · /plugin
```

Предложение данного plugin появляется максимум один раз каждые три сеанса в совокупности на spinner tip и уведомлении о начале сеанса, и ни один из них не повторяется после установки plugin. Уведомление о начале сеанса дополнительно перестаёт появляться после того, как предложение было показано дважды.

{/* min-version: 2.1.154 */}На вкладке `/plugin` Discover plugin закреплён выше других результатов с аннотацией, которая называет совпадающий сигнал, такой как `suggested for this directory` или `suggested for terraform commands`. Вкладка Discover закрепляет данный plugin один раз; последующие посещения перечисляют его в обычном порядке. Закрепление на вкладке Discover требует Claude Code v2.1.154 или позже. На v2.1.152 появляется только spinner tip; уведомление о начале сеанса добавляется в v2.1.153.

<h2 id="validate-your-marketplace">
  Проверьте ваш marketplace
</h2>

Запустите `claude plugin validate` для каталога вашего marketplace, чтобы проверить блок `relevance` перед публикацией:

```
claude plugin validate ./my-marketplace
```

Валидатор сообщает неизвестные ключи под `relevance` и `relevance.signals` как предупреждения, отмечает значение `relevance`, которое не является объектом, и отклоняет запись `signals.hosts`, которая включает схему, порт или путь.

<h2 id="see-also">
  См. также
</h2>

* [Создание и распространение marketplace plugin](/docs/ru/plugin-marketplaces): создайте marketplace, который размещает ваши plugins
* [Рекомендуйте ваш plugin из вашего CLI](/docs/ru/plugin-hints): предложите пользователям из вашего собственного CLI вместо сигналов сеанса Claude Code
* [Параметры](/docs/ru/settings): полный справочник для `pluginSuggestionMarketplaces` и `extraKnownMarketplaces`
