Plugins
Les plugins étendent OpenClaw avec de nouvelles capacités : canaux, fournisseurs de modèles, outils, compétences, synthèse vocale, génération d’images, et plus encore. Certains plugins sont core (livrés avec OpenClaw), d’autres sont externes (publiés sur npm par la communauté).
Quick start
Section intitulée « Quick start »See what is loaded
Fenêtre de terminal openclaw plugins listInstaller un plugin
Fenêtre de terminal # From npmopenclaw plugins install @openclaw/voice-call# From a local directory or archiveopenclaw plugins install ./my-pluginopenclaw plugins install ./my-plugin.tgzRedémarrer la passerelle
Fenêtre de terminal openclaw gateway restartConfigurez ensuite sous `plugins.entries.\
.config` dans votre fichier de configuration.
Si vous préférez un contrôle natif via le chat, activez commands.plugins: true et utilisez :
/plugin install clawhub:@openclaw/voice-call/plugin show voice-call/plugin enable voice-callLe chemin d’installation utilise le même résolveur que la CLI : chemin/archive local, spécification explicite
clawhub:<pkg>, ou spécification de package nue (ClawHub en premier, puis repli sur npm).
Types de plugins
Section intitulée « Types de plugins »OpenClaw reconnaît deux formats de plugins :
| Format | Fonctionnement | Exemples |
|---|---|---|
| Native | openclaw.plugin.json + module d’exécution ; s’exécute dans le processus | Plugins officiels, packages npm communautaires |
| Bundle | Disposition compatible Codex/Claude/Cursor ; mappée aux fonctionnalités OpenClaw | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
Les deux apparaissent sous openclaw plugins list. Consultez Plugin Bundles pour plus de détails sur les bundles.
Si vous écrivez un plugin natif, commencez par Building Plugins et la Plugin SDK Overview.
Plugins officiels
Section intitulée « Plugins officiels »Installables (npm)
Section intitulée « Installables (npm) »| Plugin | Package | Docs |
|---|---|---|
| Matrix | @openclaw/matrix | Matrix |
| Microsoft Teams | @openclaw/msteams | Microsoft Teams |
| Nostr | @openclaw/nostr | Nostr |
| Appel vocal | @openclaw/voice-call | Voice Call |
| Zalo | @openclaw/zalo | Zalo |
| Zalo Personal | @openclaw/zalouser | Zalo Personal |
Core (livré avec OpenClaw)
Section intitulée « Core (livré avec OpenClaw) »Model providers (enabled by default)
anthropic, byteplus, cloudflare-ai-gateway, github-copilot, google,
huggingface, kilocode, kimi-coding, minimax, mistral, modelstudio,
moonshot, nvidia, openai, opencode, opencode-go, openrouter,
qianfan, synthetic, together, venice,
vercel-ai-gateway, volcengine, xiaomi, zai
Plugins de mémoire
memory-core— recherche de mémoire intégrée (par défaut viaplugins.slots.memory) -memory-lancedb— mémoire à long terme installée à la demande avec rappel/capture automatiques (définirplugins.slots.memory = "memory-lancedb")
Fournisseurs de reconnaissance vocale (activés par défaut)
elevenlabs, microsoft
Other
browser— plugin navigateur groupé pour l’outil navigateur,openclaw browserCLI, méthode de passerellebrowser.request, runtime du navigateur et service de contrôle du navigateur par défaut (activé par défaut ; désactiver avant de le remplacer)copilot-proxy— pont VS Code Copilot Proxy (désactivé par défaut)
Vous cherchez des plugins tiers ? Consultez Community Plugins.
Configuration
Section intitulée « Configuration »{ plugins: { enabled: true, allow: ["voice-call"], deny: ["untrusted-plugin"], load: { paths: ["~/Projects/oss/voice-call-extension"] }, entries: { "voice-call": { enabled: true, config: { provider: "twilio" } }, }, },}| Champ | Description |
|---|---|
enabled | Interrupteur principal (par défaut : true) |
allow | Liste d’autorisation des plugins (facultatif) |
deny | Liste de refus des plugins (facultatif ; la refus l’emporte) |
load.paths | Fichiers/répertoires de plugins supplémentaires |
slots | Sélecteurs de slot exclusifs (ex. memory, contextEngine) |
entries.\<id\> | Commutateurs + configuration par plugin |
Les modifications de la configuration nécessitent un redémarrage de la passerelle. Si le Gateway fonctionne avec la surveillance de la configuration et le redémarrage en processus activés (le chemin par défaut openclaw gateway), ce redémarrage est généralement effectué automatiquement un instant après l’écriture de la configuration.
Plugin states: disabled vs missing vs invalid
Disabled
: le plugin existe mais les règles d’activation l’ont désactivé. La configuration est conservée. -
Missing
: la configuration fait référence à un ID de plugin que la découverte n’a pas trouvé. -
Invalid
: le plugin existe mais sa configuration ne correspond pas au schéma déclaré.
Discovery et précédence
Section intitulée « Discovery et précédence »OpenClaw recherche les plugins dans cet ordre (la première correspondance l’emporte) :
Chemins de configuration
plugins.load.paths— chemins explicites de fichiers ou de répertoires.Extensions de l'espace de travail
`\
/.openclaw/
/*.ts
et\/.openclaw/
/*/index.ts`.
Extensions globales
`~/.openclaw/
/*.ts
et~/.openclaw//*/index.ts`.
Plugins groupés
Livrés avec OpenClaw. Beaucoup sont activés par défaut (fournisseurs de model, parole). D’autres nécessitent une activation explicite.
Règles d’activation
Section intitulée « Règles d’activation »plugins.enabled: falsedésactive tous les pluginsplugins.denyl’emporte toujours sur allowplugins.entries.\<id\>.enabled: falsedésactive ce plugin- Les plugins d’origine espace de travail sont désactivés par défaut (doivent être explicitement activés)
- Les plugins groupés suivent l’ensemble intégré activé par défaut, sauf s’ils sont remplacés
- Les emplacements exclusifs peuvent forcer l’activation du plugin sélectionné pour cet emplacement
Emplacements de plugins (catégories exclusives)
Section intitulée « Emplacements de plugins (catégories exclusives) »Certaines catégories sont exclusives (une seule active à la fois) :
{ plugins: { slots: { memory: "memory-core", // or "none" to disable contextEngine: "legacy", // or a plugin id }, },}| Emplacement | Ce qu’il contrôle | Par défaut |
|---|---|---|
memory | Plugin de mémoire active | memory-core |
contextEngine | Moteur de contexte actif | legacy (intégré) |
Référence CLI
Section intitulée « Référence CLI »openclaw plugins list # compact inventoryopenclaw plugins inspect <id> # deep detailopenclaw plugins inspect <id> --json # machine-readableopenclaw plugins status # operational summaryopenclaw plugins doctor # diagnostics
openclaw plugins install <package> # install (ClawHub first, then npm)openclaw plugins install clawhub:<pkg> # install from ClawHub onlyopenclaw plugins install <path> # install from local pathopenclaw plugins install -l <path> # link (no copy) for devopenclaw plugins install <spec> --dangerously-force-unsafe-installopenclaw plugins update <id> # update one pluginopenclaw plugins update --all # update all
openclaw plugins enable <id>openclaw plugins disable <id>--dangerously-force-unsafe-install est une dérogation de secours pour les faux
positifs du scanneur de code dangereux intégré. Elle permet aux installations de
se poursuivre malgré les détections intégrées de critical, mais ne contourne toujours pas les blocs de
stratégie de plugin before_install ou le blocage en cas d’échec du scan.
Ce drapeau CLI s’applique uniquement aux installations de plugins. Les installations de dépendances de compétences soutenues par Gateway
utilisent plutôt la dérogation de requête dangerouslyForceUnsafeInstall correspondante,
tandis que openclaw skills install reste le flux distinct de téléchargement/installation de compétences ClawHub.
Consultez openclaw plugins référence CLI pour tous les détails.
Aperçu de l’API des plugins
Section intitulée « Aperçu de l’API des plugins »Les plugins exportent soit une fonction, soit un objet avec register(api) :
export default definePluginEntry({ id: "my-plugin", name: "My Plugin", register(api) { api.registerProvider({ /* ... */ }); api.registerTool({ /* ... */ }); api.registerChannel({ /* ... */ }); },});Méthodes d’enregistrement courantes :
| Méthode | Ce qu’il enregistre |
|---|---|
registerProvider | Fournisseur de modèle (LLM) |
registerChannel | Canal de discussion |
registerTool | Outil d’agent |
registerHook / on(...) | Crochets de cycle de vie |
registerSpeechProvider | Synthèse vocale / STT |
registerMediaUnderstandingProvider | Analyse d’image/audio |
registerImageGenerationProvider | Génération d’images |
registerWebSearchProvider | Recherche Web |
registerHttpRoute | Point de terminaison HTTP |
registerCommand / registerCli | Commandes CLI |
registerContextEngine | Moteur de contexte |
registerService | Service d’arrière-plan |
Comportement de garde des hooks pour les hooks de cycle de vie typés :
before_tool_call:{ block: true }est terminal ; les gestionnaires de priorité inférieure sont ignorés.before_tool_call:{ block: false }est une opération vide et ne efface pas un bloc précédent.before_install:{ block: true }est terminal ; les gestionnaires de priorité inférieure sont ignorés.before_install:{ block: false }est une opération vide et ne efface pas un bloc précédent.message_sending:{ cancel: true }est terminal ; les gestionnaires de priorité inférieure sont ignorés.message_sending:{ cancel: false }est une opération vide et ne efface pas une annulation précédente.
Pour le comportement complet des hooks typés, voir Vue d’ensemble du SDK.
Connexes
Section intitulée « Connexes »- Créer des plugins — créer votre propre plugin
- Bundles de plugins — compatibilité des bundles Codex/Claude/Cursor
- Manifeste de plugin — schéma de manifeste
- Enregistrement des outils — ajouter des outils d’agent dans un plugin
- Fonctionnement interne des plugins — modèle de capacité et pipeline de chargement
- Plugins communautaires — listes tierces