Plugins
Bundle di Plugin
OpenClaw può installare plugin da tre ecosistemi esterni: Codex, Claude e Cursor. Questi sono chiamati bundle, ovvero pacchetti di contenuti e metadati che OpenClaw mappa in funzionalità native come Skills, hook e strumenti MCP.
Perché esistono i bundle
Molti plugin utili sono pubblicati nel formato Codex, Claude o Cursor. Anziché richiedere agli autori di riscriverli come plugin nativi di OpenClaw, OpenClaw rileva questi formati e mappa i contenuti supportati nell'insieme di funzionalità native. È possibile installare un pacchetto di comandi Claude o un bundle di Skills Codex e utilizzarlo immediatamente.
Installare un bundle
Installa da una directory, un archivio o un marketplace
# Directory localeopenclaw plugins install ./my-bundle # Archivioopenclaw plugins install ./my-bundle.tgz # Marketplace Claudeopenclaw plugins marketplace list <source>openclaw plugins install <plugin> --marketplace <source><source> è un percorso/repository di marketplace locale oppure un'origine git/GitHub.
Verifica il rilevamento
openclaw plugins listopenclaw plugins inspect <id>I bundle mostrano Format: bundle insieme a un valore Bundle format: pari a codex,
claude o cursor.
Riavvia e utilizza
openclaw gateway restartLe funzionalità mappate (Skills, hook, strumenti MCP, impostazioni predefinite LSP) sono disponibili nella sessione successiva.
Cosa mappa OpenClaw dai bundle
Attualmente non tutte le funzionalità dei bundle vengono eseguite in OpenClaw. Di seguito sono indicate quelle operative e quelle rilevate ma non ancora collegate.
Attualmente supportate
| Funzionalità | Modalità di mappatura | Si applica a |
|---|---|---|
| Contenuti delle Skills | Le radici delle Skills del bundle vengono caricate come normali Skills di OpenClaw | Tutti i formati |
| Comandi | commands/ e .cursor/commands/ vengono trattate come radici delle Skills |
Claude, Cursor |
| Pacchetti di hook | Strutture in stile OpenClaw con HOOK.md + handler.ts |
Codex |
| Strumenti MCP | La configurazione MCP del bundle viene unita alle impostazioni integrate di OpenClaw; vengono caricati i server stdio e HTTP supportati | Tutti i formati |
| Server LSP | Il file .lsp.json di Claude e i percorsi lspServers dichiarati nel manifesto vengono uniti alle impostazioni predefinite LSP integrate di OpenClaw |
Claude |
| Impostazioni | Il file settings.json di Claude viene importato come impostazioni predefinite integrate di OpenClaw |
Claude |
Contenuti delle Skills
- Le radici delle Skills del bundle vengono caricate come normali radici delle Skills di OpenClaw.
- Le radici
commands/di Claude vengono trattate come radici aggiuntive delle Skills. - Le radici
.cursor/commands/di Cursor vengono trattate come radici aggiuntive delle Skills.
I file di comando Markdown di Claude e quelli di Cursor funzionano entrambi tramite il normale caricatore delle Skills di OpenClaw.
Pacchetti di hook
Le radici degli hook dei bundle funzionano solo quando utilizzano la normale
struttura dei pacchetti di hook di OpenClaw: HOOK.md insieme a handler.ts o handler.js. Attualmente ciò riguarda principalmente
il caso compatibile con Codex.
MCP per OpenClaw integrato
- I bundle abilitati possono fornire la configurazione dei server MCP.
- OpenClaw unisce la configurazione MCP del bundle alle impostazioni effettive di OpenClaw
integrato come
mcpServers. - OpenClaw espone gli strumenti MCP supportati del bundle durante i turni dell'agente OpenClaw integrato avviando server stdio o connettendosi a server HTTP.
- I profili degli strumenti
codingemessagingincludono per impostazione predefinita gli strumenti MCP dei bundle; utilizzaretools.deny: ["bundle-mcp"]per escluderli per un agente o un Gateway. - Le impostazioni locali del progetto per l'agente integrato vengono comunque applicate dopo le impostazioni predefinite del bundle, pertanto le impostazioni dell'area di lavoro possono sovrascrivere le voci MCP del bundle quando necessario.
- I cataloghi degli strumenti MCP dei bundle vengono ordinati in modo deterministico prima della registrazione, affinché
le modifiche a monte nell'ordine di
listTools()non alterino continuamente i blocchi degli strumenti nella cache dei prompt.
Trasporti
I server MCP possono utilizzare il trasporto stdio o HTTP.
Stdio avvia un processo figlio:
{ "mcp": { "servers": { "my-server": { "command": "node", "args": ["server.js"], "env": { "PORT": "3000" } } } }}HTTP si connette a un server MCP in esecuzione, utilizzando per impostazione predefinita sse, salvo quando
viene richiesto streamable-http:
{ "mcp": { "servers": { "my-server": { "url": "http://localhost:3100/mcp", "transport": "streamable-http", "headers": { "Authorization": "Bearer ${MY_SECRET_TOKEN}" }, "connectionTimeoutMs": 30000 } } }}transportaccetta"streamable-http"o"sse"; se omesso, il valore predefinito èsse.type: "http"è una struttura a valle nativa della CLI; nella configurazione di OpenClaw utilizzaretransport: "streamable-http".openclaw mcp seteopenclaw doctor --fixnormalizzano l'alias comune.- Sono consentiti solo gli schemi URL
http:ehttps:. - I valori di
headerssupportano l'interpolazione${ENV_VAR}. - Una voce server contenente sia
commandsiaurlviene rifiutata. - Le credenziali presenti nell'URL (informazioni utente e parametri di query) vengono oscurate nelle descrizioni degli strumenti e nei registri.
connectionTimeoutMssostituisce il timeout di connessione predefinito di 30 secondi per entrambi i trasporti stdio e HTTP. Il timeout predefinito delle richieste è di 60 secondi e può essere sostituito conrequestTimeoutMs.
Denominazione degli strumenti
OpenClaw registra gli strumenti MCP dei bundle con nomi compatibili con i provider nel formato
serverName__toolName. Ad esempio, un server identificato dalla chiave "vigil-harbor" che espone uno
strumento memory_search viene registrato come vigil-harbor__memory_search.
- I caratteri non compresi in
A-Za-z0-9_-vengono sostituiti con-. - I frammenti che inizierebbero con un carattere diverso da una lettera ricevono un prefisso alfabetico, pertanto le chiavi
numeriche dei server, come
12306, diventano prefissi degli strumenti compatibili con i provider. - I prefissi dei server sono limitati a 30 caratteri.
- I nomi completi degli strumenti sono limitati a 64 caratteri.
- Per i nomi dei server vuoti viene utilizzato
mcp. - I nomi normalizzati che entrano in conflitto vengono distinti con suffissi numerici.
- L'ordine finale degli strumenti esposti è deterministico in base al nome sicuro, mantenendo stabili rispetto alla cache i turni ripetuti dell'agente integrato.
- Il filtraggio dei profili considera ogni strumento proveniente da un server MCP di un bundle come
appartenente al plugin
bundle-mcp, pertanto gli elenchi di inclusione/esclusione dei profili possono fare riferimento sia ai singoli nomi degli strumenti esposti sia alla chiave del pluginbundle-mcp.
Impostazioni di OpenClaw integrato
Il file settings.json di Claude viene importato come impostazioni predefinite di OpenClaw integrato quando
il bundle è abilitato. OpenClaw rimuove le chiavi di sostituzione della shell prima di applicarle:
shellPathshellCommandPrefix
LSP di OpenClaw integrato
- I bundle Claude abilitati possono fornire la configurazione dei server LSP.
- OpenClaw carica
.lsp.jsoninsieme agli eventuali percorsilspServersdichiarati nel manifesto. - La configurazione LSP del bundle viene unita alle impostazioni predefinite LSP effettive di OpenClaw integrato.
- Attualmente sono eseguibili solo i server LSP supportati basati su stdio; i trasporti non supportati
vengono comunque visualizzati in
openclaw plugins inspect <id>.
Rilevate ma non eseguite
Le seguenti funzionalità vengono riconosciute e mostrate nella diagnostica, ma OpenClaw non le esegue:
agents, automazionehooks/hooks.jsoneoutputStylesdi Claude.cursor/agents,.cursor/hooks.jsone.cursor/rulesdi Cursor- Metadati
.app.jsondi Codex oltre alla segnalazione delle funzionalità
Formati dei bundle
Bundle Codex
Marcatori: .codex-plugin/plugin.json
Contenuti facoltativi: skills/, hooks/, .mcp.json, .app.json
I bundle Codex si integrano al meglio con OpenClaw quando utilizzano le radici delle Skills e directory
di pacchetti di hook in stile OpenClaw (HOOK.md + handler.ts).
Bundle Claude
Due modalità di rilevamento:
- Basata sul manifesto:
.claude-plugin/plugin.json - Senza manifesto: struttura predefinita di Claude (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
Comportamento specifico di Claude:
commands/viene trattata come contenuto delle Skillssettings.jsonviene importato nelle impostazioni di OpenClaw integrato (le chiavi di sostituzione della shell vengono rimosse).mcp.jsonespone gli strumenti stdio supportati a OpenClaw integrato.lsp.jsoninsieme ai percorsilspServersdichiarati nel manifesto viene caricato nelle impostazioni predefinite LSP di OpenClaw integratohooks/hooks.jsonviene rilevato ma non eseguito- I percorsi personalizzati dei componenti nel manifesto sono aggiuntivi: estendono i valori predefiniti, non li sostituiscono
Bundle Cursor
Marcatori: .cursor-plugin/plugin.json
Contenuti facoltativi: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json
.cursor/commands/viene trattata come contenuto delle Skills.cursor/rules/,.cursor/agents/e.cursor/hooks.jsonvengono soltanto rilevati
Precedenza del rilevamento
OpenClaw verifica innanzitutto il formato dei plugin nativi:
openclaw.plugin.jsono unpackage.jsonvalido conopenclaw.extensions: viene trattato come plugin nativo- Marcatori dei bundle (
.codex-plugin/,.claude-plugin/o struttura predefinita di Claude/Cursor): vengono trattati come bundle
Se una directory contiene entrambi, OpenClaw utilizza il percorso nativo. Ciò impedisce che i pacchetti in doppio formato vengano installati parzialmente come bundle.
Dipendenze di runtime e pulizia
- I bundle compatibili di terze parti non ricevono la riparazione tramite
npm installall'avvio. Devono essere installati tramiteopenclaw plugins installe includere tutto ciò di cui hanno bisogno nella directory del plugin installato. - I plugin inclusi di proprietà di OpenClaw sono distribuiti in forma leggera nel core oppure scaricabili tramite il programma di installazione dei plugin. All'avvio, il Gateway non esegue mai un gestore di pacchetti per questi plugin.
openclaw doctor --fixrimuove i record obsoleti delle installazioni locali dei plugin inclusi e può ripristinare i plugin scaricabili mancanti dall'indice locale dei plugin quando la configurazione continua a farvi riferimento.
Sicurezza
I bundle hanno un perimetro di attendibilità più ristretto rispetto ai plugin nativi:
- OpenClaw non carica nello stesso processo moduli di runtime arbitrari dei bundle.
- I percorsi delle Skills e dei pacchetti di hook devono rimanere all'interno della radice del plugin (con verifica dei confini).
- I file delle impostazioni vengono letti applicando le stesse verifiche dei confini.
- I server MCP stdio supportati possono essere avviati come sottoprocessi.
Questo rende i bundle più sicuri per impostazione predefinita, ma è comunque necessario considerare i bundle di terze parti come contenuti attendibili per le funzionalità che espongono.
Risoluzione dei problemi
Il bundle viene rilevato ma le funzionalità non vengono eseguite
Eseguire openclaw plugins inspect <id>. Se una funzionalità è elencata ma contrassegnata come
non collegata, si tratta di una limitazione del prodotto, non di un'installazione non riuscita.
I file dei comandi Claude non vengono visualizzati
Assicurarsi che il bundle sia abilitato e che i file Markdown si trovino all'interno di una radice
commands/ o skills/ rilevata.
Le impostazioni Claude non vengono applicate
Sono supportate solo le impostazioni di OpenClaw integrato provenienti da settings.json. OpenClaw
non tratta le impostazioni del bundle come modifiche dirette alla configurazione.
Gli hook Claude non vengono eseguiti
hooks/hooks.json viene soltanto rilevato. Se sono necessari hook eseguibili, utilizzare la
struttura dei pacchetti di hook di OpenClaw oppure distribuire un plugin nativo.
Contenuti correlati
- Installare e configurare i plugin
- Creare plugin - creare un plugin nativo
- Manifesto dei plugin - schema del manifesto nativo