Pluginy
Pluginy rozszerzają OpenClaw o nowe możliwości: kanały, dostawców modeli, narzędzia, Skills, mowę, transkrypcję realtime, głos realtime, rozumienie mediów, generowanie obrazów, generowanie wideo, pobieranie z sieci, wyszukiwanie w sieci i inne. Niektóre Pluginy są core (dostarczane z OpenClaw), inne są zewnętrzne (publikowane na npm przez społeczność).Szybki start
Jeśli wolisz sterowanie natywne dla czatu, włącz
commands.plugins: true i użyj:
clawhub:<pkg> albo specyfikacja pakietu bez prefiksu (najpierw ClawHub, potem fallback do npm).
Jeśli konfiguracja jest nieprawidłowa, instalacja zwykle domyślnie kończy się bez zmian i kieruje do
openclaw doctor --fix. Jedynym wyjątkiem odzyskiwania jest wąska ścieżka ponownej instalacji bundled-plugin
dla Plugin, które wybiorą
openclaw.install.allowInvalidConfigRecovery.
Spakowane instalacje OpenClaw nie instalują od razu całego drzewa zależności środowiska uruchomieniowego każdego bundled plugin.
Gdy dołączony Plugin należący do OpenClaw jest aktywny przez konfigurację Plugin,
starszą konfigurację kanału lub manifest włączony domyślnie, naprawy startowe
instalują tylko zadeklarowane przez ten Plugin zależności środowiska uruchomieniowego przed jego importem.
Zewnętrzne Plugin i niestandardowe ścieżki ładowania nadal muszą być instalowane przez
openclaw plugins install.
Typy Plugin
OpenClaw rozpoznaje dwa formaty Plugin:| Format | Jak działa | Przykłady |
|---|---|---|
| Natywny | openclaw.plugin.json + moduł środowiska uruchomieniowego; wykonywany w procesie | Oficjalne Pluginy, pakiety społeczności na npm |
| Pakiet | Układ zgodny z Codex/Claude/Cursor; mapowany na funkcje OpenClaw | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
openclaw plugins list. Szczegóły pakietów znajdziesz w Plugin Bundles.
Jeśli piszesz natywny Plugin, zacznij od Building Plugins
i Plugin SDK Overview.
Oficjalne Pluginy
Instalowalne (npm)
| Plugin | Pakiet | Dokumentacja |
|---|---|---|
| Matrix | @openclaw/matrix | Matrix |
| Microsoft Teams | @openclaw/msteams | Microsoft Teams |
| Nostr | @openclaw/nostr | Nostr |
| Voice Call | @openclaw/voice-call | Voice Call |
| Zalo | @openclaw/zalo | Zalo |
| Zalo Personal | @openclaw/zalouser | Zalo Personal |
Core (dostarczane z OpenClaw)
Dostawcy modeli (włączeni domyślnie)
Dostawcy modeli (włączeni domyślnie)
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, zaiPluginy pamięci
Pluginy pamięci
memory-core— dołączone wyszukiwanie pamięci (domyślnie przezplugins.slots.memory)memory-lancedb— instalowana na żądanie pamięć długoterminowa z automatycznym przywoływaniem/przechwytywaniem (ustawplugins.slots.memory = "memory-lancedb")
Dostawcy mowy (włączeni domyślnie)
Dostawcy mowy (włączeni domyślnie)
elevenlabs, microsoftInne
Inne
browser— dołączony Plugin przeglądarki dla narzędzia przeglądarki, CLIopenclaw browser, metody Gatewaybrowser.request, środowiska uruchomieniowego przeglądarki i domyślnej usługi sterowania przeglądarką (włączony domyślnie; wyłącz go przed zastąpieniem)copilot-proxy— most VS Code Copilot Proxy (domyślnie wyłączony)
Konfiguracja
| Pole | Opis |
|---|---|
enabled | Główny przełącznik (domyślnie: true) |
allow | Lista dozwolonych Plugin (opcjonalnie) |
deny | Lista zabronionych Plugin (opcjonalnie; deny wygrywa) |
load.paths | Dodatkowe pliki/katalogi Plugin |
slots | Selektory wyłącznych slotów (np. memory, contextEngine) |
entries.\<id\> | Przełączniki per Plugin + konfiguracja |
openclaw gateway),
ten restart zwykle jest wykonywany automatycznie chwilę po zapisaniu zmian konfiguracji.
Stany Plugin: disabled vs missing vs invalid
Stany Plugin: disabled vs missing vs invalid
- Disabled: Plugin istnieje, ale reguły włączania go wyłączyły. Konfiguracja zostaje zachowana.
- Missing: konfiguracja odwołuje się do identyfikatora Plugin, którego wykrywanie nie znalazło.
- Invalid: Plugin istnieje, ale jego konfiguracja nie odpowiada zadeklarowanemu schematowi.
Wykrywanie i pierwszeństwo
OpenClaw skanuje Pluginy w tej kolejności (pierwsze dopasowanie wygrywa):Rozszerzenia workspace
\<workspace\>/.openclaw/<plugin-root>/*.ts i \<workspace\>/.openclaw/<plugin-root>/*/index.ts.Reguły włączania
plugins.enabled: falsewyłącza wszystkie Pluginyplugins.denyzawsze wygrywa nadallowplugins.entries.\<id\>.enabled: falsewyłącza ten Plugin- Pluginy pochodzące z workspace są domyślnie wyłączone (muszą zostać jawnie włączone)
- Dołączone Pluginy stosują wbudowany domyślny zestaw włączonych, chyba że zostanie nadpisany
- Wyłączne sloty mogą wymusić włączenie wybranego Plugin dla danego slotu
Sloty Plugin (wyłączne kategorie)
Niektóre kategorie są wyłączne (tylko jedna może być aktywna jednocześnie):| Slot | Co kontroluje | Domyślnie |
|---|---|---|
memory | Aktywny Plugin pamięci | memory-core |
contextEngine | Aktywny silnik kontekstu | legacy (wbudowany) |
Dokumentacja CLI
openclaw plugins enable <id>.
--force nadpisuje istniejący zainstalowany Plugin lub pakiet hooków na miejscu.
Nie jest obsługiwane z --link, które ponownie używa ścieżki źródłowej zamiast
kopiować nad zarządzany cel instalacji.
--pin dotyczy tylko npm. Nie jest obsługiwane z --marketplace, ponieważ
instalacje z marketplace utrwalają metadane źródła marketplace zamiast specyfikacji npm.
--dangerously-force-unsafe-install to awaryjne nadpisanie dla fałszywych
trafień z wbudowanego skanera niebezpiecznego kodu. Pozwala kontynuować instalacje
i aktualizacje Plugin mimo wbudowanych ustaleń critical, ale nadal
nie omija blokad polityki before_install Plugin ani blokad wynikających z błędów skanowania.
Ta flaga CLI dotyczy tylko przepływów instalacji/aktualizacji Plugin. Instalacje zależności Skills
obsługiwane przez Gateway używają zamiast tego odpowiadającego nadpisania żądania dangerouslyForceUnsafeInstall, podczas gdy openclaw skills install pozostaje osobnym przepływem pobierania/instalacji Skills z ClawHub.
Zgodne pakiety uczestniczą w tym samym przepływie list/inspect/enable/disable Plugin. Obecna obsługa środowiska uruchomieniowego obejmuje Skills z pakietów, command-skills Claude,
domyślne ustawienia Claude settings.json, domyślne ustawienia Claude .lsp.json i deklarowane w manifeście lspServers, command-skills Cursor oraz zgodne katalogi hooków Codex.
openclaw plugins inspect <id> raportuje również wykryte możliwości pakietu oraz
obsługiwane lub nieobsługiwane wpisy serwerów MCP i LSP dla Plugin opartych na pakietach.
Źródła marketplace mogą być znaną nazwą marketplace Claude z
~/.claude/plugins/known_marketplaces.json, lokalnym katalogiem marketplace lub ścieżką marketplace.json, skrótem GitHub takim jak owner/repo, adresem URL repozytorium GitHub albo adresem git URL. Dla zdalnych marketplace wpisy Plugin muszą pozostać wewnątrz sklonowanego repozytorium marketplace i używać tylko względnych źródeł ścieżek.
Pełne szczegóły znajdziesz w dokumentacji CLI openclaw plugins.
Przegląd API Plugin
Natywne Pluginy eksportują obiekt wejściowy, który udostępniaregister(api). Starsze
Pluginy mogą nadal używać activate(api) jako starszego aliasu, ale nowe Pluginy powinny
używać register.
register(api) podczas
aktywacji Plugin. Loader nadal przechodzi awaryjnie do activate(api) dla starszych Plugin,
ale bundled plugins i nowe zewnętrzne Pluginy powinny traktować register jako
publiczny kontrakt.
Typowe metody rejestracji:
| Metoda | Co rejestruje |
|---|---|
registerProvider | Dostawcę modeli (LLM) |
registerChannel | Kanał czatu |
registerTool | Narzędzie agenta |
registerHook / on(...) | Hooki cyklu życia |
registerSpeechProvider | Text-to-speech / STT |
registerRealtimeTranscriptionProvider | Streaming STT |
registerRealtimeVoiceProvider | Dwukierunkowy głos realtime |
registerMediaUnderstandingProvider | Analizę obrazów/audio |
registerImageGenerationProvider | Generowanie obrazów |
registerMusicGenerationProvider | Generowanie muzyki |
registerVideoGenerationProvider | Generowanie wideo |
registerWebFetchProvider | Dostawcę web fetch / scrape |
registerWebSearchProvider | Wyszukiwanie w sieci |
registerHttpRoute | Endpoint HTTP |
registerCommand / registerCli | Polecenia CLI |
registerContextEngine | Silnik kontekstu |
registerService | Usługę działającą w tle |
before_tool_call:{ block: true }jest terminalne; handlery o niższym priorytecie są pomijane.before_tool_call:{ block: false }nic nie robi i nie czyści wcześniejszej blokady.before_install:{ block: true }jest terminalne; handlery o niższym priorytecie są pomijane.before_install:{ block: false }nic nie robi i nie czyści wcześniejszej blokady.message_sending:{ cancel: true }jest terminalne; handlery o niższym priorytecie są pomijane.message_sending:{ cancel: false }nic nie robi i nie czyści wcześniejszego anulowania.
Powiązane
- Building Plugins — utwórz własny Plugin
- Plugin Bundles — zgodność pakietów Codex/Claude/Cursor
- Plugin Manifest — schemat manifestu
- Registering Tools — dodawanie narzędzi agenta w Plugin
- Plugin Internals — model możliwości i potok ładowania
- Community Plugins — listy zewnętrzne