> ## 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.

# Пакети Plugin

OpenClaw може встановлювати плагіни з трьох зовнішніх екосистем: **Codex**, **Claude**
і **Cursor**. Вони називаються **бандлами** — пакетами вмісту й метаданих, які
OpenClaw відображає в нативні функції, як-от Skills, хуки та MCP-інструменти.

<Info>
  Бандли — **не** те саме, що нативні плагіни OpenClaw. Нативні плагіни працюють
  у процесі та можуть реєструвати будь-яку можливість. Бандли — це пакети вмісту з
  вибірковим відображенням функцій і вужчою межею довіри.
</Info>

## Навіщо існують бандли

Багато корисних плагінів публікуються у форматі Codex, Claude або Cursor. Замість
того щоб вимагати від авторів переписувати їх як нативні плагіни OpenClaw, OpenClaw
виявляє ці формати та відображає їхній підтримуваний вміст у нативний набір функцій.
Це означає, що ви можете встановити пакет команд Claude або бандл Skills Codex
і одразу ним користуватися.

## Установити бандл

<Steps>
  <Step title="Установіть із каталогу, архіву або marketplace">
    ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
    # Local directory
    openclaw plugins install ./my-bundle

    # Archive
    openclaw plugins install ./my-bundle.tgz

    # Claude marketplace
    openclaw plugins marketplace list <marketplace-name>
    openclaw plugins install <plugin-name>@<marketplace-name>
    ```
  </Step>

  <Step title="Перевірте виявлення">
    ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
    openclaw plugins list
    openclaw plugins inspect <id>
    ```

    Бандли показуються як `Format: bundle` із підтипом `codex`, `claude` або `cursor`.
  </Step>

  <Step title="Перезапустіть і використовуйте">
    ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
    openclaw gateway restart
    ```

    Відображені функції (Skills, хуки, MCP-інструменти, стандартні параметри LSP) будуть доступні в наступному сеансі.
  </Step>
</Steps>

## Що 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

Це означає, що markdown-файли команд Claude працюють через звичайний завантажувач
Skills OpenClaw. Markdown команд Cursor працює через той самий шлях.

#### Пакети хуків

* корені хуків бандла працюють **лише** тоді, коли вони використовують звичайний
  макет пакета хуків OpenClaw. Сьогодні це насамперед випадок, сумісний із Codex:
  * `HOOK.md`
  * `handler.ts` або `handler.js`

#### MCP для вбудованого OpenClaw

* увімкнені бандли можуть додавати конфіг MCP-сервера
* OpenClaw об’єднує MCP-конфіг бандла з ефективними налаштуваннями вбудованого OpenClaw як
  `mcpServers`
* OpenClaw надає підтримувані MCP-інструменти бандла під час ходів агента вбудованого OpenClaw,
  запускаючи stdio-сервери або під’єднуючись до HTTP-серверів
* профілі інструментів `coding` і `messaging` типово включають MCP-інструменти бандла;
  використовуйте `tools.deny: ["bundle-mcp"]`, щоб вимкнути їх для агента або Gateway
* локальні для проєкту налаштування вбудованого агента все одно застосовуються після стандартних параметрів бандла, тому налаштування робочої області можуть перевизначати MCP-записи бандла за потреби
* каталоги MCP-інструментів бандла сортуються детерміновано перед реєстрацією, тому
  зміни порядку upstream `listTools()` не перетрушують блоки інструментів prompt-cache

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

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"`; якщо його пропущено, OpenClaw використовує `sse`
* `type: "http"` — це CLI-нативна downstream-форма; використовуйте `transport: "streamable-http"` у конфігу OpenClaw. `openclaw mcp set` і `openclaw doctor --fix` нормалізують поширений alias.
* дозволені лише схеми URL `http:` і `https:`
* значення `headers` підтримують інтерполяцію `${ENV_VAR}`
* запис сервера з одночасно `command` і `url` відхиляється
* облікові дані URL (userinfo і параметри запиту) редагуються з описів
  інструментів і логів
* `connectionTimeoutMs` перевизначає стандартний 30-секундний тайм-аут підключення для
  транспортів stdio і HTTP

##### Іменування інструментів

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

* символи поза `A-Za-z0-9_-` замінюються на `-`
* фрагменти, які починалися б не з літери, отримують літерний префікс, тому числові
  ключі серверів, як-от `12306`, стають безпечними для провайдера префіксами інструментів
* префікси серверів обмежені 30 символами
* повні імена інструментів обмежені 64 символами
* порожні імена серверів використовують запасне значення `mcp`
* колізії санітизованих імен розрізняються числовими суфіксами
* фінальний порядок наданих інструментів детермінований за безпечним іменем, щоб повторні ходи embedded-agent
  залишали кеш стабільним
* фільтрація профілів розглядає всі інструменти з одного MCP-сервера бандла як належні плагіну
  `bundle-mcp`, тому allowlist і deny list профілю можуть включати або
  окремі надані імена інструментів, або ключ плагіна `bundle-mcp`

#### Налаштування вбудованого OpenClaw

* Claude `settings.json` імпортується як стандартні налаштування вбудованого OpenClaw, коли
  бандл увімкнено
* OpenClaw санітизує ключі перевизначення shell перед застосуванням

Санітизовані ключі:

