tools.* sowie Einrichtung von benutzerdefiniertem Provider / Base-URL. Für Agenten,
Channels und andere Top-Level-Konfigurationsschlüssel siehe
Configuration reference.
Tools
Tool-Profile
tools.profile setzt eine Basis-Allowlist vor tools.allow/tools.deny:
Lokales Onboarding setzt für neue lokale Konfigurationen standardmäßig tools.profile: "coding", wenn nichts gesetzt ist (bestehende explizite Profile bleiben erhalten).
| Profil | Enthält |
|---|---|
minimal | nur session_status |
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 | Keine Einschränkung (wie nicht gesetzt) |
Tool-Gruppen
| Gruppe | Tools |
|---|---|
group:runtime | exec, process, code_execution (bash wird als Alias für exec akzeptiert) |
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 | cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list |
group:media | image, image_generate, video_generate, tts |
group:openclaw | Alle integrierten Tools (ohne Provider-Plugins) |
tools.allow / tools.deny
Globale Tool-Allow-/Deny-Richtlinie (Deny gewinnt). Case-insensitive, unterstützt *-Wildcards. Wird auch angewendet, wenn die Docker-Sandbox deaktiviert ist.
tools.byProvider
Schränkt Tools für bestimmte Provider oder Modelle weiter ein. Reihenfolge: Basisprofil → Provider-Profil → Allow/Deny.
tools.elevated
Steuert erhöhten exec-Zugriff außerhalb der Sandbox:
- Die Überschreibung pro Agent (
agents.list[].tools.elevated) kann nur weiter einschränken. /elevated on|off|ask|fullspeichert den Zustand pro Sitzung; Inline-Direktiven gelten für eine einzelne Nachricht.- Erhöhtes
execumgeht die Sandbox und verwendet den konfigurierten Escape-Pfad (gatewaystandardmäßig odernode, wenn dasexec-Zielnodeist).
tools.exec
tools.loopDetection
Sicherheitsprüfungen für Tool-Loops sind standardmäßig deaktiviert. Setzen Sie enabled: true, um die Erkennung zu aktivieren.
Einstellungen können global in tools.loopDetection definiert und pro Agent unter agents.list[].tools.loopDetection überschrieben werden.
historySize: maximale Tool-Call-Historie, die für die Loop-Analyse behalten wird.warningThreshold: Schwellenwert für Warnungen bei sich wiederholenden Mustern ohne Fortschritt.criticalThreshold: höherer Wiederholungsschwellenwert zum Blockieren kritischer Loops.globalCircuitBreakerThreshold: Hard-Stop-Schwellenwert für jeden Lauf ohne Fortschritt.detectors.genericRepeat: bei wiederholten Calls mit demselben Tool/denselben Argumenten warnen.detectors.knownPollNoProgress: bei bekannten Poll-Tools (process.poll,command_statususw.) ohne Fortschritt warnen/blockieren.detectors.pingPong: bei alternierenden Paarmustern ohne Fortschritt warnen/blockieren.- Wenn
warningThreshold >= criticalThresholdodercriticalThreshold >= globalCircuitBreakerThresholdist, schlägt die Validierung fehl.
tools.web
tools.media
Konfiguriert die Verarbeitung eingehender Medien (Bild/Audio/Video):
Felder für Media-Modell-Einträge
Felder für Media-Modell-Einträge
Provider-Eintrag (
type: "provider" oder weggelassen):provider: API-Provider-ID (openai,anthropic,google/gemini,groqusw.)model: Überschreibung der Modell-IDprofile/preferredProfile: Profilauswahl ausauth-profiles.json
type: "cli"):command: auszuführendes Programmargs: templatisierte Argumente (unterstützt{{MediaPath}},{{Prompt}},{{MaxChars}}usw.)
capabilities: optionale Liste (image,audio,video). Standardwerte:openai/anthropic/minimax→ image,google→ image+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: Überschreibungen pro Eintrag.- Bei Fehlern wird auf den nächsten Eintrag zurückgegriffen.
auth-profiles.json → Env-Variablen → models.providers.*.apiKey.Felder für asynchronen Abschluss:asyncCompletion.directSend: wenntrue, versuchen abgeschlossene asynchrone Tasks vonmusic_generateundvideo_generatezuerst eine direkte Zustellung an den Channel. Standard:false(Legacy-Pfad über Requester-Session-Aufwecken/Modell-Zustellung).
tools.agentToAgent
tools.sessions
Steuert, welche Sitzungen von den Session-Tools (sessions_list, sessions_history, sessions_send) angesprochen werden können.
Standard: tree (aktuelle Sitzung + von ihr gestartete Sitzungen, etwa Subagenten).
self: nur der aktuelle Sitzungsschlüssel.tree: aktuelle Sitzung + von der aktuellen Sitzung gestartete Sitzungen (Subagenten).agent: jede Sitzung, die zur aktuellen Agent-ID gehört (kann auch andere Benutzer umfassen, wenn Sie Sitzungen pro Absender unter derselben Agent-ID ausführen).all: jede Sitzung. Agent-übergreifendes Targeting erfordert weiterhintools.agentToAgent.- Sandbox-Begrenzung: Wenn die aktuelle Sitzung sandboxed ist und
agents.defaults.sandbox.sessionToolsVisibility="spawned"gesetzt ist, wird die Sichtbarkeit auftreeerzwungen, selbst wenntools.sessions.visibility="all"gesetzt ist.
tools.sessions_spawn
Steuert die Unterstützung für Inline-Anhänge bei sessions_spawn.
- Anhänge werden nur für
runtime: "subagent"unterstützt. ACP-Runtime lehnt sie ab. - Dateien werden im Child-Workspace unter
.openclaw/attachments/<uuid>/mit einer.manifest.jsonmaterialisiert. - Anhangsinhalte werden bei der Transkript-Persistenz automatisch redigiert.
- Base64-Eingaben werden mit strikten Prüfungen für Alphabet/Padding und einer Größenprüfung vor dem Decoding validiert.
- Dateiberechtigungen sind
0700für Verzeichnisse und0600für Dateien. - Cleanup folgt der Richtlinie
cleanup:deleteentfernt Anhänge immer;keepbehält sie nur, wennretainOnSessionKeep: truegesetzt ist.
tools.experimental
Experimentelle Flags für integrierte Tools. Standardmäßig aus, außer wenn eine Auto-Enable-Regel für streng agentisches GPT-5 greift.
planTool: aktiviert das strukturierte Toolupdate_planzur Nachverfolgung nicht-trivialer mehrstufiger Arbeit.- Standard:
false, außeragents.defaults.embeddedPi.executionContract(oder eine Überschreibung pro Agent) ist für einen OpenAI- oder OpenAI Codex-GPT-5-Familienlauf auf"strict-agentic"gesetzt. Setzen Sietrue, um das Tool auch außerhalb dieses Bereichs zu erzwingen, oderfalse, um es selbst bei streng agentischen GPT-5-Läufen deaktiviert zu halten. - Wenn aktiviert, ergänzt der System-Prompt auch Nutzungshinweise, damit das Modell es nur für substanzielle Arbeit verwendet und höchstens einen Schritt als
in_progresshält.
agents.defaults.subagents
model: Standardmodell für gestartete Subagenten. Wenn weggelassen, erben Subagenten das Modell des Aufrufers.allowAgents: Standard-Allowlist der Ziel-Agent-IDs fürsessions_spawn, wenn der anfragende Agent nicht seine eigenesubagents.allowAgentssetzt (["*"]= beliebig; Standard: nur derselbe Agent).runTimeoutSeconds: Standard-Timeout (Sekunden) fürsessions_spawn, wenn der Tool-AufrufrunTimeoutSecondsweglässt.0bedeutet kein Timeout.- Tool-Richtlinie pro Subagent:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Benutzerdefinierte Provider und Base-URLs
OpenClaw verwendet den integrierten Modellkatalog. Fügen Sie benutzerdefinierte Provider übermodels.providers in der Konfiguration oder ~/.openclaw/agents/<agentId>/agent/models.json hinzu.
- Verwenden Sie
authHeader: true+headersfür benutzerdefinierte Authentifizierungsanforderungen. - Überschreiben Sie das Root der Agent-Konfiguration mit
OPENCLAW_AGENT_DIR(oderPI_CODING_AGENT_DIR, ein Legacy-Alias für Umgebungsvariablen). - Merge-Priorität für übereinstimmende Provider-IDs:
- Nicht-leere
baseUrl-Werte ausmodels.jsondes Agenten gewinnen. - Nicht-leere
apiKey-Werte des Agenten gewinnen nur dann, wenn dieser Provider im aktuellen Kontext von Config/Auth-Profil nicht per SecretRef verwaltet wird. - Per SecretRef verwaltete
apiKey-Werte des Providers werden aus Quellmarkern aktualisiert (ENV_VAR_NAMEfür Env-Refs,secretref-managedfür Datei-/Exec-Refs), statt aufgelöste Secrets zu persistieren. - Per SecretRef verwaltete Header-Werte des Providers werden aus Quellmarkern aktualisiert (
secretref-env:ENV_VAR_NAMEfür Env-Refs,secretref-managedfür Datei-/Exec-Refs). - Leere oder fehlende
apiKey/baseUrldes Agenten fallen aufmodels.providersin der Konfiguration zurück. - Übereinstimmende
contextWindow/maxTokensdes Modells verwenden den höheren Wert aus expliziter Konfiguration und impliziten Katalogwerten. - Übereinstimmende
contextTokensdes Modells behalten eine explizite Runtime-Begrenzung bei, wenn sie vorhanden ist; verwenden Sie dies, um den effektiven Kontext zu begrenzen, ohne native Modellmetadaten zu ändern. - Verwenden Sie
models.mode: "replace", wenn die Konfigurationmodels.jsonvollständig neu schreiben soll. - Marker-Persistenz ist quellenautoritativ: Marker werden aus dem aktiven Snapshot der Quellkonfiguration (vor der Auflösung) geschrieben, nicht aus aufgelösten Runtime-Secret-Werten.
- Nicht-leere
Details zu Provider-Feldern
models.mode: Verhalten des Provider-Katalogs (mergeoderreplace).models.providers: benutzerdefinierte Provider-Map, nach Provider-ID indiziert.- Sichere Änderungen: Verwenden Sie
openclaw config set models.providers.<id> '<json>' --strict-json --mergeoderopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergefür additive Aktualisierungen.config setverweigert destruktive Ersetzungen, sofern Sie nicht--replaceübergeben.
- Sichere Änderungen: Verwenden Sie
models.providers.*.api: Request-Adapter (openai-completions,openai-responses,anthropic-messages,google-generative-aiusw.).models.providers.*.apiKey: Provider-Zugangsdaten (bevorzugt SecretRef-/Env-Substitution).models.providers.*.auth: Authentifizierungsstrategie (api-key,token,oauth,aws-sdk).models.providers.*.injectNumCtxForOpenAICompat: für Ollama +openai-completionsoptions.num_ctxin Requests injizieren (Standard:true).models.providers.*.authHeader: Transport der Zugangsdaten im HeaderAuthorizationerzwingen, wenn erforderlich.models.providers.*.baseUrl: Base-URL der Upstream-API.models.providers.*.headers: zusätzliche statische Header für Proxy-/Tenant-Routing.models.providers.*.request: Transport-Überschreibungen für HTTP-Requests des Modell-Providers.request.headers: zusätzliche Header (werden mit den Provider-Standards zusammengeführt). Werte akzeptieren SecretRef.request.auth: Überschreibung der Authentifizierungsstrategie. Modi:"provider-default"(eingebaute Provider-Authentifizierung verwenden),"authorization-bearer"(mittoken),"header"(mitheaderName,value, optionalprefix).request.proxy: Überschreibung des HTTP-Proxys. Modi:"env-proxy"(verwendeHTTP_PROXY/HTTPS_PROXY-Env-Variablen),"explicit-proxy"(miturl). Beide Modi akzeptieren optional ein Unterobjekttls.request.tls: TLS-Überschreibung für direkte Verbindungen. Felder:ca,cert,key,passphrase(alle akzeptieren SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: wenntrue, HTTPS zubaseUrlerlauben, wenn DNS auf private, CGNAT- oder ähnliche Bereiche auflöst, über die HTTP-Fetch-Leitplanke des Providers (Opt-in des Operators für vertrauenswürdige selbst gehostete OpenAI-kompatible Endpunkte). WebSocket verwendet dieselberequestfür Header/TLS, aber nicht diese Fetch-SSRF-Leitplanke. Standardfalse.
models.providers.*.models: explizite Einträge des Provider-Modellkatalogs.models.providers.*.models.*.contextWindow: native Metadaten zum Kontextfenster des Modells.models.providers.*.models.*.contextTokens: optionale Runtime-Kontextbegrenzung. Verwenden Sie dies, wenn Sie ein kleineres effektives Kontextbudget als das nativecontextWindowdes Modells möchten.models.providers.*.models.*.compat.supportsDeveloperRole: optionaler Kompatibilitätshinweis. Fürapi: "openai-completions"mit einer nicht-leeren, nicht nativenbaseUrl(Host nichtapi.openai.com) erzwingt OpenClaw dies zur Laufzeit auffalse. Leere/weggelassenebaseUrlbehält das Standardverhalten von OpenAI bei.models.providers.*.models.*.compat.requiresStringContent: optionaler Kompatibilitätshinweis für OpenAI-kompatible Chat-Endpunkte, die nur Strings unterstützen. Wenntrue, flacht OpenClaw reine Text-Arrays inmessages[].contentvor dem Senden der Anfrage zu einfachen Strings ab.plugins.entries.amazon-bedrock.config.discovery: Root der Bedrock-Auto-Discovery-Einstellungen.plugins.entries.amazon-bedrock.config.discovery.enabled: implizite Discovery ein-/ausschalten.plugins.entries.amazon-bedrock.config.discovery.region: AWS-Region für Discovery.plugins.entries.amazon-bedrock.config.discovery.providerFilter: optionaler Filter nach Provider-ID für gezielte Discovery.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: Polling-Intervall für die Aktualisierung der Discovery.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: Fallback-Kontextfenster für erkannte Modelle.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: Fallback-Maximum an Output-Tokens für erkannte Modelle.
Provider-Beispiele
Cerebras (GLM 4.6 / 4.7)
Cerebras (GLM 4.6 / 4.7)
cerebras/zai-glm-4.7 für Cerebras; zai/glm-4.7 für Z.AI direkt.OpenCode
OpenCode
OPENCODE_API_KEY (oder OPENCODE_ZEN_API_KEY). Verwenden Sie opencode/...-Referenzen für den Zen-Katalog oder opencode-go/...-Referenzen für den Go-Katalog. Abkürzung: openclaw onboard --auth-choice opencode-zen oder openclaw onboard --auth-choice opencode-go.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY. z.ai/* und z-ai/* sind akzeptierte Aliase. Abkürzung: openclaw onboard --auth-choice zai-api-key.- Allgemeiner Endpunkt:
https://api.z.ai/api/paas/v4 - Coding-Endpunkt (Standard):
https://api.z.ai/api/coding/paas/v4 - Für den allgemeinen Endpunkt definieren Sie einen benutzerdefinierten Provider mit überschriebenem Base-URL.
Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" oder openclaw onboard --auth-choice moonshot-api-key-cn.Native Moonshot-Endpunkte melden Streaming-Usage-Kompatibilität über den gemeinsamen
Transport openai-completions, und OpenClaw richtet sich dabei nach den Fähigkeiten des Endpunkts
und nicht nur nach der eingebauten Provider-ID.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Synthetic (Anthropic-kompatibel)
Synthetic (Anthropic-kompatibel)
/v1 weglassen (der Anthropic-Client hängt es an). Abkürzung: openclaw onboard --auth-choice synthetic-api-key.MiniMax M2.7 (direkt)
MiniMax M2.7 (direkt)
MINIMAX_API_KEY. Abkürzungen:
openclaw onboard --auth-choice minimax-global-api oder
openclaw onboard --auth-choice minimax-cn-api.
Der Modellkatalog verwendet standardmäßig nur M2.7.
Auf dem Anthropic-kompatiblen Streaming-Pfad deaktiviert OpenClaw MiniMax-Thinking
standardmäßig, sofern Sie thinking nicht selbst explizit setzen. /fast on oder
params.fastMode: true schreibt MiniMax-M2.7 auf
MiniMax-M2.7-highspeed um.Lokale Modelle (LM Studio)
Lokale Modelle (LM Studio)
Siehe Local Models. Kurzfassung: Führen Sie ein großes lokales Modell über die LM Studio Responses API auf leistungsfähiger Hardware aus; behalten Sie gehostete Modelle zur Absicherung zusammengeführt.
Verwandt
- Configuration reference — andere Top-Level-Schlüssel
- Configuration — agents
- Configuration — channels
- Tools and plugins