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 <source>openclaw plugins install <plugin> --marketplace <source><source> — це шлях до локального маркетплейсу чи репозиторію або джерело git/GitHub.
Перевірка виявлення
openclaw plugins listopenclaw plugins inspect <id>Для пакетів відображається Format: bundle і значення Bundle format::
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 | .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 запускає дочірній процес:
{ "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"; якщо його пропущено, типовим значенням є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 очищає ключі перевизначення оболонки:
shellPathshellCommandPrefix
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/обробляється як вміст Skillssettings.jsonімпортується до налаштувань вбудованого OpenClaw (ключі перевизначення оболонки очищаються).mcp.jsonнадає вбудованому OpenClaw підтримувані інструменти stdio.lsp.jsonразом зі шляхамиlspServers, оголошеними в маніфесті, завантажуються до типових налаштувань LSP вбудованого OpenClawhooks/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, або постачаються в полегшеному вигляді в ядрі, або доступні для завантаження через інсталятор плагінів. Під час запуску 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 або постачайте нативний плагін.
Пов'язані матеріали
- Установлення та налаштування плагінів
- Створення плагінів — створення нативного плагіна
- Маніфест плагіна — схема нативного маніфесту