Plugins

Наборы плагинов

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 Claude .lsp.json и объявленные в манифесте lspServers объединяются со встроенными настройками LSP OpenClaw по умолчанию Claude
    Настройки Claude settings.json импортируются как встроенные настройки 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 пакета; используйте tools.deny: ["bundle-mcp"], чтобы отключить их для агента или Gateway.
    • Локальные настройки встроенного агента проекта по-прежнему применяются после настроек пакета по умолчанию, поэтому при необходимости настройки рабочей области могут переопределять записи 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

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

    • shellPath
    • shellCommandPrefix

    LSP встроенного OpenClaw

    • Включённые пакеты Claude могут предоставлять конфигурацию сервера LSP.
    • OpenClaw загружает .lsp.json, а также все пути lspServers, объявленные в манифесте.
    • Конфигурация LSP пакета объединяется с итоговыми настройками LSP встроенного OpenClaw по умолчанию.
    • В настоящее время могут выполняться только поддерживаемые серверы LSP на основе stdio; неподдерживаемые транспорты всё равно отображаются в openclaw plugins inspect <id>.

    Обнаруживается, но не выполняется

    Следующие элементы распознаются и отображаются в диагностике, но OpenClaw их не запускает:

    • Claude agents, автоматизация hooks/hooks.json, outputStyles
    • Cursor .cursor/agents, .cursor/hooks.json, .cursor/rules
    • Метаданные 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 предоставляет поддерживаемые инструменты 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 использует нативный путь. Это предотвращает частичную установку пакетов с двумя форматами как пакетов.

    Зависимости среды выполнения и очистка

    • Для совместимых сторонних пакетов при запуске не выполняется восстановление 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