Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.* Clés de configuration et configuration d’un fournisseur personnalisé / d’URL de base. Pour les agents, les canaux et les autres clés de configuration de premier niveau, consultez la référence de configuration.
Outils
Profils d’outils
tools.profile définit une liste d’autorisation de base avant tools.allow/tools.deny :
L’intégration locale attribue par défaut aux nouvelles configurations locales
tools.profile: "coding" lorsque cette valeur n’est pas définie (les profils explicites existants sont conservés).| Profil | Inclut |
|---|---|
minimal | session_status uniquement |
coding | group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full | Aucune restriction (identique à une valeur non définie) |
Groupes d’outils
| Groupe | Outils |
|---|---|
group:runtime | exec, process, code_execution (bash est accepté comme alias pour exec) |
group:fs | read, write, edit, apply_patch |
group:sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory | memory_search, memory_get |
group:web | web_search, x_search, web_fetch |
group:ui | browser, canvas |
group:automation | heartbeat_respond, cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list, update_plan |
group:media | image, image_generate, music_generate, video_generate, tts |
group:openclaw | Tous les outils intégrés (exclut les plugins fournisseurs) |
tools.allow / tools.deny
Politique globale d’autorisation/refus des outils (le refus l’emporte). Insensible à la casse, prend en charge les caractères génériques *. Appliquée même lorsque le sandbox Docker est désactivé.
write et apply_patch sont des identifiants d’outils distincts. allow: ["write"] active aussi apply_patch pour les modèles compatibles, mais deny: ["write"] ne refuse pas apply_patch. Pour bloquer toute mutation de fichier, refusez group:fs ou listez explicitement chaque outil de mutation :
tools.byProvider
Restreint davantage les outils pour des fournisseurs ou modèles spécifiques. Ordre : profil de base → profil du fournisseur → autorisation/refus.
tools.toolsBySender
Restreint les outils pour une identité de demandeur spécifique. Il s’agit d’une défense en profondeur en plus du contrôle d’accès au canal ; les valeurs d’expéditeur doivent provenir de l’adaptateur de canal, et non du texte du message.
channel:<channelId>:<senderId>, id:<senderId>, e164:<phone>, username:<handle>, name:<displayName>, ou "*". Les identifiants de canaux sont les identifiants canoniques OpenClaw ; les alias comme teams sont normalisés en msteams. Les anciennes clés sans préfixe sont acceptées uniquement comme id:. L’ordre de correspondance est channel+id, id, e164, username, name, puis le caractère générique.
agents.list[].tools.toolsBySender par agent remplace la correspondance globale de l’expéditeur lorsqu’il correspond, même avec une politique vide {}.
tools.elevated
Contrôle l’accès exec élevé hors du sandbox :
- Le remplacement par agent (
agents.list[].tools.elevated) ne peut que restreindre davantage. /elevated on|off|ask|fullstocke l’état par session ; les directives en ligne s’appliquent à un seul message.execélevé contourne le sandboxing et utilise le chemin d’échappement configuré (gatewaypar défaut, ounodelorsque la cible exec estnode).
tools.exec
tools.loopDetection
Les vérifications de sécurité des boucles d’outils sont désactivées par défaut. Définissez enabled: true pour activer la détection. Les paramètres peuvent être définis globalement dans tools.loopDetection et remplacés par agent dans agents.list[].tools.loopDetection.
Historique maximal des appels d’outils conservé pour l’analyse des boucles.
Seuil de motif répété sans progression pour les avertissements.
Seuil de répétition plus élevé pour bloquer les boucles critiques.
Seuil d’arrêt strict pour toute exécution sans progression.
Avertir en cas d’appels répétés avec le même outil et les mêmes arguments.
Avertir/bloquer sur les outils d’interrogation connus (
process.poll, command_status, etc.).Avertir/bloquer sur les motifs de paires alternées sans progression.
tools.web
tools.media
Configure la compréhension des médias entrants (image/audio/vidéo) :
Media model entry fields
Media model entry fields
Entrée de fournisseur (
type: "provider" ou omis) :provider: identifiant du fournisseur d’API (openai,anthropic,google/gemini,groq, etc.)model: remplacement de l’identifiant du modèleprofile/preferredProfile: sélection de profilauth-profiles.json
type: "cli") :command: exécutable à lancerargs: arguments modélisés (prend en charge{{MediaPath}},{{Prompt}},{{MaxChars}}, etc. ;openclaw doctor --fixmigre les espaces réservés obsolètes{input}vers{{MediaPath}})
capabilities: liste facultative (image,audio,video). Valeurs par défaut :openai/anthropic/minimax→ image,google→ image+audio+vidéo,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: remplacements par entrée.tools.media.image.timeoutSecondset les entréestimeoutSecondsdu modèle d’image correspondant s’appliquent aussi lorsque l’agent appelle l’outilimageexplicite.- Les échecs basculent vers l’entrée suivante.
auth-profiles.json → variables d’environnement → models.providers.*.apiKey.Champs de complétion asynchrone :asyncCompletion.directSend: indicateur de compatibilité obsolète. Les tâches média asynchrones terminées restent médiées par la session demandeuse afin que l’agent reçoive le résultat, décide comment le communiquer à l’utilisateur et utilise l’outil de message lorsque la livraison à la source l’exige.
tools.agentToAgent
tools.sessions
Contrôle les sessions qui peuvent être ciblées par les outils de session (sessions_list, sessions_history, sessions_send).
Par défaut : tree (session actuelle + sessions qu’elle a lancées, comme les sous-agents).
Visibility scopes
Visibility scopes
self: uniquement la clé de session actuelle.tree: session actuelle + sessions lancées par la session actuelle (sous-agents).agent: toute session appartenant à l’identifiant de l’agent actuel (peut inclure d’autres utilisateurs si vous exécutez des sessions par expéditeur sous le même identifiant d’agent).all: toute session. Le ciblage inter-agents nécessite toujourstools.agentToAgent.- Contrainte de bac à sable : lorsque la session actuelle est exécutée en bac à sable et que
agents.defaults.sandbox.sessionToolsVisibility="spawned", la visibilité est forcée àtreemême sitools.sessions.visibility="all".
tools.sessions_spawn
Contrôle la prise en charge des pièces jointes intégrées pour sessions_spawn.
Notes sur les pièces jointes
Notes sur les pièces jointes
- Les pièces jointes ne sont prises en charge que pour
runtime: "subagent". Le runtime ACP les rejette. - Les fichiers sont matérialisés dans l’espace de travail enfant sous
.openclaw/attachments/<uuid>/avec un.manifest.json. - Le contenu des pièces jointes est automatiquement expurgé de la persistance de la transcription.
- Les entrées Base64 sont validées avec des contrôles stricts de l’alphabet et du remplissage, ainsi qu’une garde de taille avant décodage.
- Les autorisations de fichiers sont
0700pour les répertoires et0600pour les fichiers. - Le nettoyage suit la politique
cleanup:deletesupprime toujours les pièces jointes ;keeples conserve uniquement lorsqueretainOnSessionKeep: true.
tools.experimental
Indicateurs expérimentaux des outils intégrés. Désactivés par défaut, sauf si une règle d’activation automatique stricte-agentique GPT-5 s’applique.
planTool: active l’outil structuréupdate_planpour le suivi des travaux non triviaux en plusieurs étapes.- Par défaut :
false, sauf siagents.defaults.embeddedPi.executionContract(ou une surcharge par agent) est défini sur"strict-agentic"pour une exécution de la famille GPT-5 OpenAI ou OpenAI Codex. Définisseztruepour forcer l’activation de l’outil hors de ce périmètre, oufalsepour le maintenir désactivé même pour les exécutions GPT-5 strictes-agentiques. - Lorsqu’il est activé, l’invite système ajoute aussi des consignes d’utilisation afin que le modèle ne l’utilise que pour des travaux substantiels et conserve au plus une étape
in_progress.
agents.defaults.subagents
model: modèle par défaut pour les sous-agents générés. S’il est omis, les sous-agents héritent du modèle de l’appelant.allowAgents: liste d’autorisation par défaut des identifiants d’agents cibles poursessions_spawnlorsque l’agent demandeur ne définit pas son propresubagents.allowAgents(["*"]= n’importe lequel ; par défaut : même agent uniquement).runTimeoutSeconds: délai d’expiration par défaut (en secondes) poursessions_spawnlorsque l’appel d’outil ometrunTimeoutSeconds.0signifie aucun délai d’expiration.announceTimeoutMs: délai d’expiration par appel (en millisecondes) pour les tentatives de remise d’annonceagentdu Gateway. Par défaut :120000. Les nouvelles tentatives transitoires peuvent rendre l’attente totale de l’annonce plus longue qu’un délai d’expiration configuré.- Politique d’outils par sous-agent :
tools.subagents.tools.allow/tools.subagents.tools.deny.
Fournisseurs personnalisés et URL de base
OpenClaw utilise le catalogue de modèles intégré. Ajoutez des fournisseurs personnalisés viamodels.providers dans la configuration ou ~/.openclaw/agents/<agentId>/agent/models.json.
Authentification et priorité de fusion
Authentification et priorité de fusion
- Utilisez
authHeader: true+headerspour les besoins d’authentification personnalisés. - Remplacez la racine de configuration de l’agent avec
OPENCLAW_AGENT_DIR(ouPI_CODING_AGENT_DIR, un alias hérité de variable d’environnement). - Priorité de fusion pour les ID de fournisseur correspondants :
- Les valeurs
baseUrlnon vides dumodels.jsonde l’agent l’emportent. - Les valeurs
apiKeynon vides de l’agent l’emportent uniquement lorsque ce fournisseur n’est pas géré par SecretRef dans le contexte actuel de configuration/profil d’authentification. - Les valeurs
apiKeyde fournisseur gérées par SecretRef sont actualisées depuis les marqueurs source (ENV_VAR_NAMEpour les références d’environnement,secretref-managedpour les références fichier/exec) au lieu de persister les secrets résolus. - Les valeurs d’en-tête de fournisseur gérées par SecretRef sont actualisées depuis les marqueurs source (
secretref-env:ENV_VAR_NAMEpour les références d’environnement,secretref-managedpour les références fichier/exec). - Les
apiKey/baseUrld’agent vides ou manquants se replient surmodels.providersdans la configuration. - Les
contextWindow/maxTokensde modèle correspondants utilisent la valeur la plus élevée entre les valeurs de configuration explicites et les valeurs implicites du catalogue. - Les
contextTokensde modèle correspondants préservent un plafond d’exécution explicite lorsqu’il est présent ; utilisez-les pour limiter le contexte effectif sans modifier les métadonnées natives du modèle. - Utilisez
models.mode: "replace"lorsque vous voulez que la configuration réécrive entièrementmodels.json. - La persistance des marqueurs fait autorité côté source : les marqueurs sont écrits depuis l’instantané de configuration source actif (avant résolution), et non depuis les valeurs de secrets résolues à l’exécution.
- Les valeurs
Détails des champs de fournisseur
Catalogue de premier niveau
Catalogue de premier niveau
models.mode: comportement du catalogue de fournisseurs (mergeoureplace).models.providers: map de fournisseurs personnalisés indexée par ID de fournisseur.- Modifications sûres : utilisez
openclaw config set models.providers.<id> '<json>' --strict-json --mergeouopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergepour les mises à jour additives.config setrefuse les remplacements destructifs sauf si vous passez--replace.
- Modifications sûres : utilisez
Connexion et authentification du fournisseur
Connexion et authentification du fournisseur
models.providers.*.api: adaptateur de requête (openai-completions,openai-responses,anthropic-messages,google-generative-ai, etc.). Pour les backends/v1/chat/completionsauto-hébergés tels que MLX, vLLM, SGLang et la plupart des serveurs locaux compatibles OpenAI, utilisezopenai-completions. Un fournisseur personnalisé avecbaseUrlmais sansapiutilise par défautopenai-completions; définissezopenai-responsesuniquement lorsque le backend prend en charge/v1/responses.models.providers.*.apiKey: identifiant du fournisseur (préférez SecretRef/la substitution d’environnement).models.providers.*.auth: stratégie d’authentification (api-key,token,oauth,aws-sdk).models.providers.*.contextWindow: fenêtre de contexte native par défaut pour les modèles sous ce fournisseur lorsque l’entrée de modèle ne définit pascontextWindow.models.providers.*.contextTokens: plafond de contexte effectif par défaut à l’exécution pour les modèles sous ce fournisseur lorsque l’entrée de modèle ne définit pascontextTokens.models.providers.*.maxTokens: plafond de jetons de sortie par défaut pour les modèles sous ce fournisseur lorsque l’entrée de modèle ne définit pasmaxTokens.models.providers.*.timeoutSeconds: délai d’expiration facultatif, en secondes, des requêtes HTTP de modèle par fournisseur, incluant la connexion, les en-têtes, le corps et la gestion de l’abandon total de la requête.models.providers.*.injectNumCtxForOpenAICompat: pour Ollama +openai-completions, injecteoptions.num_ctxdans les requêtes (par défaut :true).models.providers.*.authHeader: force le transport des identifiants dans l’en-têteAuthorizationlorsque requis.models.providers.*.baseUrl: URL de base de l’API amont.models.providers.*.headers: en-têtes statiques supplémentaires pour le routage proxy/locataire.
Surcharges du transport de requête
Surcharges du transport de requête
models.providers.*.request : surcharges de transport pour les requêtes HTTP de fournisseur de modèles.request.headers: en-têtes supplémentaires (fusionnés avec les valeurs par défaut du fournisseur). Les valeurs acceptent SecretRef.request.auth: surcharge de stratégie d’authentification. Modes :"provider-default"(utiliser l’authentification intégrée du fournisseur),"authorization-bearer"(avectoken),"header"(avecheaderName,value,prefixfacultatif).request.proxy: surcharge de proxy HTTP. Modes :"env-proxy"(utiliser les variables d’environnementHTTP_PROXY/HTTPS_PROXY),"explicit-proxy"(avecurl). Les deux modes acceptent un sous-objettlsfacultatif.request.tls: surcharge TLS pour les connexions directes. Champs :ca,cert,key,passphrase(tous acceptent SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: lorsquetrue, autorise HTTPS versbaseUrllorsque le DNS se résout vers des plages privées, CGNAT ou similaires, via la garde de récupération HTTP du fournisseur (adhésion explicite de l’opérateur pour les points de terminaison compatibles OpenAI auto-hébergés de confiance). Les URL de flux de fournisseur de modèles en local loopback telles quelocalhost,127.0.0.1et[::1]sont autorisées automatiquement, sauf si cette option est explicitement définie surfalse; les hôtes LAN, tailnet et DNS privés nécessitent toujours une adhésion explicite. WebSocket utilise le mêmerequestpour les en-têtes/TLS, mais pas cette barrière SSRF de fetch. Par défautfalse.
Entrées du catalogue de modèles
Entrées du catalogue de modèles
models.providers.*.models: entrées explicites du catalogue de modèles du fournisseur.models.providers.*.models.*.input: modalités d’entrée du modèle. Utilisez["text"]pour les modèles texte uniquement et["text", "image"]pour les modèles natifs image/vision. Les pièces jointes d’image ne sont injectées dans les tours d’agent que lorsque le modèle sélectionné est marqué comme compatible image.models.providers.*.models.*.contextWindow: métadonnées de fenêtre de contexte native du modèle. Cela remplace lecontextWindowau niveau du fournisseur pour ce modèle.models.providers.*.models.*.contextTokens: plafond facultatif du contexte à l’exécution. Cela remplace lescontextTokensau niveau du fournisseur ; utilisez-le lorsque vous voulez un budget de contexte effectif inférieur aucontextWindownatif du modèle ;openclaw models listaffiche les deux valeurs lorsqu’elles diffèrent.models.providers.*.models.*.compat.supportsDeveloperRole: indice de compatibilité facultatif. Pourapi: "openai-completions"avec unbaseUrlnon vide et non natif (hôte différent deapi.openai.com), OpenClaw force cette valeur àfalseà l’exécution. UnbaseUrlvide/omis conserve le comportement OpenAI par défaut.models.providers.*.models.*.compat.requiresStringContent: indice de compatibilité facultatif pour les points de terminaison de chat compatibles OpenAI texte uniquement. Lorsquetrue, OpenClaw aplatit les tableauxmessages[].contentde texte pur en chaînes simples avant d’envoyer la requête.models.providers.*.models.*.compat.strictMessageKeys: indice de compatibilité facultatif pour les points de terminaison de chat compatibles OpenAI stricts. Lorsquetrue, OpenClaw réduit les objets de message Chat Completions sortants àroleetcontentavant d’envoyer la requête.models.providers.*.models.*.compat.thinkingFormat: indice facultatif de charge utile de raisonnement. Utilisez"qwen"pourenable_thinkingde premier niveau, ou"qwen-chat-template"pourchat_template_kwargs.enable_thinkingsur les serveurs compatibles OpenAI de la famille Qwen qui prennent en charge les kwargs de modèle de chat au niveau de la requête, tels que vLLM.
Découverte Amazon Bedrock
Découverte Amazon Bedrock
plugins.entries.amazon-bedrock.config.discovery: racine des paramètres de découverte automatique Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: active/désactive la découverte implicite.plugins.entries.amazon-bedrock.config.discovery.region: région AWS pour la découverte.plugins.entries.amazon-bedrock.config.discovery.providerFilter: filtre facultatif d’ID de fournisseur pour une découverte ciblée.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: intervalle d’interrogation pour l’actualisation de la découverte.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: fenêtre de contexte de repli pour les modèles découverts.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: nombre maximal de jetons de sortie de repli pour les modèles découverts.
--custom-image-input pour forcer les métadonnées compatibles avec les images ou --custom-text-input pour forcer les métadonnées textuelles uniquement.
Exemples de fournisseurs
Cerebras (GLM 4.7 / GPT OSS)
Cerebras (GLM 4.7 / GPT OSS)
Le plugin fournisseur Utilisez
cerebras fourni peut configurer cela via openclaw onboard --auth-choice cerebras-api-key. N’utilisez une configuration de fournisseur explicite que lorsque vous remplacez les valeurs par défaut.cerebras/zai-glm-4.7 pour Cerebras ; zai/glm-4.7 pour Z.AI direct.Codage Kimi
Codage Kimi
openclaw onboard --auth-choice kimi-code-api-key.Modèles locaux (LM Studio)
Modèles locaux (LM Studio)
Consultez Modèles locaux. En bref : exécutez un grand modèle local via l’API Responses de LM Studio sur du matériel sérieux ; conservez les modèles hébergés fusionnés pour le repli.
MiniMax M2.7 (direct)
MiniMax M2.7 (direct)
MINIMAX_API_KEY. Raccourcis : openclaw onboard --auth-choice minimax-global-api ou openclaw onboard --auth-choice minimax-cn-api. Le catalogue de modèles utilise M2.7 uniquement par défaut. Sur le chemin de streaming compatible avec Anthropic, OpenClaw désactive la réflexion MiniMax par défaut, sauf si vous définissez explicitement thinking vous-même. /fast on ou params.fastMode: true réécrit MiniMax-M2.7 en MiniMax-M2.7-highspeed.Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" ou openclaw onboard --auth-choice moonshot-api-key-cn.Les points de terminaison natifs Moonshot annoncent une compatibilité d’utilisation en streaming sur le transport partagé openai-completions, et OpenClaw se fonde sur les capacités du point de terminaison plutôt que sur le seul ID de fournisseur intégré.OpenCode
OpenCode
OPENCODE_API_KEY (ou OPENCODE_ZEN_API_KEY). Utilisez les références opencode/... pour le catalogue Zen ou les références opencode-go/... pour le catalogue Go. Raccourci : openclaw onboard --auth-choice opencode-zen ou openclaw onboard --auth-choice opencode-go.Synthetic (compatible avec Anthropic)
Synthetic (compatible avec Anthropic)
/v1 (le client Anthropic l’ajoute). Raccourci : openclaw onboard --auth-choice synthetic-api-key.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY. z.ai/* et z-ai/* sont des alias acceptés. Raccourci : openclaw onboard --auth-choice zai-api-key.- Point de terminaison général :
https://api.z.ai/api/paas/v4 - Point de terminaison de codage (par défaut) :
https://api.z.ai/api/coding/paas/v4 - Pour le point de terminaison général, définissez un fournisseur personnalisé avec le remplacement de l’URL de base.
Connexe
- Configuration — agents
- Configuration — canaux
- Référence de configuration — autres clés de premier niveau
- Outils et plugins