> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Наборы плагинов

OpenClaw может устанавливать плагины из трёх внешних экосистем: **Codex**, **Claude**
и **Cursor**. Они называются **пакетами** — наборами содержимого и метаданных,
которые OpenClaw сопоставляет со встроенными возможностями, такими как Skills, хуки и инструменты MCP.

> [!NOTE]
>
> Пакеты — **не** то же самое, что нативные плагины OpenClaw. Нативные плагины
> выполняются внутри процесса и могут регистрировать любые возможности. Пакеты представляют собой наборы содержимого
> с выборочным сопоставлением возможностей и более узкой границей доверия.

## Зачем нужны пакеты

Многие полезные плагины публикуются в формате Codex, Claude или Cursor. Вместо
того чтобы требовать от авторов переписывать их как нативные плагины OpenClaw, OpenClaw
обнаруживает эти форматы и сопоставляет поддерживаемое ими содержимое с набором встроенных
возможностей. Вы можете установить пакет команд Claude или пакет Skills Codex и сразу
начать им пользоваться.

## Установка пакета

**1. Установка из каталога, архива или маркетплейса**

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
# Локальный каталог
openclaw plugins install ./my-bundle

# Архив
openclaw plugins install ./my-bundle.tgz

# Маркетплейс Claude
openclaw plugins marketplace list <source>
openclaw plugins install <plugin> --marketplace <source>
```

`<source>` — это локальный путь к маркетплейсу/репозиторию или источник git/GitHub.

**2. Проверка обнаружения**

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw plugins list
openclaw plugins inspect <id>
```

Для пакетов отображается `Format: bundle`, а также значение `Bundle format:`: `codex`,
`claude` или `cursor`.

**3. Перезапуск и использование**

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw gateway restart
```

Сопоставленные возможности (Skills, хуки, инструменты MCP, настройки LSP по умолчанию) доступны в следующем сеансе.

## Что OpenClaw сопоставляет из пакетов

В настоящее время в OpenClaw работают не все возможности пакетов. Ниже указано, что работает,
а что обнаруживается, но пока не подключено.

### Поддерживается сейчас

| Возможность | Способ сопоставления | Применимо к |
| - | - | - |
| Содержимое Skills | Корневые каталоги Skills пакета загружаются как обычные Skills OpenClaw | Все форматы |
| Команды | `commands/` и `.cursor/commands/` обрабатываются как корневые каталоги Skills | Claude, Cursor |
| Пакеты хуков | Структуры в стиле OpenClaw: `HOOK.md` + `handler.ts` | Codex |
| Инструменты MCP | Конфигурация MCP пакета объединяется со встроенными настройками OpenClaw; загружаются поддерживаемые серверы stdio и HTTP | Все форматы |
| Серверы LSP | Claude `.lsp.json` и объявленные в манифесте `lspServers` объединяются со встроенными настройками LSP OpenClaw по умолчанию | Claude |
| Настройки | Claude `settings.json` импортируются как встроенные настройки OpenClaw по умолчанию | Claude |

#### Содержимое Skills

* Корневые каталоги Skills пакета загружаются как обычные корневые каталоги Skills OpenClaw.
* Корневые каталоги Claude `commands/` обрабатываются как дополнительные корневые каталоги Skills.
* Корневые каталоги Cursor `.cursor/commands/` обрабатываются как дополнительные корневые каталоги Skills.

Файлы команд Claude в формате Markdown и команды Cursor в формате Markdown работают через
обычный загрузчик Skills OpenClaw.

#### Пакеты хуков

Корневые каталоги хуков пакета работают **только** при использовании обычной
структуры пакета хуков OpenClaw: `HOOK.md` вместе с `handler.ts` или `handler.js`. В настоящее время это прежде всего
случай, совместимый с Codex.

#### MCP для встроенного OpenClaw

* Включённые пакеты могут предоставлять конфигурацию сервера MCP.
* OpenClaw объединяет конфигурацию MCP пакета с итоговыми настройками встроенного OpenClaw
  в виде `mcpServers`.
* OpenClaw предоставляет поддерживаемые инструменты MCP пакета во время
  запусков встроенного агента OpenClaw, запуская серверы stdio или подключаясь к серверам HTTP.
* Профили инструментов `coding` и `messaging` по умолчанию включают инструменты MCP пакета;
  используйте `tools.deny: ["bundle-mcp"]`, чтобы отключить их для агента или Gateway.
* Локальные настройки встроенного агента проекта по-прежнему применяются после настроек пакета по умолчанию, поэтому
  при необходимости настройки рабочей области могут переопределять записи MCP пакета.
* Каталоги инструментов MCP пакета детерминированно сортируются перед регистрацией, поэтому
  изменения порядка `listTools()` во внешнем источнике не вызывают постоянного изменения блоков инструментов в кэше промптов.

##### Транспорты

Серверы MCP могут использовать транспорт stdio или HTTP.

**Stdio** запускает дочерний процесс:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "mcp": {
    "servers": {
      "my-server": {
        "command": "node",
        "args": ["server.js"],
        "env": { "PORT": "3000" }
      }
    }
  }
}
```

