Перейти до основного вмісту

Плагіни

Плагіни розширюють OpenClaw новими можливостями: канали, провайдери моделей, інструменти, Skills, мовлення, транскрибування в реальному часі, голос у реальному часі, розуміння медіа, генерація зображень, генерація відео, отримання даних із вебу, вебпошук тощо. Деякі плагіни є core (постачаються з OpenClaw), інші — external (публікуються спільнотою на npm).

Швидкий старт

1

Перегляньте, що завантажено

openclaw plugins list
2

Установіть плагін

# З npm
openclaw plugins install @openclaw/voice-call

# З локального каталогу або архіву
openclaw plugins install ./my-plugin
openclaw plugins install ./my-plugin.tgz
3

Перезапустіть Gateway

openclaw gateway restart
Потім налаштуйте в plugins.entries.\<id\>.config у вашому файлі конфігурації.
Якщо ви надаєте перевагу керуванню безпосередньо в чаті, увімкніть commands.plugins: true і використовуйте:
/plugin install clawhub:@openclaw/voice-call
/plugin show voice-call
/plugin enable voice-call
Шлях установлення використовує той самий механізм розв’язання, що й CLI: локальний шлях/архів, явний clawhub:<pkg> або специфікація пакета без префікса (спочатку ClawHub, потім запасний варіант npm). Якщо конфігурація недійсна, установлення зазвичай безпечно завершується помилкою і вказує на openclaw doctor --fix. Єдиний виняток для відновлення — вузький шлях перевстановлення вбудованого плагіна для плагінів, які підтримують openclaw.install.allowInvalidConfigRecovery.

Типи плагінів

OpenClaw розпізнає два формати плагінів:
ФорматЯк це працюєПриклади
Nativeopenclaw.plugin.json + runtime-модуль; виконується в процесіОфіційні плагіни, пакети npm від спільноти
BundleМакет, сумісний із Codex/Claude/Cursor; відображається на можливості OpenClaw.codex-plugin/, .claude-plugin/, .cursor-plugin/
Обидва відображаються в openclaw plugins list. Докладніше про пакети див. в Пакети плагінів. Якщо ви пишете native-плагін, почніть із Створення плагінів та Огляду Plugin SDK.

Офіційні плагіни

Доступні для встановлення (npm)

ПлагінПакетДокументація
Matrix@openclaw/matrixMatrix
Microsoft Teams@openclaw/msteamsMicrosoft Teams
Nostr@openclaw/nostrNostr
Voice Call@openclaw/voice-callVoice Call
Zalo@openclaw/zaloZalo
Zalo Personal@openclaw/zalouserZalo Personal

Core (постачаються з OpenClaw)

anthropic, byteplus, cloudflare-ai-gateway, github-copilot, google, huggingface, kilocode, kimi-coding, minimax, mistral, qwen, moonshot, nvidia, openai, opencode, opencode-go, openrouter, qianfan, synthetic, together, venice, vercel-ai-gateway, volcengine, xiaomi, zai
  • memory-core — вбудований пошук у пам’яті (за замовчуванням через plugins.slots.memory)
  • memory-lancedb — довготривала пам’ять з автоматичним пригадуванням/збереженням, що встановлюється за потреби (установіть plugins.slots.memory = "memory-lancedb")
elevenlabs, microsoft
  • browser — вбудований плагін браузера для інструмента браузера, CLI openclaw browser, методу gateway browser.request, runtime браузера та стандартного сервісу керування браузером (увімкнений за замовчуванням; вимкніть його перед заміною)
  • copilot-proxy — міст VS Code Copilot Proxy (вимкнений за замовчуванням)
Шукаєте сторонні плагіни? Див. Плагіни спільноти.

Конфігурація

