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

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

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

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

1

Установіть із каталогу, архіву або marketplace

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

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

openclaw plugins list
openclaw plugins inspect <id>
Бандли показуються як Format: bundle із підтипом codex, claude або cursor.
3

Перезапустіть і використовуйте

openclaw gateway restart
Відображені функції (Skills, хуки, MCP-інструменти, стандартні параметри LSP) будуть доступні в наступному сеансі.

Що OpenClaw відображає з бандлів

Не кожна функція бандла сьогодні працює в OpenClaw. Ось що працює, а що виявляється, але ще не під’єднано.

Підтримується зараз

ФункціяЯк вона відображаєтьсяЗастосовується до
Вміст SkillsКорені Skills бандла завантажуються як звичайні Skills OpenClawУсі формати
Командиcommands/ і .cursor/commands/ обробляються як корені SkillsClaude, Cursor
Пакети хуківМакети стилю OpenClaw HOOK.md + handler.tsCodex
MCP-інструментиMCP-конфіг бандла об’єднується з вбудованими налаштуваннями OpenClaw; підтримувані stdio- та HTTP-сервери завантажуютьсяУсі формати
LSP-сервериClaude .lsp.json і оголошені в маніфесті lspServers об’єднуються зі стандартними параметрами LSP вбудованого OpenClawClaude
НалаштуванняClaude settings.json імпортується як вбудовані стандартні параметри OpenClawClaude

Вміст 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 запускає дочірній процес:
{
  "mcp": {
    "servers": {
      "my-server": {
        "command": "node",
        "args": ["server.js"],
        "env": { "PORT": "3000" }
      }
    }
  }
}
HTTP типово під’єднується до запущеного MCP-сервера через sse або через streamable-http, якщо це запитано:
{
  "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 поза звітуванням про можливості

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

Маркери: .codex-plugin/plugin.jsonНеобов’язковий вміст: skills/, hooks/, .mcp.json, .app.jsonБандли Codex найкраще підходять OpenClaw, коли використовують корені Skills і каталоги пакетів хуків у стилі OpenClaw (HOOK.md + handler.ts).
Два режими виявлення:
  • На основі маніфесту: .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 виявляється, але не виконується
  • Користувацькі шляхи компонентів у маніфесті є додатковими (вони розширюють стандартні значення, а не замінюють їх)
Маркери: .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 використовує нативний шлях. Це запобігає частковому встановленню двоформатних пакетів як бандлів.

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

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

Безпека

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

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

Запустіть openclaw plugins inspect <id>. Якщо можливість наведена в списку, але позначена як не під’єднана, це обмеження продукту — не зламане встановлення.
Переконайтеся, що бандл увімкнено, а markdown-файли розташовані всередині виявленого кореня commands/ або skills/.
Підтримуються лише налаштування вбудованого OpenClaw з settings.json. OpenClaw не обробляє налаштування бандла як сирі патчі конфігу.
hooks/hooks.json лише виявляється. Якщо вам потрібні виконувані хуки, використовуйте макет пакета хуків OpenClaw або постачайте нативний плагін.

Пов’язане