openclaw plugins
Gestisci plugin/estensioni Gateway, pacchetti di hook e bundle compatibili.
Correlati:
- Sistema di plugin: Plugin
- Compatibilità dei bundle: Bundle di plugin
- Manifest del plugin + schema: Manifest del plugin
- Rafforzamento della sicurezza: Sicurezza
Comandi
plugins enable.
I plugin nativi di OpenClaw devono includere openclaw.plugin.json con uno schema JSON inline (configSchema, anche se vuoto). I bundle compatibili usano invece i propri manifest di bundle.
plugins list mostra Format: openclaw o Format: bundle. L’output dettagliato di list/info mostra anche il sottotipo di bundle (codex, claude o cursor) oltre alle capacità del bundle rilevate.
Installazione
plugins install normalmente fallisce in modo sicuro e ti dice di eseguire prima openclaw doctor --fix. L’unica eccezione documentata è un percorso di ripristino ristretto per plugin inclusi che optano esplicitamente per openclaw.install.allowInvalidConfigRecovery.
--force riutilizza la destinazione di installazione esistente e sovrascrive sul posto un plugin o un pacchetto di hook già installato. Usalo quando stai intenzionalmente reinstallando lo stesso id da un nuovo percorso locale, archivio, pacchetto ClawHub o artefatto npm.
--pin si applica solo alle installazioni npm. Non è supportato con --marketplace, perché le installazioni dal marketplace persistono i metadati della sorgente del marketplace invece di una specifica npm.
--dangerously-force-unsafe-install è un’opzione di emergenza per i falsi positivi nello scanner integrato di codice pericoloso. Consente all’installazione di continuare anche quando lo scanner integrato segnala risultati critical, ma non aggira i blocchi delle policy degli hook before_install del plugin e non aggira gli errori di scansione.
Questo flag CLI si applica ai flussi di installazione/aggiornamento dei plugin. Le installazioni delle dipendenze delle Skills supportate dal Gateway usano la corrispondente sostituzione della richiesta dangerouslyForceUnsafeInstall, mentre openclaw skills install rimane un flusso separato di download/installazione di Skills da ClawHub.
plugins install è anche la superficie di installazione per i pacchetti di hook che espongono openclaw.hooks in package.json. Usa openclaw hooks per la visibilità filtrata degli hook e l’abilitazione per singolo hook, non per l’installazione dei pacchetti.
Le specifiche npm sono solo registry (nome del pacchetto + versione esatta opzionale o dist-tag). Le specifiche Git/URL/file e gli intervalli semver vengono rifiutati. Per sicurezza, le installazioni delle dipendenze vengono eseguite con --ignore-scripts.
Le specifiche senza prefisso e @latest restano sul canale stabile. Se npm risolve una di queste in una prerelease, OpenClaw si ferma e ti chiede di aderire esplicitamente con un tag prerelease come @beta/@rc o una versione prerelease esatta come @1.2.3-beta.4.
Se una specifica di installazione senza prefisso corrisponde a un id di plugin incluso (ad esempio diffs), OpenClaw installa direttamente il plugin incluso. Per installare un pacchetto npm con lo stesso nome, usa una specifica con scope esplicito (ad esempio @scope/diffs).
Archivi supportati: .zip, .tgz, .tar.gz, .tar.
Sono supportate anche le installazioni dal marketplace di Claude.
Le installazioni ClawHub usano un localizzatore esplicito clawhub:<package>:
plugin@marketplace quando il nome del marketplace esiste nella cache del registro locale di Claude in ~/.claude/plugins/known_marketplaces.json:
--marketplace quando vuoi passare esplicitamente la sorgente del marketplace:
- un nome di marketplace noto a Claude da
~/.claude/plugins/known_marketplaces.json - una root locale del marketplace o un percorso
marketplace.json - una forma abbreviata di repository GitHub come
owner/repo - un URL di repository GitHub come
https://github.com/owner/repo - un URL git
- plugin nativi di OpenClaw (
openclaw.plugin.json) - bundle compatibili con Codex (
.codex-plugin/plugin.json) - bundle compatibili con Claude (
.claude-plugin/plugin.jsono il layout predefinito dei componenti Claude) - bundle compatibili con Cursor (
.cursor-plugin/plugin.json)
settings.json, i valori predefiniti di Claude .lsp.json / lspServers dichiarati nel manifest, le command-skills di Cursor e le directory di hook Codex compatibili; altre capacità di bundle rilevate vengono mostrate in diagnostics/info ma non sono ancora collegate all’esecuzione runtime.
Elenco
--enabled per mostrare solo i plugin caricati. Usa --verbose per passare dalla vista tabellare a righe di dettaglio per plugin con metadati di sorgente/origine/versione/attivazione. Usa --json per un inventario leggibile dalle macchine più diagnostica del registro.
Usa --link per evitare di copiare una directory locale (aggiunge a plugins.load.paths):
--force non è supportato con --link perché le installazioni collegate riutilizzano il percorso sorgente invece di copiare sopra una destinazione di installazione gestita.
Usa --pin nelle installazioni npm per salvare la specifica esatta risolta (name@version) in plugins.installs, mantenendo però il comportamento predefinito non bloccato.
Disinstallazione
uninstall rimuove i record del plugin da plugins.entries, plugins.installs, dalla allowlist dei plugin e dalle voci collegate di plugins.load.paths quando applicabile. Per i plugin di memoria attivi, lo slot di memoria viene reimpostato a memory-core.
Per impostazione predefinita, la disinstallazione rimuove anche la directory di installazione del plugin sotto la root dei plugin della directory di stato attiva. Usa --keep-files per mantenere i file sul disco.
--keep-config è supportato come alias deprecato di --keep-files.
Aggiornamento
plugins.installs e alle installazioni tracciate dei pacchetti di hook in hooks.internal.installs.
Quando passi un id plugin, OpenClaw riutilizza la specifica di installazione registrata per quel plugin. Questo significa che i dist-tag memorizzati in precedenza, come @beta, e le versioni esatte bloccate continuano a essere usati nelle esecuzioni successive di update <id>.
Per le installazioni npm, puoi anche passare una specifica esplicita di pacchetto npm con un dist-tag o una versione esatta. OpenClaw riconduce quel nome di pacchetto al record del plugin tracciato, aggiorna il plugin installato e registra la nuova specifica npm per futuri aggiornamenti basati su id.
Quando esiste un hash di integrità memorizzato e l’hash dell’artefatto recuperato cambia, OpenClaw stampa un avviso e chiede conferma prima di procedere. Usa il flag globale --yes per bypassare i prompt nelle esecuzioni CI/non interattive.
--dangerously-force-unsafe-install è disponibile anche su plugins update come sostituzione di emergenza per falsi positivi della scansione integrata di codice pericoloso durante gli aggiornamenti dei plugin. Continua a non aggirare i blocchi delle policy before_install del plugin o il blocco per errori di scansione, e si applica solo agli aggiornamenti dei plugin, non agli aggiornamenti dei pacchetti di hook.
Inspect
- plain-capability — un tipo di capacità (ad esempio un plugin solo provider)
- hybrid-capability — più tipi di capacità (ad esempio testo + voce + immagini)
- hook-only — solo hook, senza capacità o superfici
- non-capability — strumenti/comandi/servizi ma nessuna capacità
--json produce un report leggibile dalle macchine adatto per script e audit.
inspect --all visualizza una tabella dell’intera flotta con colonne per forma, tipi di capacità, avvisi di compatibilità, capacità dei bundle e riepilogo degli hook.
info è un alias di inspect.
Doctor
doctor segnala errori di caricamento dei plugin, diagnostica di manifest/discovery e avvisi di compatibilità. Quando tutto è pulito stampa No plugin issues detected.
Marketplace
marketplace.json, una forma abbreviata GitHub come owner/repo, un URL di repository GitHub o un URL git. --json stampa l’etichetta della sorgente risolta insieme al manifest del marketplace analizzato e alle voci dei plugin.