{
  plugins: {
    enabled: true,
    allow: ["voice-call"],
    deny: ["untrusted-plugin"],
    load: { paths: ["~/Projects/oss/voice-call-extension"] },
    entries: {
      "voice-call": { enabled: true, config: { provider: "twilio" } },
    },
  },
}
ПолеОпис
enabledГоловний перемикач (за замовчуванням: true)
allowAllowlist плагінів (необов’язково)
denyDenylist плагінів (необов’язково; deny має пріоритет)
load.pathsДодаткові файли/каталоги плагінів
slotsВибір ексклюзивних слотів (наприклад, memory, contextEngine)
entries.\<id\>Перемикачі та конфігурація для окремих плагінів
Зміни конфігурації потребують перезапуску gateway. Якщо Gateway запущено з відстеженням конфігурації та внутрішньопроцесним перезапуском (типовий шлях openclaw gateway), цей перезапуск зазвичай виконується автоматично невдовзі після запису конфігурації.
  • Вимкнений: плагін існує, але правила ввімкнення його вимкнули. Конфігурація зберігається.
  • Відсутній: конфігурація посилається на ідентифікатор плагіна, який не знайдено під час виявлення.
  • Недійсний: плагін існує, але його конфігурація не відповідає оголошеній схемі.

Виявлення та пріоритет

OpenClaw сканує плагіни в такому порядку (перше збігання перемагає):
1

Шляхи з конфігурації

plugins.load.paths — явні шляхи до файлів або каталогів.
2

Розширення робочого простору

\<workspace\>/.openclaw/<plugin-root>/*.ts і \<workspace\>/.openclaw/<plugin-root>/*/index.ts.
3

Глобальні розширення

~/.openclaw/<plugin-root>/*.ts і ~/.openclaw/<plugin-root>/*/index.ts.
4

Вбудовані плагіни

Постачаються з OpenClaw. Багато з них увімкнені за замовчуванням (провайдери моделей, мовлення). Інші потрібно вмикати явно.

Правила ввімкнення

  • plugins.enabled: false вимикає всі плагіни
  • plugins.deny завжди має пріоритет над allow
  • plugins.entries.\<id\>.enabled: false вимикає цей плагін
  • Плагіни з робочого простору вимкнені за замовчуванням (їх потрібно явно ввімкнути)
  • Вбудовані плагіни дотримуються вбудованого набору, увімкненого за замовчуванням, якщо це не перевизначено
  • Ексклюзивні слоти можуть примусово ввімкнути вибраний плагін для цього слота

Слоти плагінів (ексклюзивні категорії)

Деякі категорії є ексклюзивними (одночасно активний лише один варіант):
{
  plugins: {
    slots: {
      memory: "memory-core", // або "none", щоб вимкнути
      contextEngine: "legacy", // або ідентифікатор плагіна
    },
  },
}
СлотЩо він контролюєЗа замовчуванням
memoryАктивний плагін пам’ятіmemory-core
contextEngineАктивний рушій контекстуlegacy (вбудований)

Довідка CLI

openclaw plugins list                       # компактний перелік
openclaw plugins list --enabled            # лише завантажені плагіни
openclaw plugins list --verbose            # деталі по кожному плагіну
openclaw plugins list --json               # машиночитний перелік
openclaw plugins inspect <id>              # розгорнута інформація
openclaw plugins inspect <id> --json       # машиночитний формат
openclaw plugins inspect --all             # таблиця для всього набору
openclaw plugins info <id>                 # псевдонім inspect
openclaw plugins doctor                    # діагностика

openclaw plugins install <package>         # установлення (спочатку ClawHub, потім npm)
openclaw plugins install clawhub:<pkg>     # установлення лише з ClawHub
openclaw plugins install <spec> --force    # перезаписати наявне встановлення
openclaw plugins install <path>            # установлення з локального шляху
openclaw plugins install -l <path>         # прив’язати (без копіювання) для розробки
openclaw plugins install <plugin> --marketplace <source>
openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>
openclaw plugins install <spec> --pin      # записати точну розв’язану npm-специфікацію
openclaw plugins install <spec> --dangerously-force-unsafe-install
openclaw plugins update <id>             # оновити один плагін
openclaw plugins update <id> --dangerously-force-unsafe-install
openclaw plugins update --all            # оновити всі
openclaw plugins uninstall <id>          # видалити записи конфігурації/встановлення
openclaw plugins uninstall <id> --keep-files
openclaw plugins marketplace list <source>
openclaw plugins marketplace list <source> --json

