Plugins

Пакети Plugin

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

Навіщо існують пакети

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

Установлення пакета

  • Установіть із каталогу, архіву або маркетплейса

    # 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>
    
  • Перевірте виявлення

    openclaw plugins list
    openclaw plugins inspect <id>
    

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

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

    openclaw gateway restart
    

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

  • Що OpenClaw відображає з пакетів

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

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

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

    Вміст навичок

    • корені навичок пакета завантажуються як звичайні корені навичок OpenClaw
    • корені Claude commands обробляються як додаткові корені навичок
    • корені Cursor .cursor/commands обробляються як додаткові корені навичок

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

    Набори хуків

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

    MCP для Pi

    • увімкнені пакети можуть додавати конфігурацію MCP-сервера
    • OpenClaw об’єднує MCP-конфігурацію пакета з ефективними налаштуваннями вбудованого Pi як mcpServers
    • OpenClaw надає підтримувані MCP-інструменти пакета під час ходів агента вбудованого Pi, запускаючи сервери stdio або підключаючись до HTTP-серверів
    • профілі інструментів coding і messaging типово включають MCP-інструменти пакета; використовуйте tools.deny: ["bundle-mcp"], щоб відмовитися від них для агента або Gateway
    • локальні для проєкту налаштування Pi все ще застосовуються після типових параметрів пакета, тому налаштування робочого простору можуть перевизначати записи MCP пакета за потреби
    • каталоги MCP-інструментів пакета сортуються детерміновано перед реєстрацією, тому зміни порядку 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-нативна форма нижче за стеком; використовуйте transport: "streamable-http" у конфігурації OpenClaw. openclaw mcp set і openclaw doctor --fix нормалізують поширений псевдонім.
    • дозволені лише схеми 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_- замінюються на -
    • префікси серверів обмежені 30 символами
    • повні назви інструментів обмежені 64 символами
    • порожні назви серверів повертаються до mcp
    • конфліктні санітизовані назви розрізняються числовими суфіксами
    • остаточний порядок відкритих інструментів детермінований за безпечною назвою, щоб повторні ходи Pi залишалися стабільними для кешу
    • фільтрація профілю обробляє всі інструменти з одного MCP-сервера пакета як належні плагіну bundle-mcp, тому списки дозволів і заборон профілю можуть включати або окремі відкриті назви інструментів, або ключ плагіна bundle-mcp

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

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

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

    • shellPath
    • shellCommandPrefix

    LSP вбудованого Pi

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

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

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

    • Claude agents, автоматизація hooks.json, outputStyles
    • Cursor .cursor/agents, .cursor/hooks.json, .cursor/rules
    • вбудовані/прикладні метадані Codex поза звітуванням про можливості

    Формати пакетів

    Пакети Codex

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

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

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

    Пакети Claude

    Два режими виявлення:

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

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

    • commands/ обробляється як вміст навичок
    • settings.json імпортується в налаштування вбудованого Pi (ключі перевизначення оболонки санітизуються)
    • .mcp.json відкриває підтримувані stdio-інструменти для вбудованого Pi
    • .lsp.json плюс оголошені в маніфесті шляхи lspServers завантажуються в типові параметри LSP вбудованого Pi
    • hooks/hooks.json виявляється, але не виконується
    • користувацькі шляхи компонентів у маніфесті є додатковими (вони розширюють типові значення, а не замінюють їх)
    Пакети Cursor

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

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

    • .cursor/commands/ обробляється як вміст навичок
    • .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 ніколи не запускає для них менеджер пакетів.
    • openclaw doctor --fix видаляє застарілі staged-каталоги залежностей і може відновлювати завантажувані плагіни, яких бракує в локальному індексі плагінів, коли конфігурація посилається на них.

    Безпека

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

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

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

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

    Пакет виявлено, але можливості не запускаються

    Запустіть openclaw plugins inspect <id>. Якщо можливість перелічена, але позначена як не підключена, це обмеження продукту, а не несправне встановлення.

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

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

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

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

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

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

    Пов’язане