Перейти к основному содержанию
OpenClaw может устанавливать плагины из трех внешних экосистем: Codex, Claude и Cursor. Они называются бандлами — пакетами контента и метаданных, которые OpenClaw сопоставляет с нативными возможностями, такими как Skills, хуки и инструменты MCP.
Бандлы — не то же самое, что нативные плагины OpenClaw. Нативные плагины работают внутри процесса и могут регистрировать любые возможности. Бандлы — это пакеты контента с выборочным сопоставлением функций и более узкой границей доверия.

Зачем нужны бандлы

Многие полезные плагины публикуются в формате Codex, Claude или Cursor. Вместо того чтобы требовать от авторов переписать их как нативные плагины OpenClaw, OpenClaw обнаруживает эти форматы и сопоставляет их поддерживаемый контент с нативным набором возможностей. Это значит, что вы можете установить пакет команд Claude или бандл Skills Codex и сразу использовать его.

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

1

Установите из каталога, архива или маркетплейса

# Локальный каталог
openclaw plugins install ./my-bundle

# Архив
openclaw plugins install ./my-bundle.tgz

# Маркетплейс Claude
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
2

Проверьте обнаружение

openclaw plugins list
openclaw plugins inspect <id>
Бандлы отображаются как Format: bundle с подтипом codex, claude или cursor.
3

Перезапустите и используйте

openclaw gateway restart
Сопоставленные возможности (Skills, хуки, инструменты MCP, значения LSP по умолчанию) будут доступны в следующей сессии.

Что OpenClaw сопоставляет из бандлов

Сегодня в OpenClaw работает не каждая возможность бандла. Ниже указано, что работает и что обнаруживается, но еще не подключено.

Поддерживается сейчас

ВозможностьКак она сопоставляетсяПрименимо к
Контент SkillsКорневые каталоги Skills из бандла загружаются как обычные Skills OpenClawВсе форматы
Командыcommands/ и .cursor/commands/ обрабатываются как корневые каталоги SkillsClaude, Cursor
Пакеты хуковРазметки в стиле OpenClaw HOOK.md + handler.tsCodex
Инструменты MCPКонфигурация MCP бандла объединяется со встроенными настройками OpenClaw; поддерживаемые серверы stdio и HTTP загружаютсяВсе форматы
Серверы LSPClaude .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() не приводят к постоянному изменению блоков инструментов в кэше промпта
Транспорты
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" — это нативная 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 перед применением
Очищаемые ключи:
  • 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
  • встроенные метаданные Codex и метаданные приложения, кроме отчетности о возможностях

Форматы бандлов

Маркеры: .codex-plugin/plugin.jsonНеобязательный контент: skills/, hooks/, .mcp.json, .app.jsonБандлы Codex лучше всего подходят OpenClaw, когда используют корневые каталоги Skills и каталоги пакетов хуков в стиле OpenClaw (HOOK.md + handler.ts).
Два режима обнаружения:
  • На основе манифеста: .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-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, либо поставляются в облегченном виде в core, либо скачиваются через установщик плагинов. Запуск Gateway никогда не запускает для них менеджер пакетов.
  • openclaw doctor --fix удаляет устаревшие подготовленные каталоги зависимостей и может восстановить скачиваемые плагины, отсутствующие в локальном индексе плагинов, когда конфигурация ссылается на них.

Безопасность

У бандлов более узкая граница доверия, чем у нативных плагинов:
  • OpenClaw не загружает произвольные runtime-модули бандла внутри процесса
  • Пути Skills и пакетов хуков должны оставаться внутри корня плагина (с проверкой границ)
  • Файлы настроек читаются с теми же проверками границ
  • Поддерживаемые MCP-серверы stdio могут запускаться как подпроцессы
Это делает бандлы безопаснее по умолчанию, но сторонние бандлы все равно следует считать доверенным контентом для тех возможностей, которые они предоставляют.

Устранение неполадок

Выполните openclaw plugins inspect <id>. Если возможность указана, но помечена как не подключенная, это ограничение продукта, а не сломанная установка.
Убедитесь, что бандл включен, а markdown-файлы находятся внутри обнаруженного корневого каталога commands/ или skills/.
Поддерживаются только встроенные настройки OpenClaw из settings.json. OpenClaw не обрабатывает настройки бандла как необработанные патчи конфигурации.
hooks/hooks.json только обнаруживается. Если вам нужны запускаемые хуки, используйте разметку пакета хуков OpenClaw или поставляйте нативный плагин.

Связанные материалы