openclaw plugins enable <id>
openclaw plugins disable <id>
Вбудовані плагіни постачаються разом з OpenClaw. Багато з них увімкнені за замовчуванням (наприклад, вбудовані провайдери моделей, вбудовані провайдери мовлення та вбудований плагін браузера). Інші вбудовані плагіни все ще потребують openclaw plugins enable <id>. --force перезаписує наявний встановлений плагін або набір хуків на місці. Його не підтримано разом з --link, який повторно використовує вихідний шлях замість копіювання в керовану ціль установлення. --pin працює лише для npm. Його не підтримано з --marketplace, оскільки установлення з marketplace зберігає метадані джерела marketplace замість npm-специфікації. --dangerously-force-unsafe-install — це аварійне перевизначення для хибно позитивних спрацювань вбудованого сканера небезпечного коду. Воно дозволяє продовжувати встановлення та оновлення плагінів попри вбудовані результати рівня critical, але все одно не обходить блокування політики плагіна before_install або блокування через помилки сканування. Цей прапорець CLI застосовується лише до потоків встановлення/оновлення плагінів. Установлення залежностей Skills через gateway замість цього використовує відповідне перевизначення запиту dangerouslyForceUnsafeInstall, тоді як openclaw skills install залишається окремим потоком завантаження/встановлення Skills із ClawHub. Сумісні пакети беруть участь у тому самому потоці list/inspect/enable/disable для плагінів. Поточна підтримка runtime включає bundle Skills, command-skills Claude, значення за замовчуванням у Claude settings.json, значення за замовчуванням для Claude .lsp.json та оголошених у маніфесті lspServers, command-skills Cursor і сумісні каталоги хуків Codex. openclaw plugins inspect <id> також показує виявлені можливості bundle, а також підтримувані чи непідтримувані записи серверів MCP і LSP для плагінів на основі bundle. Джерелами marketplace можуть бути відома назва marketplace Claude з ~/.claude/plugins/known_marketplaces.json, локальний корінь marketplace або шлях marketplace.json, скорочений запис GitHub на кшталт owner/repo, URL репозиторію GitHub або git URL. Для віддалених marketplace записи плагінів мають залишатися в межах клонованого репозиторію marketplace і використовувати лише відносні шляхи джерел. Детальніше див. в openclaw plugins довідці CLI.

Огляд API плагінів

Native-плагіни експортують об’єкт entry, який надає register(api). Старіші плагіни все ще можуть використовувати activate(api) як застарілий псевдонім, але нові плагіни повинні використовувати register.
export default definePluginEntry({
  id: "my-plugin",
  name: "My Plugin",
  register(api) {
    api.registerProvider({
      /* ... */
    });
    api.registerTool({
      /* ... */
    });
    api.registerChannel({
      /* ... */
    });
  },
});
OpenClaw завантажує об’єкт entry і викликає register(api) під час активації плагіна. Завантажувач усе ще повертається до activate(api) для старіших плагінів, але вбудовані плагіни й нові зовнішні плагіни мають розглядати register як публічний контракт. Поширені методи реєстрації:
МетодЩо він реєструє
registerProviderПровайдер моделей (LLM)
registerChannelКанал чату
registerToolІнструмент агента
registerHook / on(...)Хуки життєвого циклу
registerSpeechProviderText-to-speech / STT
registerRealtimeTranscriptionProviderStreaming STT
registerRealtimeVoiceProviderДвобічний голос у реальному часі
registerMediaUnderstandingProviderАналіз зображень/аудіо
registerImageGenerationProviderГенерація зображень
registerMusicGenerationProviderГенерація музики
registerVideoGenerationProviderГенерація відео
registerWebFetchProviderПровайдер отримання/скрейпінгу вебданих
registerWebSearchProviderВебпошук
registerHttpRouteHTTP-ендпойнт
registerCommand / registerCliКоманди CLI
registerContextEngineРушій контексту
registerServiceФоновий сервіс
Поведінка guard для типізованих хуків життєвого циклу:
  • before_tool_call: { block: true } є термінальним; обробники з нижчим пріоритетом пропускаються.
  • before_tool_call: { block: false } нічого не робить і не скасовує раніше встановлений блок.
  • before_install: { block: true } є термінальним; обробники з нижчим пріоритетом пропускаються.
  • before_install: { block: false } нічого не робить і не скасовує раніше встановлений блок.
  • message_sending: { cancel: true } є термінальним; обробники з нижчим пріоритетом пропускаються.
  • message_sending: { cancel: false } нічого не робить і не скасовує раніше встановлене скасування.
Повну поведінку типізованих хуків див. в Огляді SDK.

Пов’язане