Plugins

Пакети Plugin

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

Навіщо потрібні пакети

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

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

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

    bash
    # Локальний каталогopenclaw plugins install ./my-bundle # Архівopenclaw plugins install ./my-bundle.tgz # Маркетплейс Claudeopenclaw plugins marketplace list <source>openclaw plugins install <plugin> --marketplace <source>

    <source> — це шлях до локального маркетплейсу чи репозиторію або джерело git/GitHub.

  • Перевірка виявлення

    bash
    openclaw plugins listopenclaw plugins inspect <id>

    Для пакетів відображається Format: bundle і значення Bundle format:: 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 .lsp.json Claude і оголошені в маніфесті lspServers об'єднуються з типовими налаштуваннями LSP вбудованого OpenClaw Claude
    Налаштування settings.json Claude імпортується як типові налаштування вбудованого 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 пакета; щоб вимкнути їх для агента або Gateway, використовуйте tools.deny: ["bundle-mcp"].
    • Локальні для проєкту налаштування вбудованого агента все одно застосовуються після типових налаштувань пакета, тому за потреби налаштування робочого простору можуть перевизначати записи MCP пакета.
    • Каталоги інструментів MCP пакета детерміновано сортуються перед реєстрацією, тому зміни порядку в listTools() на стороні джерела не спричиняють постійних змін блоків інструментів у кеші промптів.
    Транспорти

    Сервери 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"; якщо його пропущено, типовим значенням є 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

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

    • shellPath
    • shellCommandPrefix

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

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

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

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

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

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

    Пакети 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 (ключі перевизначення оболонки очищаються)
    • .mcp.json надає вбудованому OpenClaw підтримувані інструменти stdio
    • .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 використовує нативний шлях. Це запобігає частковому встановленню пакетів із двома форматами як пакетів.

    Залежності середовища виконання й очищення

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

    Безпека

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

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

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

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

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

    Виконайте 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