Wymagania
Przed zainstalowaniem pluginu upewnij się, że masz:- checkout lub instalację OpenClaw z dostępnym CLI
openclaw - dostęp sieciowy do wybranego źródła, takiego jak ClawHub, npm lub host git
- wszelkie poświadczenia, klucze konfiguracji lub narzędzia systemu operacyjnego specyficzne dla pluginu, wskazane w dokumentacji konfiguracji tego pluginu
- uprawnienia dla Gateway obsługującego Twoje kanały do przeładowania lub ponownego uruchomienia
Szybki start
Znajdź plugin
Przeszukaj ClawHub pod kątem publicznych pakietów pluginów:ClawHub to główna powierzchnia odkrywania pluginów społecznościowych. Podczas
przejścia na uruchomienie zwykłe specyfikacje pakietów bez prefiksu nadal instalują się z npm, chyba że
pasują do oficjalnego identyfikatora pluginu. Surowe specyfikacje pakietów
@openclaw/*, które pasują
do wbudowanych pluginów, używają wbudowanej kopii z bieżącej kompilacji OpenClaw. Użyj
jawnego prefiksu, gdy potrzebujesz konkretnego źródła.Zainstaluj plugin
Skonfiguruj i włącz
Skonfiguruj ustawienia specyficzne dla pluginu w Jeśli Twoja konfiguracja używa restrykcyjnej listy
plugins.entries.<id>.config.
Włącz plugin, jeśli nie jest jeszcze włączony:plugins.allow, identyfikator zainstalowanego pluginu
musi być na niej obecny, zanim plugin będzie mógł się załadować.
openclaw plugins install dodaje zainstalowany identyfikator do istniejącej
listy plugins.allow i usuwa ten sam identyfikator z plugins.deny, aby
jawna instalacja mogła się załadować po ponownym uruchomieniu.Pozwól Gateway się przeładować
Instalowanie, aktualizowanie lub odinstalowywanie kodu pluginu wymaga ponownego uruchomienia Gateway.
Gdy zarządzany Gateway jest już uruchomiony z włączonym przeładowaniem konfiguracji,
OpenClaw wykrywa zmieniony rekord instalacji pluginu i automatycznie restartuje
Gateway. Jeśli Gateway nie jest zarządzany albo przeładowanie jest wyłączone,
uruchom go ponownie samodzielnie:Operacje włączania i wyłączania aktualizują konfigurację i odświeżają zimny rejestr.
Inspekcja runtime nadal jest najczytelniejszą ścieżką weryfikacji powierzchni live runtime.
Konfiguracja
Wybierz źródło instalacji
| Źródło | Użyj, gdy | Przykład |
|---|---|---|
| ClawHub | Chcesz natywne dla OpenClaw odkrywanie, skany, metadane wersji i wskazówki instalacji | openclaw plugins install clawhub:<package> |
| npm | Potrzebujesz bezpośredniego rejestru npm lub przepływów dist-tag | openclaw plugins install npm:<package> |
| git | Potrzebujesz gałęzi, tagu lub commita z repozytorium | openclaw plugins install git:github.com/<owner>/<repo>@<ref> |
| ścieżka lokalna | Tworzysz lub testujesz plugin na tej samej maszynie | openclaw plugins install --link ./my-plugin |
| marketplace | Instalujesz plugin marketplace zgodny z Claude | openclaw plugins install <plugin> --marketplace <source> |
@openclaw/*, które pasują do wbudowanych pluginów, również rozwiązują się do
wbudowanej kopii przed fallbackiem do npm. Użyj npm:@openclaw/<plugin>@<version>, gdy
celowo chcesz zewnętrzny pakiet npm zamiast wbudowanej kopii należącej do obrazu.
Użyj clawhub:, npm:, git: lub npm-pack:, gdy potrzebujesz
deterministycznego wyboru źródła. Pełny kontrakt polecenia znajdziesz w openclaw plugins.
W przypadku instalacji z npm nieprzypięte specyfikacje pakietów i @latest wybierają najnowszy stabilny
pakiet, który deklaruje zgodność z tą kompilacją OpenClaw. Jeśli bieżące najnowsze wydanie npm
deklaruje nowsze openclaw.compat.pluginApi lub
openclaw.install.minHostVersion, OpenClaw skanuje starsze stabilne wersje pakietu
i instaluje najnowszą pasującą. Dokładne wersje i jawne tagi kanałów,
takie jak @beta, pozostają przypięte do wybranego pakietu i kończą się niepowodzeniem, gdy są niezgodne.
Polityka instalacji operatora
Skonfigurujsecurity.installPolicy, aby uruchamiać zaufane lokalne polecenie polityki przed
kontynuowaniem instalacji lub aktualizacji pluginu. Polityka otrzymuje metadane oraz przygotowaną
ścieżkę źródłową i może zezwolić na instalację albo ją zablokować. Obejmuje ścieżki
instalacji/aktualizacji pluginów obsługiwane przez CLI i Gateway. Hooki before_install pluginu uruchamiają się później tylko w
procesach OpenClaw, w których załadowano hooki pluginów, więc użyj security.installPolicy
do decyzji instalacyjnych należących do operatora. Przestarzała flaga
--dangerously-force-unsafe-install jest akceptowana dla zgodności, ale nie
omija polityki instalacji ani wbudowanej listy blokowania zależności pluginów OpenClaw.
Zobacz Konfiguracja Skills,
aby poznać współdzielony schemat exec security.installPolicy używany zarówno przez skills, jak i
pluginy.
Skonfiguruj politykę pluginów
Wspólny kształt konfiguracji pluginów to:plugins.enabled: falsewyłącza wszystkie pluginy i pomija wykrywanie/ładowanie pluginów. Nieaktualne odwołania do pluginów są nieaktywne, gdy to ustawienie jest aktywne; ponownie włącz pluginy przed uruchomieniem czyszczenia doctor, gdy chcesz usunąć nieaktualne identyfikatory.plugins.denyma pierwszeństwo przed allow i włączeniem pojedynczego pluginu.plugins.allowto wyłączna allowlista. Narzędzia należące do pluginów poza allowlistą pozostają niedostępne, nawet gdytools.allowzawiera"*".plugins.entries.<id>.enabled: falsewyłącza jeden plugin, zachowując jego konfigurację.plugins.load.pathsdodaje jawne lokalne pliki lub katalogi pluginów. Zarządzane ścieżki lokalneplugins installmuszą być katalogami lub archiwami pluginów; użyjplugins.load.pathsdla samodzielnych plików pluginów.- Pluginy pochodzące z workspace są domyślnie wyłączone; jawnie je włącz lub dodaj do allowlisty przed użyciem lokalnego kodu workspace.
- Wbudowane pluginy podążają za swoimi wbudowanymi metadanymi domyślnie włączone/domyślnie wyłączone, chyba że konfiguracja jawnie je nadpisuje.
plugins.slots.<slot>wybiera jeden plugin dla wyłącznych kategorii, takich jak silniki pamięci i kontekstu. Wybór slotu wymusza włączenie wybranego pluginu dla tego slotu, licząc się jako jawna aktywacja; może się załadować nawet wtedy, gdy w innym przypadku wymagałby zgody.plugins.denyiplugins.entries.<id>.enabled: falsenadal go blokują.- Wbudowane pluginy opt-in mogą aktywować się automatycznie, gdy konfiguracja wskazuje jedną z należących do nich powierzchni, taką jak odwołanie provider/model, konfiguracja kanału, backend CLI lub runtime środowiska agenta.
- Routing Codex z rodziny OpenAI utrzymuje granice pluginów dostawcy i runtime
oddzielnie: starsze odwołania do modeli Codex to starsza konfiguracja naprawiana przez doctor, natomiast wbudowany
plugin
codexjest właścicielem runtime serwera aplikacji Codex dla kanonicznych odwołań agentówopenai/*, jawnegoagentRuntime.id: "codex"oraz starszych odwołańcodex/*.
plugins.allow nie jest ustawione, a niewbudowane pluginy są automatycznie wykrywane z
workspace lub globalnych katalogów głównych pluginów, logi startowe zawierają
plugins.allow is empty; discovered non-bundled plugins may auto-load: ....
Ostrzeżenie zawiera wykryte identyfikatory pluginów oraz, dla krótkich list, minimalny
fragment plugins.allow. Uruchom
openclaw plugins list --enabled --verbose lub
openclaw plugins inspect <id> z wymienionym identyfikatorem pluginu
przed skopiowaniem zaufanych pluginów do openclaw.json. Te same wskazówki
dotyczące przypinania zaufania mają zastosowanie, gdy diagnostyka mówi, że plugin został załadowany
without install/load-path provenance: sprawdź ten identyfikator pluginu, a następnie przypnij
zaufany identyfikator w plugins.allow albo zainstaluj ponownie z zaufanego źródła, aby OpenClaw
zapisał pochodzenie instalacji.
Uruchom openclaw doctor lub openclaw doctor --fix, gdy walidacja konfiguracji zgłasza
nieaktualne identyfikatory pluginów, niezgodności allowlisty/narzędzi albo starsze ścieżki wbudowanych pluginów.
Poznaj formaty pluginów
OpenClaw rozpoznaje dwa formaty pluginów:| Format | Jak się ładuje | Użyj, gdy |
|---|---|---|
| Natywny plugin OpenClaw | openclaw.plugin.json plus moduł runtime ładowany w procesie | Instalujesz lub budujesz możliwości runtime specyficzne dla OpenClaw |
| Zgodny bundle | Układ pluginu Codex, Claude lub Cursor mapowany na spis pluginów OpenClaw | Ponownie używasz zgodnych skills, poleceń, hooków lub metadanych bundle |
openclaw plugins list, openclaw plugins inspect,
openclaw plugins enable i openclaw plugins disable. Zobacz
Bundle pluginów, aby poznać granicę zgodności bundle, oraz
Budowanie pluginów, aby poznać tworzenie natywnych pluginów.
Hooki pluginów
Pluginy mogą rejestrować hooki w runtime, ale istnieją dwa różne API z różnymi zadaniami.- Używaj typowanych hooków przez
api.on(...)dla hooków cyklu życia runtime. To preferowana powierzchnia dla middleware, polityki, przepisywania wiadomości, kształtowania promptów i kontroli narzędzi. - Używaj
api.registerHook(...)tylko wtedy, gdy chcesz uczestniczyć w wewnętrznym systemie hooków opisanym w Hooki. Służy on głównie do ogólnych efektów ubocznych poleceń/cyklu życia i zgodności z istniejącą automatyzacją w stylu HOOK.
- Jeśli handler potrzebuje priorytetu, semantyki scalania albo zachowania blokowania/anulowania, użyj typowanych hooków pluginów.
- Jeśli handler tylko reaguje na
command:new,command:reset,message:sentlub podobne ogólne zdarzenia,api.registerHook(...)jest w porządku.
openclaw hooks list z
plugin:<id>. Nie możesz ich włączyć ani wyłączyć przez openclaw hooks;
zamiast tego włącz lub wyłącz plugin.
Zweryfikuj aktywny Gateway
openclaw plugins list oraz zwykłe openclaw plugins inspect odczytują zimny stan
konfiguracji, manifestu i rejestru. Nie dowodzą, że już działający Gateway
zaimportował ten sam kod Plugin.
Gdy Plugin wygląda na zainstalowany, ale ruch czatu na żywo go nie używa:
openclaw gateway run, który obsługuje Twoje kanały,
a nie tylko wrapper lub supervisor.
Rozwiązywanie problemów
| Objaw | Sprawdź | Naprawa |
|---|---|---|
Plugin pojawia się w plugins list, ale hooki runtime się nie uruchamiają | Użyj openclaw plugins inspect <id> --runtime --json i potwierdź aktywny Gateway za pomocą gateway status --deep --require-rpc | Zrestartuj działający Gateway po instalacji, aktualizacji, konfiguracji lub zmianach źródła |
| Pojawiają się diagnostyki zduplikowanego właściciela kanału lub narzędzia | Uruchom openclaw plugins list --enabled --verbose, sprawdź każdy podejrzany Plugin za pomocą --runtime --json i porównaj własność kanału/narzędzia | Wyłącz jednego właściciela, usuń nieaktualne instalacje albo użyj preferOver w manifeście dla zamierzonego zastąpienia |
| Konfiguracja mówi, że brakuje Plugin | Sprawdź inwentarz Plugin, aby ustalić, czy jest wbudowany, oficjalnie zewnętrzny, czy tylko źródłowy | Zainstaluj pakiet zewnętrzny, włącz wbudowany Plugin albo usuń nieaktualną konfigurację |
| Konfiguracja jest nieprawidłowa podczas instalacji | Przeczytaj komunikat walidacji i uruchom openclaw doctor --fix, gdy wskazuje na nieaktualny stan Plugin | Doctor może poddać nieprawidłową konfigurację Plugin kwarantannie, wyłączając wpis i usuwając nieprawidłowy payload |
| Ścieżka Plugin jest zablokowana z powodu podejrzanej własności lub uprawnień | Sprawdź diagnostykę przed błędem konfiguracji | Napraw własność/uprawnienia systemu plików, a następnie uruchom openclaw plugins registry --refresh |
OPENCLAW_NIX_MODE=1 blokuje polecenia cyklu życia | Potwierdź, że instalacja jest zarządzana przez Nix | Zmień wybór Plugin w źródle Nix zamiast używać poleceń modyfikujących Plugin |
| Import zależności kończy się niepowodzeniem w runtime | Sprawdź, czy Plugin został zainstalowany przez npm/git/ClawHub, czy załadowany ze ścieżki lokalnej | Uruchom openclaw plugins update <id>, zainstaluj ponownie źródło albo samodzielnie zainstaluj lokalne zależności Plugin |
openclaw doctor --fix, aby usunąć
nieaktualne wpisy Plugin i kanału. Nieznane klucze kanałów bez dowodów na
nieaktualny Plugin nadal powodują błąd walidacji, aby literówki pozostały
widoczne.
W przypadku zamierzonego zastąpienia kanału preferowany Plugin powinien
zadeklarować channelConfigs.<channel-id>.preferOver z identyfikatorem
starszego lub niżej priorytetowego Plugin. Jeśli oba Plugin są jawnie włączone,
OpenClaw zachowuje to żądanie i zgłasza diagnostyki zduplikowanego kanału lub
narzędzia zamiast po cichu wybierać jednego właściciela.
Jeśli zainstalowany pakiet zgłasza, że requires compiled runtime output for TypeScript entry ..., pakiet został opublikowany bez plików JavaScript
wymaganych przez OpenClaw w runtime. Zaktualizuj lub zainstaluj ponownie po
opublikowaniu skompilowanego JavaScript przez wydawcę albo do tego czasu wyłącz
lub odinstaluj Plugin.
Zablokowana własność ścieżki Plugin
Jeśli diagnostyki Plugin mówiąblocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
a po nich walidacja konfiguracji zgłasza plugin present but blocked, OpenClaw
znalazł pliki Plugin należące do innego użytkownika Unix niż proces, który je
ładuje. Pozostaw konfigurację Plugin na miejscu; napraw własność systemu plików
albo uruchom OpenClaw jako ten sam użytkownik, który jest właścicielem katalogu
stanu.
W instalacjach Docker oficjalny obraz działa jako node (uid 1000), więc
podmontowane z hosta katalogi konfiguracji i workspace OpenClaw zwykle powinny
należeć do uid 1000:
openclaw doctor --fix albo
openclaw plugins registry --refresh, aby utrwalony rejestr Plugin odpowiadał
naprawionym plikom.
Wolna konfiguracja narzędzi Plugin
Jeśli tury agenta wyglądają na zatrzymane podczas przygotowywania narzędzi, włącz logowanie trace i sprawdź linie czasu fabryk narzędzi Plugin:Powiązane
- Zarządzanie Plugin - przykłady poleceń dla listy, instalacji, aktualizacji, odinstalowania i publikacji
openclaw plugins- pełna dokumentacja CLI- Inwentarz Plugin - wygenerowana lista wbudowanych i zewnętrznych Plugin
- Dokumentacja Plugin - wygenerowane strony dokumentacji dla poszczególnych Plugin
- Społecznościowe Plugin - odkrywanie ClawHub i polityka PR do dokumentacji
- Rozwiązywanie zależności Plugin - rooty instalacji, rekordy rejestru i granice runtime
- Budowanie Plugin - przewodnik tworzenia natywnych Plugin
- Omówienie Plugin SDK - rejestracja runtime, hooki i pola API
- Manifest Plugin - metadane manifestu i pakietu