I bundle non sono la stessa cosa dei plugin nativi di OpenClaw. I plugin nativi vengono eseguiti
in-process e possono registrare qualsiasi capacità. I bundle sono pacchetti di contenuti con
mappatura selettiva delle funzionalità e un perimetro di fiducia più ristretto.
Perché esistono i bundle
Molti plugin utili sono pubblicati in formato Codex, Claude o Cursor. Invece di richiedere agli autori di riscriverli come plugin nativi di OpenClaw, OpenClaw rileva questi formati e mappa i contenuti supportati nell’insieme di funzionalità native. Questo significa che puoi installare un pacchetto di comandi Claude o un bundle di skill Codex e usarlo immediatamente.Installare un bundle
Verifica il rilevamento
Format: bundle con un sottotipo codex, claude o cursor.Cosa mappa OpenClaw dai bundle
Non tutte le funzionalità dei bundle vengono eseguite oggi in OpenClaw. Ecco cosa funziona e cosa viene rilevato ma non ancora collegato.Supportato ora
| Funzionalità | Come viene mappata | Si applica a |
|---|---|---|
| Contenuto skill | Le radici skill del bundle vengono caricate come normali skill OpenClaw | Tutti i formati |
| Comandi | commands/ e .cursor/commands/ trattati come radici skill | Claude, Cursor |
| Pacchetti hook | Layout OpenClaw-style HOOK.md + handler.ts | Codex |
| Strumenti MCP | Configurazione MCP del bundle unita alle impostazioni OpenClaw incorporate; server stdio e HTTP supportati caricati | Tutti i formati |
| Server LSP | Claude .lsp.json e lspServers dichiarati nel manifest uniti alle impostazioni predefinite LSP incorporate di OpenClaw | Claude |
| Impostazioni | Claude settings.json importato come impostazioni predefinite OpenClaw incorporate | Claude |
Contenuto skill
- le radici skill del bundle vengono caricate come normali radici skill OpenClaw
- le radici Claude
commandssono trattate come radici skill aggiuntive - le radici Cursor
.cursor/commandssono trattate come radici skill aggiuntive
Pacchetti hook
- le radici hook del bundle funzionano solo quando usano il normale layout
di pacchetto hook OpenClaw. Oggi questo è principalmente il caso compatibile con Codex:
HOOK.mdhandler.tsohandler.js
MCP per OpenClaw incorporato
- i bundle abilitati possono contribuire alla configurazione del server MCP
- OpenClaw unisce la configurazione MCP del bundle nelle impostazioni OpenClaw incorporate effettive come
mcpServers - OpenClaw espone gli strumenti MCP del bundle supportati durante i turni degli agenti OpenClaw incorporati avviando server stdio o connettendosi a server HTTP
- i profili strumento
codingemessagingincludono gli strumenti MCP del bundle per impostazione predefinita; usatools.deny: ["bundle-mcp"]per escluderli per un agente o un gateway - le impostazioni dell’agente incorporato locali al progetto si applicano comunque dopo le impostazioni predefinite del bundle, quindi le impostazioni del workspace possono sovrascrivere le voci MCP del bundle quando necessario
- i cataloghi degli strumenti MCP del bundle vengono ordinati in modo deterministico prima della registrazione, quindi
le modifiche all’ordine upstream di
listTools()non invalidano continuamente i blocchi strumento della prompt-cache
Trasporti
I server MCP possono usare il trasporto stdio o HTTP: Stdio avvia un processo figlio:sse per impostazione predefinita, o streamable-http quando richiesto:
transportpuò essere impostato su"streamable-http"o"sse"; se omesso, OpenClaw usassetype: "http"è una forma downstream nativa della CLI; usatransport: "streamable-http"nella configurazione OpenClaw.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 con sia
commandsiaurlviene rifiutata - le credenziali URL (userinfo e parametri di query) vengono oscurate dalle descrizioni degli strumenti e dai log
connectionTimeoutMssovrascrive il timeout di connessione predefinito di 30 secondi per i trasporti sia stdio sia HTTP
Nomi degli strumenti
OpenClaw registra gli strumenti MCP del bundle con nomi sicuri per i provider nella formaserverName__toolName. Per esempio, un server con chiave "vigil-harbor" che espone uno
strumento memory_search viene registrato come vigil-harbor__memory_search.
- i caratteri al di fuori di
A-Za-z0-9_-vengono sostituiti con- - i frammenti che inizierebbero con una non lettera ricevono un prefisso letterale, quindi le chiavi server numeriche
come
12306diventano prefissi strumento sicuri per i provider - i prefissi server sono limitati a 30 caratteri
- i nomi completi degli strumenti sono limitati a 64 caratteri
- i nomi server vuoti ripiegano su
mcp - i nomi sanificati in collisione vengono disambiguati con suffissi numerici
- l’ordine finale degli strumenti esposti è deterministico per nome sicuro, per mantenere stabili nella cache i turni ripetuti degli agenti incorporati
- il filtraggio dei profili tratta tutti gli strumenti di un server MCP del bundle come posseduti dal plugin
bundle-mcp, quindi le allowlist e le deny list dei profili possono includere sia i singoli nomi degli strumenti esposti sia la chiave pluginbundle-mcp
Impostazioni OpenClaw incorporate
- Claude
settings.jsonviene importato come impostazioni OpenClaw incorporate predefinite quando il bundle è abilitato - OpenClaw sanifica le chiavi di override della shell prima di applicarle
shellPathshellCommandPrefix
LSP OpenClaw incorporato
- i bundle Claude abilitati possono contribuire alla configurazione dei server LSP
- OpenClaw carica
.lsp.jsonpiù eventuali percorsilspServersdichiarati nel manifest - la configurazione LSP del bundle viene unita alle impostazioni predefinite LSP OpenClaw incorporate effettive
- oggi sono eseguibili solo server LSP supportati basati su stdio; i trasporti
non supportati compaiono comunque in
openclaw plugins inspect <id>
Rilevati ma non eseguiti
Questi elementi vengono riconosciuti e mostrati nella diagnostica, ma OpenClaw non li esegue:- Claude
agents, automazionehooks.json,outputStyles - Cursor
.cursor/agents,.cursor/hooks.json,.cursor/rules - metadati inline/app Codex oltre alla segnalazione delle capacità
Formati dei bundle
Bundle Codex
Bundle Codex
Marcatori:
.codex-plugin/plugin.jsonContenuto opzionale: skills/, hooks/, .mcp.json, .app.jsonI bundle Codex si adattano meglio a OpenClaw quando usano radici skill e directory
di pacchetto hook OpenClaw-style (HOOK.md + handler.ts).Bundle Claude
Bundle Claude
Due modalità di rilevamento:
- Basata su manifest:
.claude-plugin/plugin.json - Senza manifest: layout Claude predefinito (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
commands/è trattato come contenuto skillsettings.jsonviene importato nelle impostazioni OpenClaw incorporate (le chiavi di override della shell sono sanificate).mcp.jsonespone gli strumenti stdio supportati a OpenClaw incorporato.lsp.jsonpiù i percorsilspServersdichiarati nel manifest vengono caricati nelle impostazioni predefinite LSP OpenClaw incorporatehooks/hooks.jsonviene rilevato ma non eseguito- I percorsi dei componenti personalizzati nel manifest sono additivi (estendono le impostazioni predefinite, non le sostituiscono)
Bundle Cursor
Bundle Cursor
Marcatori:
.cursor-plugin/plugin.jsonContenuto opzionale: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json.cursor/commands/è trattato come contenuto skill.cursor/rules/,.cursor/agents/e.cursor/hooks.jsonsono solo rilevati
Precedenza di rilevamento
OpenClaw controlla prima il formato plugin nativo:openclaw.plugin.jsonopackage.jsonvalido conopenclaw.extensions— trattato come plugin nativo- Marcatori bundle (
.codex-plugin/,.claude-plugin/o layout Claude/Cursor predefinito) — trattati come bundle
Dipendenze runtime e pulizia
- I bundle compatibili di terze parti non ricevono riparazione
npm installall’avvio. Devono essere installati tramiteopenclaw plugins installe includere tutto ciò di cui hanno bisogno nella directory plugin installata. - I plugin in bundle posseduti da OpenClaw sono spediti leggeri nel core oppure scaricabili tramite l’installer dei plugin. L’avvio del Gateway non esegue mai un package manager per loro.
openclaw doctor --fixrimuove le directory legacy di dipendenze in staging e può recuperare i plugin scaricabili mancanti dall’indice plugin locale quando la configurazione li referenzia.
Sicurezza
I bundle hanno un perimetro di fiducia più ristretto rispetto ai plugin nativi:- OpenClaw non carica moduli runtime arbitrari del bundle in-process
- I percorsi di skill e pacchetti hook devono rimanere dentro la radice del plugin (controllati al perimetro)
- I file di impostazioni vengono letti con gli stessi controlli di perimetro
- I server MCP stdio supportati possono essere avviati come sottoprocessi
Risoluzione dei problemi
Il bundle viene rilevato ma le capacità non vengono eseguite
Il bundle viene rilevato ma le capacità non vengono eseguite
Esegui
openclaw plugins inspect <id>. Se una capacità è elencata ma contrassegnata come
non collegata, si tratta di un limite del prodotto, non di un’installazione non riuscita.I file di comando Claude non compaiono
I file di comando Claude non compaiono
Assicurati che il bundle sia abilitato e che i file markdown siano dentro una radice
commands/ o skills/ rilevata.Le impostazioni Claude non si applicano
Le impostazioni Claude non si applicano
Sono supportate solo le impostazioni OpenClaw incorporate da
settings.json. OpenClaw
non tratta le impostazioni del bundle come patch di configurazione grezze.Gli hook Claude non vengono eseguiti
Gli hook Claude non vengono eseguiti
hooks/hooks.json è solo rilevato. Se ti servono hook eseguibili, usa il
layout di pacchetto hook OpenClaw o distribuisci un plugin nativo.Correlati
- Installare e configurare i plugin
- Creare plugin — crea un plugin nativo
- Manifest del plugin — schema del manifest nativo