**HTTP** подключается к работающему серверу MCP, по умолчанию используя `sse`, если
не запрошено `streamable-http`:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "mcp": {
    "servers": {
      "my-server": {
        "url": "http://localhost:3100/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer ${MY_SECRET_TOKEN}"
        },
        "connectionTimeoutMs": 30000
      }
    }
  }
}
```

* `transport` принимает `"streamable-http"` или `"sse"`; если значение не указано, по умолчанию используется `sse`.
* `type: "http"` — это нативная для CLI форма нижележащей конфигурации; в конфигурации OpenClaw используйте `transport: "streamable-http"`. `openclaw mcp set` и `openclaw doctor --fix` нормализуют распространённый псевдоним.
* Разрешены только схемы URL `http:` и `https:`.
* Значения `headers` поддерживают подстановку `${ENV_VAR}`.
* Запись сервера, содержащая одновременно `command` и `url`, отклоняется.
* Учётные данные в URL (сведения о пользователе и параметры запроса) скрываются в описаниях
  инструментов и журналах.
* `connectionTimeoutMs` переопределяет стандартный 30-секундный тайм-аут подключения для
  транспортов stdio и HTTP. Тайм-аут запроса по умолчанию составляет 60 секунд и
  может быть переопределён с помощью `requestTimeoutMs`.

##### Именование инструментов

OpenClaw регистрирует инструменты MCP пакета с безопасными для провайдера именами в формате
`serverName__toolName`. Например, сервер с ключом `"vigil-harbor"`, предоставляющий
инструмент `memory_search`, регистрируется как `vigil-harbor__memory_search`.

* Символы, не входящие в `A-Za-z0-9_-`, заменяются на `-`.
* Фрагменты, которые начинались бы не с буквы, получают буквенный префикс, поэтому числовые
  ключи серверов, такие как `12306`, преобразуются в безопасные для провайдера префиксы инструментов.
* Длина префиксов серверов ограничена 30 символами.
* Длина полных имён инструментов ограничена 64 символами.
* Для пустых имён серверов используется резервное значение `mcp`.
* Коллизии очищенных имён устраняются с помощью числовых суффиксов.
* Итоговый порядок предоставляемых инструментов детерминирован по безопасному имени, благодаря чему повторные
  запуски встроенного агента сохраняют стабильность кэша.
* При фильтрации профилей каждый инструмент одного сервера MCP пакета считается
  принадлежащим плагину `bundle-mcp`, поэтому списки разрешений/запретов профиля могут ссылаться
  либо на отдельные предоставляемые имена инструментов, либо на ключ плагина `bundle-mcp`.

#### Настройки встроенного OpenClaw

Claude `settings.json` импортируется как настройки встроенного OpenClaw по умолчанию, когда
пакет включён. Перед применением OpenClaw очищает ключи переопределения оболочки:

* `shellPath`
* `shellCommandPrefix`

#### LSP встроенного OpenClaw

* Включённые пакеты Claude могут предоставлять конфигурацию сервера LSP.
* OpenClaw загружает `.lsp.json`, а также все пути `lspServers`, объявленные в манифесте.
* Конфигурация LSP пакета объединяется с итоговыми настройками LSP
  встроенного OpenClaw по умолчанию.
* В настоящее время могут выполняться только поддерживаемые серверы LSP на основе stdio; неподдерживаемые
  транспорты всё равно отображаются в `openclaw plugins inspect <id>`.

### Обнаруживается, но не выполняется

Следующие элементы распознаются и отображаются в диагностике, но OpenClaw их не запускает:

* Claude `agents`, автоматизация `hooks/hooks.json`, `outputStyles`
* Cursor `.cursor/agents`, `.cursor/hooks.json`, `.cursor/rules`
* Метаданные Codex `.app.json`, кроме отчётности о возможностях

## Форматы пакетов

> [accordion] Пакеты Codex
>
> Маркеры: `.codex-plugin/plugin.json`
>
> Необязательное содержимое: `skills/`, `hooks/`, `.mcp.json`, `.app.json`
>
> Пакеты Codex лучше всего интегрируются с OpenClaw, когда используют корневые каталоги Skills и каталоги
> пакетов хуков в стиле OpenClaw (`HOOK.md` + `handler.ts`).

> [accordion] Пакеты Claude
>
> Два режима обнаружения:
>
> * **На основе манифеста:** `.claude-plugin/plugin.json`
> * **Без манифеста:** стандартная структура Claude (`skills/`, `commands/`, `agents/`, `hooks/`, `.mcp.json`, `.lsp.json`, `settings.json`)
>
> Особенности поведения Claude:
>
> * `commands/` обрабатывается как содержимое Skills
> * `settings.json` импортируется в настройки встроенного OpenClaw (ключи переопределения оболочки очищаются)
> * `.mcp.json` предоставляет поддерживаемые инструменты stdio встроенному OpenClaw
> * `.lsp.json` вместе с путями `lspServers`, объявленными в манифесте, загружается в настройки LSP встроенного OpenClaw по умолчанию
> * `hooks/hooks.json` обнаруживается, но не выполняется
> * Пользовательские пути компонентов в манифесте являются дополнительными: они расширяют настройки по умолчанию, а не заменяют их

> [accordion] Пакеты Cursor
>
> Маркеры: `.cursor-plugin/plugin.json`
>
> Необязательное содержимое: `skills/`, `.cursor/commands/`, `.cursor/agents/`, `.cursor/rules/`, `.cursor/hooks.json`, `.mcp.json`
>
> * `.cursor/commands/` обрабатывается как содержимое Skills
> * `.cursor/rules/`, `.cursor/agents/` и `.cursor/hooks.json` только обнаруживаются

## Приоритет обнаружения

Сначала OpenClaw проверяет нативный формат плагина:

1. `openclaw.plugin.json` или корректный `package.json` с `openclaw.extensions` — обрабатывается как **нативный плагин**
2. Маркеры пакета (`.codex-plugin/`, `.claude-plugin/` или стандартная структура Claude/Cursor) — обрабатывается как **пакет**

Если каталог содержит оба формата, OpenClaw использует нативный путь. Это предотвращает
частичную установку пакетов с двумя форматами как пакетов.

## Зависимости среды выполнения и очистка

* Для совместимых сторонних пакетов при запуске не выполняется восстановление `npm install`. Их
  следует устанавливать через `openclaw plugins install`, и они должны содержать всё
  необходимое в каталоге установленного плагина.
* Плагины из комплекта OpenClaw либо поставляются в облегчённом виде в составе ядра, либо
  загружаются через установщик плагинов. При запуске Gateway менеджер
  пакетов для них никогда не запускается.
* `openclaw doctor --fix` удаляет устаревшие записи об установке локальных плагинов из комплекта
  и может восстанавливать загружаемые плагины, отсутствующие в локальном индексе плагинов,
  если на них по-прежнему ссылается конфигурация.

## Безопасность

У пакетов более узкая граница доверия, чем у нативных плагинов:

* OpenClaw **не** загружает произвольные модули среды выполнения пакета внутри процесса.
* Пути Skills и пакетов хуков должны оставаться внутри корневого каталога плагина (границы проверяются).
* Файлы настроек читаются с теми же проверками границ.
* Поддерживаемые серверы MCP stdio могут запускаться как подпроцессы.

Благодаря этому пакеты по умолчанию безопаснее, но сторонние
пакеты всё равно следует считать доверенным содержимым в отношении предоставляемых ими возможностей.

## Устранение неполадок

> [accordion] Пакет обнаружен, но возможности не работают
>
> Выполните `openclaw plugins inspect <id>`. Если возможность указана в списке, но отмечена как
> неподключённая, это ограничение продукта, а не ошибка установки.

> [accordion] Файлы команд Claude не отображаются
>
> Убедитесь, что пакет включён, а файлы Markdown находятся внутри обнаруженного
> корневого каталога `commands/` или `skills/`.

> [accordion] Настройки Claude не применяются
>
> Поддерживаются только встроенные настройки OpenClaw из `settings.json`. OpenClaw
> не обрабатывает настройки пакета как необработанные патчи конфигурации.

> [accordion] Хуки Claude не выполняются
>
> `hooks/hooks.json` предназначен только для обнаружения. Если вам нужны выполняемые хуки, используйте
> структуру пакета хуков OpenClaw или поставляйте нативный плагин.

## Связанные материалы

* [Установка и настройка плагинов](https://docs2.openclaw.ai/ru/tools/plugin.md)
* [Создание плагинов](https://docs2.openclaw.ai/ru/plugins/building-plugins.md) — создание нативного плагина
* [Манифест плагина](https://docs2.openclaw.ai/ru/plugins/manifest.md) — схема нативного манифеста
