Plugins

Пакети Plugin

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

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

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

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

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

    bash
    # Local directoryopenclaw plugins install ./my-bundle # Archiveopenclaw plugins install ./my-bundle.tgz # Claude marketplaceopenclaw plugins marketplace list <marketplace-name>openclaw plugins install <plugin-name>@<marketplace-name>
  • Перевірте виявлення

    bash
    openclaw plugins listopenclaw plugins inspect <id>

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

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

    bash
    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

    Це означає, що 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
    {  "mcp": {    "servers": {      "my-server": {        "command": "node",        "args": ["server.js"],        "env": { "PORT": "3000" }      }    }  }}

    HTTP типово під’єднується до запущеного MCP-сервера через sse або через streamable-http, якщо це запитано:

    json
    {  "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

    Маркери: .codex-plugin/plugin.json

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

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

    Бандли 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 виявляється, але не виконується
    • Користувацькі шляхи компонентів у маніфесті є додатковими (вони розширюють стандартні значення, а не замінюють їх)
    Бандли 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 використовує нативний шлях. Це запобігає частковому встановленню двоформатних пакетів як бандлів.

    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>. Якщо можливість наведена в списку, але позначена як не під’єднана, це обмеження продукту — не зламане встановлення.

    Файли команд Claude не з’являються

    Переконайтеся, що бандл увімкнено, а markdown-файли розташовані всередині виявленого кореня commands/ або skills/.

    Налаштування Claude не застосовуються

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

    Хуки Claude не виконуються

    hooks/hooks.json лише виявляється. Якщо вам потрібні виконувані хуки, використовуйте макет пакета хуків OpenClaw або постачайте нативний плагін.

    Пов’язане

    Was this useful?
    On this page

    On this page