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 permettent à l’agent de lire des fichiers, d’exécuter des commandes, de naviguer sur le web, d’envoyer des messages et d’interagir avec des appareils.

Outils, Skills et plugins

OpenClaw comporte 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.Pour l’agent, les outils apparaissent comme des définitions de fonctions structurées envoyées à l’API du modèle.
2

Les Skills apprennent à l’agent quand et comment faire

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 instructions étape par étape pour utiliser efficacement les outils. Les Skills se trouvent 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 l’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, et plus encore. Certains plugins sont core (fournis avec OpenClaw), d’autres sont externes (publiés sur npm par la communauté).Installer et configurer des plugins | Créer 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écuter des commandes shell, gérer des processus en arrière-planExec
code_executionExécuter une analyse Python distante en sandboxCode Execution
browserContrôler un navigateur Chromium (naviguer, cliquer, capture d’écran)Browser
web_search / x_search / web_fetchRechercher sur le web, rechercher des publications X, récupérer le contenu d’une pageWeb
read / write / editE/S de fichiers dans l’espace de travail
apply_patchCorrectifs de fichiers multi-segmentsApply Patch
messageEnvoyer des messages sur tous les canauxAgent Send
canvasPiloter le node Canvas (present, eval, snapshot)
nodesDécouvrir et cibler les appareils appairés
cron / gatewayGérer les tâches planifiées ; inspecter, corriger, redémarrer ou mettre à jour la gateway
image / image_generateAnalyser ou générer des imagesImage Generation
music_generateGénérer des pistes musicalesMusic Generation
video_generateGénérer des vidéosVideo Generation
ttsConversion ponctuelle de texte en paroleTTS
sessions_* / subagents / agents_listGestion des sessions, statut et orchestration de sous-agentsSub-agents
session_statusRetour léger de type /status et surcharge du modèle par sessionSession Tools
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. Pour le travail sur la musique, utilisez music_generate. Si vous ciblez google/*, minimax/* ou un autre fournisseur de musique non par défaut, configurez d’abord l’authentification/la clé API de ce fournisseur. Pour le travail sur la vidéo, utilisez video_generate. Si vous ciblez qwen/* ou un autre fournisseur de vidéos non par défaut, configurez d’abord l’authentification/la clé API de ce fournisseur. Pour la génération audio pilotée par workflow, utilisez music_generate lorsqu’un plugin comme ComfyUI l’enregistre. Cela est distinct de tts, qui correspond à la synthèse vocale. session_status est l’outil léger de statut/retour dans le groupe des sessions. Il répond aux questions de type /status sur la session en cours et peut facultativement définir une surcharge du modèle par session ; model=default efface cette surcharge. Comme /status, il peut compléter des compteurs clairsemés de jetons/cache et le libellé du modèle d’exécution actif à partir de la dernière entrée d’usage 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 la 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 modifications partielles, 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 hérités tools.bash.* sont normalisés vers les mêmes chemins exec protégés.

Outils fournis par les plugins

Les plugins peuvent enregistrer des outils supplémentaires. Quelques exemples :
  • Lobster — environnement d’exécution de workflow typé avec approbations reprenables
  • LLM Task — étape LLM en JSON uniquement pour une sortie structurée
  • Music Generation — outil music_generate partagé avec des fournisseurs adossés à des workflows
  • Diffs — visualiseur et moteur de rendu de diff
  • OpenProse — orchestration de workflows centrée sur 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’autorisations de base avant l’application de allow/deny. Surcharge 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, music_generate, video_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/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, music_generate, video_generate, tts
group:openclawTous les outils intégrés OpenClaw (hors outils de plugins)
sessions_history renvoie une vue de rappel bornée et filtrée pour la sécurité. Elle supprime les balises de réflexion, la structure <relevant-memories>, les charges utiles XML d’appels d’outils 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’appels d’outils tronqués), la structure d’appels d’outils dégradée, les jetons de contrôle de modèle ASCII/pleine largeur divulgués, et le XML d’appels d’outils MiniMax mal formé dans le texte de l’assistant, puis applique la rédaction/la troncature et d’éventuels espaces réservés pour lignes surdimensionnées au lieu d’agir comme un dump brut de transcription.

Restrictions spécifiques au fournisseur

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