Plugins
Наборы Plugin
OpenClaw может устанавливать плагины из трех внешних экосистем: Codex, Claude и Cursor. Они называются бандлами — пакетами контента и метаданных, которые OpenClaw сопоставляет с нативными возможностями, такими как Skills, хуки и инструменты MCP.
Зачем нужны бандлы
Многие полезные плагины публикуются в формате Codex, Claude или Cursor. Вместо того чтобы требовать от авторов переписать их как нативные плагины OpenClaw, OpenClaw обнаруживает эти форматы и сопоставляет их поддерживаемый контент с нативным набором возможностей. Это значит, что вы можете установить пакет команд Claude или бандл Skills Codex и сразу использовать его.
Установка бандла
Установите из каталога, архива или маркетплейса
# Локальный каталогopenclaw plugins install ./my-bundle # Архивopenclaw plugins install ./my-bundle.tgz # Маркетплейс Claudeopenclaw plugins marketplace list <marketplace-name>openclaw plugins install <plugin-name>@<marketplace-name>Проверьте обнаружение
openclaw plugins listopenclaw plugins inspect <id>Бандлы отображаются как Format: bundle с подтипом codex, claude или cursor.
Перезапустите и используйте
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.mdhandler.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()не приводят к постоянному изменению блоков инструментов в кэше промпта
Транспорты
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 используетssetype: "http"— это нативная downstream-форма 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_-заменяются на- - фрагменты, которые начинались бы не с буквы, получают буквенный префикс, поэтому числовые
ключи серверов, такие как
12306, становятся безопасными для провайдера префиксами инструментов - префиксы серверов ограничены 30 символами
- полные имена инструментов ограничены 64 символами
- пустые имена серверов откатываются к
mcp - конфликтующие нормализованные имена различаются числовыми суффиксами
- итоговый порядок предоставляемых инструментов детерминирован по безопасному имени, чтобы повторные ходы встроенного агента оставались стабильными для кэша
- фильтрация профилей считает все инструменты с одного MCP-сервера бандла принадлежащими плагину
bundle-mcp, поэтому allowlist и deny list профилей могут включать либо отдельные предоставляемые имена инструментов, либо ключ плагинаbundle-mcp
Встроенные настройки OpenClaw
- Claude
settings.jsonимпортируется как встроенные настройки OpenClaw по умолчанию, когда бандл включен - OpenClaw очищает ключи переопределения shell перед применением
Очищаемые ключи:
shellPathshellCommandPrefix
Встроенный 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 - встроенные метаданные 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/обрабатывается как контент Skillssettings.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 сначала проверяет формат нативного плагина:
openclaw.plugin.jsonили допустимыйpackage.jsonсopenclaw.extensions— обрабатывается как нативный плагин- Маркеры бандла (
.codex-plugin/,.claude-plugin/или стандартная разметка Claude/Cursor) — обрабатываются как бандл
Если каталог содержит оба варианта, OpenClaw использует нативный путь. Это предотвращает частичную установку двухформатных пакетов как бандлов.
Зависимости времени выполнения и очистка
- Сторонние совместимые бандлы не получают восстановление
npm installпри запуске. Они должны устанавливаться черезopenclaw plugins installи поставлять все необходимое в установленном каталоге плагина. - Бандлы плагинов, принадлежащие OpenClaw, либо поставляются в облегченном виде в core, либо скачиваются через установщик плагинов. Запуск Gateway никогда не запускает для них менеджер пакетов.
openclaw doctor --fixудаляет устаревшие подготовленные каталоги зависимостей и может восстановить скачиваемые плагины, отсутствующие в локальном индексе плагинов, когда конфигурация ссылается на них.
Безопасность
У бандлов более узкая граница доверия, чем у нативных плагинов:
- OpenClaw не загружает произвольные runtime-модули бандла внутри процесса
- Пути Skills и пакетов хуков должны оставаться внутри корня плагина (с проверкой границ)
- Файлы настроек читаются с теми же проверками границ
- Поддерживаемые MCP-серверы stdio могут запускаться как подпроцессы
Это делает бандлы безопаснее по умолчанию, но сторонние бандлы все равно следует считать доверенным контентом для тех возможностей, которые они предоставляют.
Устранение неполадок
Бандл обнаружен, но возможности не запускаются
Выполните openclaw plugins inspect <id>. Если возможность указана, но помечена как
не подключенная, это ограничение продукта, а не сломанная установка.
Файлы команд Claude не отображаются
Убедитесь, что бандл включен, а markdown-файлы находятся внутри обнаруженного
корневого каталога commands/ или skills/.
Настройки Claude не применяются
Поддерживаются только встроенные настройки OpenClaw из settings.json. OpenClaw
не обрабатывает настройки бандла как необработанные патчи конфигурации.
Хуки Claude не выполняются
hooks/hooks.json только обнаруживается. Если вам нужны запускаемые хуки, используйте
разметку пакета хуков OpenClaw или поставляйте нативный плагин.
Связанные материалы
- Установка и настройка плагинов
- Создание плагинов — создайте нативный плагин
- Манифест плагина — схема нативного манифеста