Passer au contenu principal

Outils et plugins

Tout ce que l’agent fait au-delà de la génération de texte passe par des outils. Les outils sont la manière dont l’agent lit des fichiers, exécute des commandes, navigue sur le web, envoie des messages et interagit avec des appareils.

Outils, Skills et plugins

OpenClaw a trois couches qui fonctionnent ensemble :
1

Les outils sont ce que l’agent appelle

Un outil est une fonction typée que l’agent peut invoquer (par ex. exec, browser, web_search, message). OpenClaw fournit un ensemble d’outils intégrés et les plugins peuvent en enregistrer d’autres.L’agent voit les outils comme des définitions de fonctions structurées envoyées à l’API du modèle.
2

Les Skills apprennent à l’agent quand et comment

Un Skill est un fichier markdown (SKILL.md) injecté dans le prompt système. Les Skills donnent à l’agent du contexte, des contraintes et des conseils étape par étape pour utiliser les outils efficacement. Les Skills vivent dans votre espace de travail, dans des dossiers partagés, ou sont fournis dans des plugins.Référence des Skills | Créer des Skills
3

Les plugins regroupent tout ensemble

Un plugin est un package qui peut enregistrer n’importe quelle combinaison de capacités : canaux, fournisseurs de modèles, outils, Skills, parole, transcription en temps réel, voix en temps réel, compréhension des médias, génération d’images, génération de vidéos, récupération web, recherche web, etc. Certains plugins sont core (fournis avec OpenClaw), d’autres sont externes (publiés sur npm par la communauté).Installer et configurer des plugins | Créez le vôtre

Outils intégrés

Ces outils sont fournis avec OpenClaw et sont disponibles sans installer de plugins :
OutilCe qu’il faitPage
exec / processExécute des commandes shell, gère des processus d’arrière-planExec
code_executionExécute une analyse Python distante en bac à sableCode Execution
browserContrôle un navigateur Chromium (navigation, clic, capture d’écran)Browser
web_search / x_search / web_fetchRecherche sur le web, recherche dans les posts X, récupère le contenu d’une pageWeb
read / write / editE/S de fichiers dans l’espace de travail
apply_patchPatches de fichiers multi-segmentsApply Patch
messageEnvoie des messages sur tous les canauxAgent Send
canvasPilote le node Canvas (présentation, eval, snapshot)
nodesDécouvre et cible les appareils appairés
cron / gatewayGère les tâches planifiées ; inspecte, modifie, redémarre ou met à jour la gateway
image / image_generateAnalyse ou génère des images
ttsConversion texte-parole ponctuelleTTS
sessions_* / subagents / agents_listGestion des sessions, statut et orchestration de sous-agentsSous-agents
session_statusLecture légère de type /status et remplacement du modèle par sessionOutils de session
Pour le travail sur les images, utilisez image pour l’analyse et image_generate pour la génération ou l’édition. Si vous ciblez openai/*, google/*, fal/* ou un autre fournisseur d’images non par défaut, configurez d’abord l’authentification / la clé API de ce fournisseur. session_status est l’outil léger de statut / lecture du groupe des sessions. Il répond aux questions de type /status sur la session en cours et peut facultativement définir un remplacement de modèle par session ; model=default efface ce remplacement. Comme /status, il peut renseigner a posteriori des compteurs clairsemés de tokens / cache et le libellé du modèle d’exécution actif à partir de la dernière entrée d’utilisation de la transcription. gateway est l’outil d’exécution réservé au propriétaire pour les opérations de gateway :
  • config.schema.lookup pour un sous-arbre de configuration limité à un chemin avant les modifications
  • config.get pour l’instantané de configuration actuel + hash
  • config.patch pour des mises à jour partielles de configuration avec redémarrage
  • config.apply uniquement pour le remplacement complet de la configuration
  • update.run pour une auto-mise à jour explicite + redémarrage
Pour les changements partiels, préférez config.schema.lookup puis config.patch. Utilisez config.apply uniquement lorsque vous remplacez intentionnellement toute la configuration. L’outil refuse aussi de modifier tools.exec.ask ou tools.exec.security ; les alias historiques tools.bash.* sont normalisés vers les mêmes chemins protégés d’exec.

Outils fournis par des plugins

Les plugins peuvent enregistrer des outils supplémentaires. Quelques exemples :
  • Lobster — runtime de workflow typé avec approbations reprenables
  • LLM Task — étape LLM en JSON uniquement pour une sortie structurée
  • Diffs — visualiseur et moteur de rendu de diff
  • OpenProse — orchestration de workflow orientée markdown

Configuration des outils

Listes d’autorisation et de refus

Contrôlez quels outils l’agent peut appeler via tools.allow / tools.deny dans la configuration. Le refus l’emporte toujours sur l’autorisation.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

Profils d’outils

tools.profile définit une liste d’autorisation de base avant application de allow/deny. Remplacement par agent : agents.list[].tools.profile.
ProfilCe qu’il inclut
fullAucune restriction (identique à non défini)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalsession_status uniquement

Groupes d’outils

Utilisez les raccourcis group:* dans les listes d’autorisation / de refus :
GroupeOutils
group:runtimeexec, process, code_execution (bash est accepté comme alias de exec)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list
group:mediaimage, image_generate, tts
group:openclawTous les outils OpenClaw intégrés (exclut les outils de plugin)
sessions_history renvoie une vue de rappel bornée et filtrée pour la sécurité. Elle supprime les balises de réflexion, l’échafaudage <relevant-memories>, les payloads XML d’appel d’outil en texte brut (y compris <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls>, et les blocs d’appel d’outil tronqués), l’échafaudage d’appel d’outil dégradé, les tokens de contrôle de modèle ASCII / pleine largeur divulgués, et le XML d’appel d’outil MiniMax mal formé dans le texte de l’assistant, puis applique la rédaction / troncature et d’éventuels placeholders de lignes surdimensionnées au lieu de fonctionner comme un vidage brut de transcription.

Restrictions spécifiques au fournisseur

Utilisez tools.byProvider pour restreindre les outils pour des fournisseurs spécifiques sans modifier les valeurs par défaut globales :
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}