* `shellPath`
* `shellCommandPrefix`

#### LSP вбудованого OpenClaw

* увімкнені бандли Claude можуть додавати конфіг LSP-сервера
* OpenClaw завантажує `.lsp.json` плюс будь-які оголошені в маніфесті шляхи `lspServers`
* LSP-конфіг бандла об’єднується з ефективними стандартними параметрами LSP вбудованого OpenClaw
* сьогодні запускатися можуть лише підтримувані LSP-сервери на основі stdio; непідтримувані
  транспорти все одно відображаються в `openclaw plugins inspect <id>`

### Виявляється, але не виконується

Ці елементи розпізнаються та показуються в діагностиці, але OpenClaw їх не запускає:

* Claude `agents`, автоматизація `hooks.json`, `outputStyles`
* Cursor `.cursor/agents`, `.cursor/hooks.json`, `.cursor/rules`
* inline/app-метадані Codex поза звітуванням про можливості

## Формати бандлів

<AccordionGroup>
  <Accordion title="Бандли Codex">
    Маркери: `.codex-plugin/plugin.json`

    Необов’язковий вміст: `skills/`, `hooks/`, `.mcp.json`, `.app.json`

    Бандли Codex найкраще підходять OpenClaw, коли використовують корені Skills і
    каталоги пакетів хуків у стилі OpenClaw (`HOOK.md` + `handler.ts`).
  </Accordion>

  <Accordion title="Бандли Claude">
    Два режими виявлення:

    * **На основі маніфесту:** `.claude-plugin/plugin.json`
    * **Без маніфесту:** стандартний макет Claude (`skills/`, `commands/`, `agents/`, `hooks/`, `.mcp.json`, `.lsp.json`, `settings.json`)

    Поведінка, специфічна для Claude:

    * `commands/` обробляється як вміст Skills
    * `settings.json` імпортується до налаштувань вбудованого OpenClaw (ключі перевизначення shell санітизуються)
    * `.mcp.json` надає підтримувані stdio-інструменти вбудованому OpenClaw
    * `.lsp.json` плюс оголошені в маніфесті шляхи `lspServers` завантажуються до стандартних параметрів LSP вбудованого OpenClaw
    * `hooks/hooks.json` виявляється, але не виконується
    * Користувацькі шляхи компонентів у маніфесті є додатковими (вони розширюють стандартні значення, а не замінюють їх)
  </Accordion>

  <Accordion title="Бандли 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` лише виявляються
  </Accordion>
</AccordionGroup>

## Пріоритет виявлення

OpenClaw спочатку перевіряє нативний формат плагіна:

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

Якщо каталог містить обидва варіанти, OpenClaw використовує нативний шлях. Це запобігає
частковому встановленню двоформатних пакетів як бандлів.

## Runtime-залежності та очищення

* Сторонні сумісні бандли не отримують startup-ремонт `npm install`. Їх
  слід установлювати через `openclaw plugins install` і постачати все
  потрібне в установленому каталозі плагіна.
* Плагіни бандлів, що належать OpenClaw, або постачаються легкими в core, або
  завантажуються через інсталятор плагінів. Під час запуску Gateway ніколи не запускає
  для них package manager.
* `openclaw doctor --fix` видаляє застарілі staged-каталоги залежностей і може
  відновлювати завантажувані плагіни, яких немає в локальному індексі плагінів, коли
  конфіг на них посилається.

## Безпека

Бандли мають вужчу межу довіри, ніж нативні плагіни:

* OpenClaw **не** завантажує довільні runtime-модулі бандла в процес
* Шляхи Skills і пакетів хуків мають залишатися всередині кореня плагіна (з перевіркою меж)
* Файли налаштувань читаються з тими самими перевірками меж
* Підтримувані stdio MCP-сервери можуть запускатися як subprocesses

Це робить бандли безпечнішими за замовчуванням, але сторонні
бандли все одно слід розглядати як довірений вміст для функцій, які вони надають.

## Усунення несправностей

<AccordionGroup>
  <Accordion title="Бандл виявлено, але можливості не запускаються">
    Запустіть `openclaw plugins inspect <id>`. Якщо можливість наведена в списку, але позначена як
    не під’єднана, це обмеження продукту — не зламане встановлення.
  </Accordion>

  <Accordion title="Файли команд Claude не з’являються">
    Переконайтеся, що бандл увімкнено, а markdown-файли розташовані всередині виявленого
    кореня `commands/` або `skills/`.
  </Accordion>

  <Accordion title="Налаштування Claude не застосовуються">
    Підтримуються лише налаштування вбудованого OpenClaw з `settings.json`. OpenClaw
    не обробляє налаштування бандла як сирі патчі конфігу.
  </Accordion>

  <Accordion title="Хуки Claude не виконуються">
    `hooks/hooks.json` лише виявляється. Якщо вам потрібні виконувані хуки, використовуйте
    макет пакета хуків OpenClaw або постачайте нативний плагін.
  </Accordion>
</AccordionGroup>

## Пов’язане

* [Установлення та налаштування плагінів](/uk/tools/plugin)
* [Створення плагінів](/uk/plugins/building-plugins) — створіть нативний плагін
* [Маніфест плагіна](/uk/plugins/manifest) — нативна схема маніфесту
