Plugins
Plugin-bundels
OpenClaw kan plugins installeren uit drie externe ecosystemen: Codex, Claude, en Cursor. Deze worden bundels genoemd: content- en metadatapakketten die OpenClaw koppelt aan native functies zoals skills, hooks en MCP-tools.
Waarom bundels bestaan
Veel nuttige plugins worden gepubliceerd in Codex-, Claude- of Cursor-indeling. In plaats van auteurs te verplichten ze te herschrijven als native OpenClaw-plugins, detecteert OpenClaw deze indelingen en koppelt hun ondersteunde content aan de native functieset. Dit betekent dat je een Claude-commandopakket of een Codex-skillbundel kunt installeren en direct kunt gebruiken.
Een bundel installeren
Install from a directory, archive, or marketplace
# Local directory
openclaw plugins install ./my-bundle
# Archive
openclaw plugins install ./my-bundle.tgz
# Claude marketplace
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
Verify detection
openclaw plugins list
openclaw plugins inspect <id>
Bundels worden weergegeven als Format: bundle met een subtype van codex, claude of cursor.
Restart and use
openclaw gateway restart
Gekoppelde functies (skills, hooks, MCP-tools, LSP-standaarden) zijn beschikbaar in de volgende sessie.
Wat OpenClaw uit bundels koppelt
Niet elke bundelfunctie draait vandaag in OpenClaw. Dit werkt en dit wordt gedetecteerd maar nog niet aangesloten.
Nu ondersteund
| Functie | Hoe het wordt gekoppeld | Van toepassing op |
|---|---|---|
| Skill-content | Skill-roots van bundels laden als normale OpenClaw-skills | Alle indelingen |
| Commands | commands/ en .cursor/commands/ worden behandeld als skill-roots |
Claude, Cursor |
| Hook-pakketten | OpenClaw-achtige HOOK.md + handler.ts-layouts |
Codex |
| MCP-tools | MCP-config van bundels wordt samengevoegd in embedded Pi-instellingen; ondersteunde stdio- en HTTP-servers worden geladen | Alle indelingen |
| LSP-servers | Claude .lsp.json en in het manifest gedeclareerde lspServers worden samengevoegd in embedded Pi LSP-standaarden |
Claude |
| Instellingen | Claude settings.json wordt geïmporteerd als embedded Pi-standaarden |
Claude |
Skill-content
- skill-roots van bundels laden als normale OpenClaw-skill-roots
- Claude
commands-roots worden behandeld als extra skill-roots - Cursor
.cursor/commands-roots worden behandeld als extra skill-roots
Dit betekent dat Claude-markdowncommandobestanden werken via de normale OpenClaw-skill loader. Cursor-commandomarkdown werkt via hetzelfde pad.
Hook-pakketten
- hook-roots van bundels werken alleen wanneer ze de normale OpenClaw-hookpakket-
layout gebruiken. Vandaag is dit vooral het Codex-compatibele geval:
HOOK.mdhandler.tsofhandler.js
MCP voor Pi
- ingeschakelde bundels kunnen MCP-serverconfig bijdragen
- OpenClaw voegt MCP-config van bundels samen in de effectieve embedded Pi-instellingen als
mcpServers - OpenClaw stelt ondersteunde MCP-tools uit bundels beschikbaar tijdens embedded Pi-agentbeurten door stdio-servers te starten of verbinding te maken met HTTP-servers
- de toolprofielen
codingenmessagingbevatten standaard MCP-tools uit bundels; gebruiktools.deny: ["bundle-mcp"]om je af te melden voor een agent of Gateway - projectlokale Pi-instellingen worden nog steeds toegepast na bundelstandaarden, zodat workspace- instellingen waar nodig MCP-vermeldingen uit bundels kunnen overschrijven
- MCP-toolcatalogi van bundels worden deterministisch gesorteerd vóór registratie, zodat
wijzigingen in de upstream
listTools()-volgorde prompt-cache-toolblokken niet laten schommelen
Transports
MCP-servers kunnen stdio- of HTTP-transport gebruiken:
Stdio start een child process:
{
"mcp": {
"servers": {
"my-server": {
"command": "node",
"args": ["server.js"],
"env": { "PORT": "3000" }
}
}
}
}
HTTP maakt standaard verbinding met een actieve MCP-server via sse, of via streamable-http wanneer daarom wordt gevraagd:
{
"mcp": {
"servers": {
"my-server": {
"url": "http://localhost:3100/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer ${MY_SECRET_TOKEN}"
},
"connectionTimeoutMs": 30000
}
}
}
}
transportmag worden ingesteld op"streamable-http"of"sse"; wanneer dit wordt weggelaten, gebruikt OpenClawssetype: "http"is een CLI-native downstream-vorm; gebruiktransport: "streamable-http"in OpenClaw-config.openclaw mcp setenopenclaw doctor --fixnormaliseren de algemene alias.- alleen
http:- enhttps:-URL-schema's zijn toegestaan headers-waarden ondersteunen${ENV_VAR}-interpolatie- een serververmelding met zowel
commandalsurlwordt geweigerd - URL-credentials (userinfo en queryparameters) worden geredigeerd uit tool- beschrijvingen en logs
connectionTimeoutMsoverschrijft de standaard verbindingstime-out van 30 seconden voor zowel stdio- als HTTP-transports
Toolnaamgeving
OpenClaw registreert MCP-tools uit bundels met providerveilige namen in de vorm
serverName__toolName. Bijvoorbeeld: een server met sleutel "vigil-harbor" die een
memory_search-tool beschikbaar stelt, wordt geregistreerd als vigil-harbor__memory_search.
- tekens buiten
A-Za-z0-9_-worden vervangen door- - serverprefixes zijn beperkt tot 30 tekens
- volledige toolnamen zijn beperkt tot 64 tekens
- lege servernamen vallen terug op
mcp - botsende opgeschoonde namen worden onderscheiden met numerieke suffixen
- de uiteindelijke beschikbaar gestelde toolvolgorde is deterministisch op veilige naam om herhaalde Pi- beurten cache-stabiel te houden
- profielfiltering behandelt alle tools van één MCP-server uit een bundel als plugin-eigendom
van
bundle-mcp, zodat profiel-allowlists en deny-lijsten zowel individuele beschikbaar gestelde toolnamen als de Plugin-sleutelbundle-mcpkunnen bevatten
Embedded Pi-instellingen
- Claude
settings.jsonwordt geïmporteerd als standaard embedded Pi-instellingen wanneer de bundel is ingeschakeld - OpenClaw schoont shell-override-sleutels op voordat ze worden toegepast
Opgeschoonde sleutels:
shellPathshellCommandPrefix
Embedded Pi LSP
- ingeschakelde Claude-bundels kunnen LSP-serverconfig bijdragen
- OpenClaw laadt
.lsp.jsonplus alle in het manifest gedeclareerdelspServers-paden - LSP-config van bundels wordt samengevoegd in de effectieve embedded Pi LSP-standaarden
- alleen ondersteunde stdio-backed LSP-servers zijn vandaag uitvoerbaar; niet-ondersteunde
transports verschijnen nog steeds in
openclaw plugins inspect <id>
Gedetecteerd maar niet uitgevoerd
Deze worden herkend en getoond in diagnostiek, maar OpenClaw voert ze niet uit:
- Claude
agents,hooks.json-automatisering,outputStyles - Cursor
.cursor/agents,.cursor/hooks.json,.cursor/rules - Codex-inline/app-metadata buiten capabilityrapportage
Bundelindelingen
Codex bundles
Markers: .codex-plugin/plugin.json
Optionele content: skills/, hooks/, .mcp.json, .app.json
Codex-bundels passen het best bij OpenClaw wanneer ze skill-roots en OpenClaw-achtige
hookpakketmappen gebruiken (HOOK.md + handler.ts).
Claude bundles
Twee detectiemodi:
- Manifestgebaseerd:
.claude-plugin/plugin.json - Zonder manifest: standaard Claude-layout (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
Claude-specifiek gedrag:
commands/wordt behandeld als skill-contentsettings.jsonwordt geïmporteerd in embedded Pi-instellingen (shell-override-sleutels worden opgeschoond).mcp.jsonstelt ondersteunde stdio-tools beschikbaar aan embedded Pi.lsp.jsonplus in het manifest gedeclareerdelspServers-paden worden geladen in embedded Pi LSP-standaardenhooks/hooks.jsonwordt gedetecteerd maar niet uitgevoerd- Aangepaste componentpaden in het manifest zijn additief (ze breiden standaarden uit, vervangen ze niet)
Cursor bundles
Markers: .cursor-plugin/plugin.json
Optionele content: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json
.cursor/commands/wordt behandeld als skill-content.cursor/rules/,.cursor/agents/en.cursor/hooks.jsonzijn alleen detectie
Detectieprioriteit
OpenClaw controleert eerst op native Plugin-indeling:
openclaw.plugin.jsonof geldigepackage.jsonmetopenclaw.extensions— behandeld als native Plugin- Bundelmarkers (
.codex-plugin/,.claude-plugin/of standaard Claude/Cursor-layout) — behandeld als bundel
Als een map beide bevat, gebruikt OpenClaw het native pad. Dit voorkomt dat pakketten met dubbele indeling gedeeltelijk als bundels worden geïnstalleerd.
Runtime-afhankelijkheden en opschoning
- Compatibele bundels van derden krijgen geen startup-
npm install-reparatie. Ze moeten worden geïnstalleerd viaopenclaw plugins installen alles meeleveren wat ze nodig hebben in de geïnstalleerde Plugin-map. - Door OpenClaw beheerde gebundelde plugins worden lichtgewicht in core meegeleverd of zijn downloadbaar via de Plugin-installer. Gateway-startup voert nooit een package manager voor ze uit.
openclaw doctor --fixverwijdert legacy staged-afhankelijkheidsmappen en kan downloadbare plugins herstellen die ontbreken in de lokale Plugin-index wanneer config ernaar verwijst.
Beveiliging
Bundels hebben een smallere vertrouwensgrens dan native plugins:
- OpenClaw laadt geen willekeurige bundel-runtime-modules in-process
- Skills en hookpakketpaden moeten binnen de Plugin-root blijven (grensgecontroleerd)
- Instellingenbestanden worden gelezen met dezelfde grenscontroles
- Ondersteunde stdio MCP-servers kunnen als subprocessen worden gestart
Dit maakt bundels standaard veiliger, maar je moet bundels van derden nog steeds behandelen als vertrouwde content voor de functies die ze wel beschikbaar stellen.
Probleemoplossing
Bundle is detected but capabilities do not run
Voer openclaw plugins inspect <id> uit. Als een capability wordt vermeld maar is gemarkeerd als
niet aangesloten, is dat een productlimiet, geen kapotte installatie.
Claude command files do not appear
Zorg dat de bundel is ingeschakeld en dat de markdownbestanden zich binnen een gedetecteerde
commands/- of skills/-root bevinden.
Claude settings do not apply
Alleen embedded Pi-instellingen uit settings.json worden ondersteund. OpenClaw behandelt
bundelinstellingen niet als ruwe configpatches.
Claude hooks do not execute
hooks/hooks.json is alleen detectie. Als je uitvoerbare hooks nodig hebt, gebruik dan de
OpenClaw-hookpakketlayout of lever een native Plugin.
Gerelateerd
- Plugins installeren en configureren
- Plugins bouwen — maak een native Plugin
- Pluginmanifest — native manifestschema