16 KiB
| read_when | summary | title | x-i18n | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Установлення та використання пакетів Codex, Claude і Cursor як плагінів OpenClaw | Пакети плагінів |
|
Пакети плагінів
OpenClaw може встановлювати плагіни з трьох зовнішніх екосистем: Codex, Claude і Cursor. Вони називаються пакетами — наборами вмісту та метаданих, які OpenClaw зіставляє з нативними можливостями, як-от Skills, hooks і інструменти MCP.
Пакети **не** є тим самим, що й нативні плагіни OpenClaw. Нативні плагіни працюють у процесі й можуть реєструвати будь-які можливості. Пакети є наборами вмісту з вибірковим зіставленням можливостей і вужчою межею довіри.Навіщо існують пакети
Багато корисних плагінів публікуються у форматах Codex, Claude або Cursor. Замість того щоб змушувати авторів переписувати їх як нативні плагіни OpenClaw, OpenClaw виявляє ці формати й зіставляє підтримуваний у них вміст із нативним набором можливостей. Це означає, що ви можете встановити набір команд Claude або пакет Skills Codex і відразу почати ним користуватися.
Установлення пакета
```bash # Локальний каталог openclaw plugins install ./my-bundle# Архів
openclaw plugins install ./my-bundle.tgz
# Marketplace Claude
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
```
```bash
openclaw plugins list
openclaw plugins inspect
```
Пакети відображаються як `Format: bundle` із підтипом `codex`, `claude` або `cursor`.
```bash
openclaw gateway restart
```
Зіставлені можливості (Skills, hooks, інструменти MCP, типові значення LSP) будуть доступні в наступному сеансі.
Що OpenClaw зіставляє з пакетів
Не всі можливості пакетів сьогодні виконуються в OpenClaw. Нижче наведено, що працює, а що виявляється, але ще не підключене.
Підтримується зараз
| Можливість | Як зіставляється | Застосовується до |
|---|---|---|
| Вміст Skills | Корені Skills пакетів завантажуються як звичайні Skills OpenClaw | Усі формати |
| Команди | commands/ і .cursor/commands/ обробляються як корені Skills |
Claude, Cursor |
| Пакети hooks | Макети в стилі OpenClaw HOOK.md + handler.ts |
Codex |
| Інструменти MCP | Конфігурація MCP пакета об’єднується з вбудованими налаштуваннями Pi; завантажуються підтримувані сервери stdio і HTTP | Усі формати |
| Сервери LSP | Claude .lsp.json і оголошені в маніфесті lspServers об’єднуються з типовими значеннями LSP вбудованого Pi |
Claude |
| Налаштування | Claude settings.json імпортується як типові значення вбудованого Pi |
Claude |
Вміст Skills
- корені Skills пакетів завантажуються як звичайні корені Skills OpenClaw
- корені Claude
commandsобробляються як додаткові корені Skills - корені Cursor
.cursor/commandsобробляються як додаткові корені Skills
Це означає, що markdown-файли команд Claude працюють через звичайний завантажувач Skills OpenClaw. Markdown-команди Cursor працюють через той самий шлях.
Пакети hooks
- корені hooks пакета працюють лише тоді, коли вони використовують звичайний макет пакета hooks OpenClaw. Сьогодні це переважно випадок сумісності з Codex:
HOOK.mdhandler.tsабоhandler.js
MCP для Pi
- увімкнені пакети можуть додавати конфігурацію сервера MCP
- OpenClaw об’єднує конфігурацію MCP пакета в ефективні вбудовані налаштування Pi як
mcpServers - OpenClaw надає підтримувані інструменти MCP пакета під час ходів агента вбудованого Pi, запускаючи сервери stdio або підключаючись до HTTP-серверів
- локальні для проєкту налаштування Pi застосовуються після типових значень пакета, тому налаштування робочого простору можуть за потреби перевизначати записи MCP пакета
- каталоги інструментів MCP пакета сортуються детерміновано перед реєстрацією, щоб зміни у порядку
listTools()на рівні джерела не розхитували блоки інструментів у prompt-cache
Транспорти
Сервери 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- дозволено лише схеми 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_-замінюються на- - префікси серверів обмежуються 30 символами
- повні назви інструментів обмежуються 64 символами
- порожні назви серверів замінюються на
mcp - конфліктні санітизовані назви розрізняються числовими суфіксами
- остаточний порядок видимих інструментів є детермінованим за безпечною назвою, щоб повторні ходи Pi залишалися стабільними для кешу
Вбудовані налаштування Pi
- Claude
settings.jsonімпортується як типові вбудовані налаштування Pi, коли пакет увімкнено - OpenClaw санітизує ключі перевизначення оболонки перед застосуванням
Санітизовані ключі:
shellPathshellCommandPrefix
Вбудований LSP Pi
- увімкнені пакети Claude можуть додавати конфігурацію сервера LSP
- OpenClaw завантажує
.lsp.json, а також будь-які шляхиlspServers, оголошені в маніфесті - конфігурація LSP пакета об’єднується з ефективними типовими значеннями LSP вбудованого Pi
- сьогодні можна запускати лише підтримувані 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 і каталоги пакетів hooks у стилі 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` імпортується у вбудовані налаштування Pi (ключі перевизначення оболонки санітизуються)
- `.mcp.json` надає підтримувані інструменти stdio для вбудованого Pi
- `.lsp.json` разом із шляхами `lspServers`, оголошеними в маніфесті, завантажуються у типові значення LSP вбудованого Pi
- `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 спочатку перевіряє нативний формат плагіна:
openclaw.plugin.jsonабо коректнийpackage.jsonзopenclaw.extensions— обробляється як нативний плагін- Маркери пакетів (
.codex-plugin/,.claude-plugin/або типовий макет Claude/Cursor) — обробляються як пакет
Якщо каталог містить обидва варіанти, OpenClaw використовує нативний шлях. Це запобігає частковому встановленню пакетів із подвійним форматом як пакетів.
Безпека
Пакети мають вужчу межу довіри, ніж нативні плагіни:
- OpenClaw не завантажує довільні runtime-модулі пакета в процес
- шляхи Skills і пакетів hooks мають залишатися в межах кореня плагіна (перевірка меж)
- файли налаштувань читаються з тими самими перевірками меж
- підтримувані сервери stdio MCP можуть запускатися як підпроцеси
Це робить пакети безпечнішими типово, але вам усе одно слід вважати сторонні пакети довіреним вмістом для тих можливостей, які вони все ж надають.
Усунення неполадок
Виконайте `openclaw plugins inspect `. Якщо можливість указано, але позначено як не підключену, це обмеження продукту, а не зламана інсталяція. Переконайтеся, що пакет увімкнено, а markdown-файли розташовані всередині виявленого кореня `commands/` або `skills/`. Підтримуються лише вбудовані налаштування Pi з `settings.json`. OpenClaw не обробляє налаштування пакета як необроблені патчі конфігурації. `hooks/hooks.json` лише виявляється. Якщо вам потрібні hooks, які можна виконувати, використовуйте макет пакета hooks OpenClaw або постачайте нативний плагін.Пов’язане
- Установлення та налаштування плагінів
- Створення плагінів — створення нативного плагіна
- Маніфест плагіна — схема нативного маніфесту