Gateway
Configuratie — hulpmiddelen en aangepaste providers
tools.*-configuratiesleutels en aangepaste provider- en basis-URL-configuratie. Zie Configuratiereferentie voor agents, kanalen en andere configuratiesleutels op topniveau.
Tools
Toolprofielen
tools.profile stelt een basis-toestaanlijst in vóór tools.allow/tools.deny:
| Profiel | Bevat |
|---|---|
minimal |
Alleen 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 |
Geen beperking (hetzelfde als niet ingesteld) |
Toolgroepen
| Groep | Tools |
|---|---|
group:runtime |
exec, process, code_execution (bash wordt geaccepteerd als alias voor 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 |
Alle ingebouwde tools (exclusief providerplugins) |
tools.allow / tools.deny
Globaal toestaan/weigeren-beleid voor tools (weigeren wint). Niet hoofdlettergevoelig, ondersteunt jokertekens met *. Wordt ook toegepast wanneer de Docker-sandbox uit staat.
{
tools: { deny: ["browser", "canvas"] },
}
write en apply_patch zijn afzonderlijke tool-id's. allow: ["write"] schakelt ook apply_patch in voor compatibele modellen, maar deny: ["write"] weigert apply_patch niet. Weiger group:fs of vermeld elke muterende tool expliciet om alle bestandsmutatie te blokkeren:
{
tools: { deny: ["write", "edit", "apply_patch"] },
}
tools.byProvider
Beperk tools verder voor specifieke providers of modellen. Volgorde: basisprofiel → providerprofiel → toestaan/weigeren.
{
tools: {
profile: "coding",
byProvider: {
"google-antigravity": { profile: "minimal" },
"openai/gpt-5.4": { allow: ["group:fs", "sessions_list"] },
},
},
}
tools.elevated
Beheert verhoogde exec-toegang buiten de sandbox:
{
tools: {
elevated: {
enabled: true,
allowFrom: {
whatsapp: ["+15555550123"],
discord: ["1234567890123", "987654321098765432"],
},
},
},
}
- Override per agent (
agents.list[].tools.elevated) kan alleen verder beperken. /elevated on|off|ask|fullslaat de status per sessie op; inline-instructies gelden voor één bericht.- Verhoogde
execomzeilt sandboxing en gebruikt het geconfigureerde ontsnappingspad (standaardgateway, ofnodewanneer het exec-doelnodeis).
tools.exec
{
tools: {
exec: {
backgroundMs: 10000,
timeoutSec: 1800,
cleanupMs: 1800000,
notifyOnExit: true,
notifyOnExitEmptySuccess: false,
applyPatch: {
enabled: false,
allowModels: ["gpt-5.5"],
},
},
},
}
tools.loopDetection
Veiligheidscontroles voor tool-loops zijn standaard uitgeschakeld. Stel enabled: true in om detectie te activeren. Instellingen kunnen globaal worden gedefinieerd in tools.loopDetection en per agent worden overschreven bij agents.list[].tools.loopDetection.
{
tools: {
loopDetection: {
enabled: true,
historySize: 30,
warningThreshold: 10,
criticalThreshold: 20,
globalCircuitBreakerThreshold: 30,
detectors: {
genericRepeat: true,
knownPollNoProgress: true,
pingPong: true,
},
},
},
}
historySizenumberMaximale tool-aanroepgeschiedenis die wordt bewaard voor loopanalyse.
warningThresholdnumberDrempel voor herhalend patroon zonder voortgang voor waarschuwingen.
criticalThresholdnumberHogere herhalingsdrempel voor het blokkeren van kritieke loops.
globalCircuitBreakerThresholdnumberHarde stopdrempel voor elke run zonder voortgang.
detectors.genericRepeatbooleanWaarschuw bij herhaalde aanroepen van dezelfde tool met dezelfde argumenten.
detectors.knownPollNoProgressbooleanWaarschuw/blokkeer bij bekende pollingtools (process.poll, command_status, enz.).
detectors.pingPongbooleanWaarschuw/blokkeer bij afwisselende paarpatronen zonder voortgang.
tools.web
{
tools: {
web: {
search: {
enabled: true,
apiKey: "brave_api_key", // or BRAVE_API_KEY env
maxResults: 5,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
},
fetch: {
enabled: true,
provider: "firecrawl", // optional; omit for auto-detect
maxChars: 50000,
maxCharsCap: 50000,
maxResponseBytes: 2000000,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
maxRedirects: 3,
readability: true,
userAgent: "custom-ua",
},
},
},
}
tools.media
Configureert begrip van inkomende media (afbeelding/audio/video):
{
tools: {
media: {
concurrency: 2,
asyncCompletion: {
directSend: false, // deprecated: completions stay agent-mediated
},
audio: {
enabled: true,
maxBytes: 20971520,
scope: {
default: "deny",
rules: [{ action: "allow", match: { chatType: "direct" } }],
},
models: [
{ provider: "openai", model: "gpt-4o-mini-transcribe" },
{ type: "cli", command: "whisper", args: ["--model", "base", "{{MediaPath}}"] },
],
},
image: {
enabled: true,
timeoutSeconds: 180,
models: [{ provider: "ollama", model: "gemma4:26b", timeoutSeconds: 300 }],
},
video: {
enabled: true,
maxBytes: 52428800,
models: [{ provider: "google", model: "gemini-3-flash-preview" }],
},
},
},
}
Media model entry fields
Providervermelding (type: "provider" of weggelaten):
provider: API-provider-id (openai,anthropic,google/gemini,groq, enz.)model: model-id-overschrijvingprofile/preferredProfile: profielselectie voorauth-profiles.json
CLI-vermelding (type: "cli"):
command: uitvoerbaar bestand om uit te voerenargs: getemplate argumenten (ondersteunt{{MediaPath}},{{Prompt}},{{MaxChars}}, enz.;openclaw doctor --fixmigreert verouderde{input}-placeholders naar{{MediaPath}})
Algemene velden:
capabilities: optionele lijst (image,audio,video). Standaardwaarden:openai/anthropic/minimax→ afbeelding,google→ afbeelding+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: overschrijvingen per vermelding.tools.media.image.timeoutSecondsen overeenkomendetimeoutSeconds-vermeldingen voor afbeeldingsmodellen zijn ook van toepassing wanneer de agent de explicieteimage-tool aanroept.- Fouten vallen terug op de volgende vermelding.
Provider-authenticatie volgt de standaardvolgorde: auth-profiles.json → env-vars → models.providers.*.apiKey.
Velden voor asynchrone voltooiing:
asyncCompletion.directSend: verouderde compatibiliteitsvlag. Voltooide asynchrone mediataken blijven bemiddeld via de requester-sessie, zodat de agent het resultaat ontvangt, beslist hoe de gebruiker wordt geïnformeerd en de berichttool gebruikt wanneer bronlevering dit vereist.
tools.agentToAgent
{
tools: {
agentToAgent: {
enabled: false,
allow: ["home", "work"],
},
},
}
tools.sessions
Bepaalt welke sessies kunnen worden aangesproken door de sessietools (sessions_list, sessions_history, sessions_send).
Standaard: tree (huidige sessie + sessies die daardoor zijn gestart, zoals subagents).
{
tools: {
sessions: {
// "self" | "tree" | "agent" | "all"
visibility: "tree",
},
},
}
Visibility scopes
self: alleen de huidige sessiesleutel.tree: huidige sessie + sessies die door de huidige sessie zijn gestart (subagents).agent: elke sessie die bij de huidige agent-id hoort (kan andere gebruikers omvatten als je sessies per afzender onder dezelfde agent-id uitvoert).all: elke sessie. Cross-agent-targeting vereist nog steedstools.agentToAgent.- Sandbox-beperking: wanneer de huidige sessie in een sandbox draait en
agents.defaults.sandbox.sessionToolsVisibility="spawned", wordt zichtbaarheid geforceerd naartree, zelfs alstools.sessions.visibility="all".
tools.sessions_spawn
Beheert ondersteuning voor inline bijlagen voor sessions_spawn.
{
tools: {
sessions_spawn: {
attachments: {
enabled: false, // opt-in: set true to allow inline file attachments
maxTotalBytes: 5242880, // 5 MB total across all files
maxFiles: 50,
maxFileBytes: 1048576, // 1 MB per file
retainOnSessionKeep: false, // keep attachments when cleanup="keep"
},
},
},
}
Opmerkingen bij bijlagen
- Bijlagen worden alleen ondersteund voor
runtime: "subagent". ACP runtime weigert ze. - Bestanden worden gematerialiseerd in de onderliggende werkruimte op
.openclaw/attachments/<uuid>/met een.manifest.json. - Bijlage-inhoud wordt automatisch geredigeerd uit transcriptpersistentie.
- Base64-invoer wordt gevalideerd met strikte controles op alfabet/opvulling en een groottecontrole vóór decodering.
- Bestandsrechten zijn
0700voor mappen en0600voor bestanden. - Opschonen volgt het
cleanup-beleid:deleteverwijdert bijlagen altijd;keepbewaart ze alleen wanneerretainOnSessionKeep: true.
tools.experimental
Experimentele ingebouwde toolvlaggen. Standaard uit, tenzij een strikte agentische GPT-5-regel voor automatisch inschakelen van toepassing is.
{
tools: {
experimental: {
planTool: true, // enable experimental update_plan
},
},
}
planTool: schakelt de gestructureerdeupdate_plan-tool in voor niet-triviale tracking van werk met meerdere stappen.- Standaard:
false, tenzijagents.defaults.embeddedPi.executionContract(of een override per agent) is ingesteld op"strict-agentic"voor een OpenAI- of OpenAI Codex GPT-5-familierun. Steltruein om de tool buiten dat bereik geforceerd in te schakelen, offalseom hem zelfs voor strikte agentische GPT-5-runs uitgeschakeld te houden. - Wanneer ingeschakeld, voegt de systeemprompt ook gebruiksrichtlijnen toe zodat het model de tool alleen voor substantieel werk gebruikt en maximaal één stap
in_progresshoudt.
agents.defaults.subagents
{
agents: {
defaults: {
subagents: {
allowAgents: ["research"],
model: "minimax/MiniMax-M2.7",
maxConcurrent: 8,
runTimeoutSeconds: 900,
archiveAfterMinutes: 60,
},
},
},
}
model: standaardmodel voor gestarte subagenten. Indien weggelaten, erven subagenten het model van de aanroeper.allowAgents: standaard allowlist van doelagent-id's voorsessions_spawnwanneer de aanvragende agent geen eigensubagents.allowAgentsinstelt (["*"]= elke; standaard: alleen dezelfde agent).runTimeoutSeconds: standaardtimeout (seconden) voorsessions_spawnwanneer de toolaanroeprunTimeoutSecondsweglaat.0betekent geen timeout.- Toolbeleid per subagent:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Aangepaste providers en basis-URL's
OpenClaw gebruikt de ingebouwde modelcatalogus. Voeg aangepaste providers toe via models.providers in de configuratie of ~/.openclaw/agents/<agentId>/agent/models.json.
{
models: {
mode: "merge", // merge (default) | replace
providers: {
"custom-proxy": {
baseUrl: "http://localhost:4000/v1",
apiKey: "LITELLM_KEY",
api: "openai-completions", // openai-completions | openai-responses | anthropic-messages | google-generative-ai
models: [
{
id: "llama-3.1-8b",
name: "Llama 3.1 8B",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 128000,
contextTokens: 96000,
maxTokens: 32000,
},
],
},
},
},
}
Auth en samenvoegingsprioriteit
- Gebruik
authHeader: true+headersvoor aangepaste auth-behoeften. - Override de agentconfiguratieroot met
OPENCLAW_AGENT_DIR(ofPI_CODING_AGENT_DIR, een alias voor een verouderde omgevingsvariabele). - Samenvoegingsprioriteit voor overeenkomende provider-ID's:
- Niet-lege agentwaarden voor
models.jsonbaseUrlwinnen. - Niet-lege agentwaarden voor
apiKeywinnen alleen wanneer die provider niet door SecretRef wordt beheerd in de huidige configuratie-/auth-profielcontext. - Door SecretRef beheerde providerwaarden voor
apiKeyworden vernieuwd vanuit bronmarkers (ENV_VAR_NAMEvoor env-verwijzingen,secretref-managedvoor bestands-/exec-verwijzingen) in plaats van opgeloste geheimen persistent op te slaan. - Door SecretRef beheerde providerheaderwaarden worden vernieuwd vanuit bronmarkers (
secretref-env:ENV_VAR_NAMEvoor env-verwijzingen,secretref-managedvoor bestands-/exec-verwijzingen). - Lege of ontbrekende agentwaarden voor
apiKey/baseUrlvallen terug opmodels.providersin de configuratie. - Overeenkomende modelwaarden voor
contextWindow/maxTokensgebruiken de hogere waarde van expliciete configuratie en impliciete cataloguswaarden. - Overeenkomende modelwaarden voor
contextTokensbehouden een expliciete runtimelimiet wanneer aanwezig; gebruik dit om de effectieve context te beperken zonder native modelmetadata te wijzigen. - Gebruik
models.mode: "replace"wanneer je wilt dat de configuratiemodels.jsonvolledig herschrijft. - Markerpersistentie is bronauthoritatief: markers worden geschreven vanuit de actieve bronconfiguratiesnapshot (vóór oplossing), niet vanuit opgeloste runtimegeheimwaarden.
- Niet-lege agentwaarden voor
Details van providervelden
Catalogus op het hoogste niveau
models.mode: gedrag van de providercatalogus (mergeofreplace).models.providers: aangepaste providermap met provider-id als sleutel.- Veilige bewerkingen: gebruik
openclaw config set models.providers.<id> '<json>' --strict-json --mergeofopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergevoor additieve updates.config setweigert destructieve vervangingen tenzij je--replacedoorgeeft.
- Veilige bewerkingen: gebruik
Providerverbinding en auth
models.providers.*.api: requestadapter (openai-completions,openai-responses,anthropic-messages,google-generative-ai, enz.). Gebruik voor zelfgehoste/v1/chat/completions-backends zoals MLX, vLLM, SGLang en de meeste OpenAI-compatibele lokale serversopenai-completions. Een aangepaste provider metbaseUrlmaar zonderapigebruikt standaardopenai-completions; stelopenai-responsesalleen in wanneer de backend/v1/responsesondersteunt.models.providers.*.apiKey: providerreferentie (geef de voorkeur aan SecretRef-/env-substitutie).models.providers.*.auth: auth-strategie (api-key,token,oauth,aws-sdk).models.providers.*.contextWindow: standaard native contextvenster voor modellen onder deze provider wanneer de modelvermeldingcontextWindowniet instelt.models.providers.*.contextTokens: standaard effectieve runtimecontextlimiet voor modellen onder deze provider wanneer de modelvermeldingcontextTokensniet instelt.models.providers.*.maxTokens: standaardlimiet voor uitvoertokens voor modellen onder deze provider wanneer de modelvermeldingmaxTokensniet instelt.models.providers.*.timeoutSeconds: optionele HTTP-requesttimeout per provider voor modellen in seconden, inclusief afhandeling van verbinding, headers, body en totale requestafbreking.models.providers.*.injectNumCtxForOpenAICompat: injecteer voor Ollama +openai-completionsoptions.num_ctxin requests (standaard:true).models.providers.*.authHeader: forceer transport van referenties in deAuthorization-header wanneer vereist.models.providers.*.baseUrl: basis-URL van de upstream-API.models.providers.*.headers: extra statische headers voor proxy-/tenantroutering.
Overrides voor requesttransport
models.providers.*.request: transportoverrides voor HTTP-requests van modelproviders.
request.headers: extra headers (samengevoegd met providerstandaarden). Waarden accepteren SecretRef.request.auth: override voor auth-strategie. Modi:"provider-default"(gebruik de ingebouwde auth van de provider),"authorization-bearer"(mettoken),"header"(metheaderName,value, optioneelprefix).request.proxy: HTTP-proxy-override. Modi:"env-proxy"(gebruik de env-varsHTTP_PROXY/HTTPS_PROXY),"explicit-proxy"(meturl). Beide modi accepteren een optioneeltls-subobject.request.tls: TLS-override voor directe verbindingen. Velden:ca,cert,key,passphrase(allemaal accepteren SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: sta, wanneertrue, HTTPS naarbaseUrltoe wanneer DNS wordt opgelost naar private, CGNAT- of vergelijkbare bereiken, via de HTTP-fetchguard van de provider (operator-opt-in voor vertrouwde zelfgehoste OpenAI-compatibele endpoints). Stream-URL's van modelproviders via local loopback, zoalslocalhost,127.0.0.1en[::1], worden automatisch toegestaan tenzij dit expliciet opfalseis ingesteld; LAN-, tailnet- en private DNS-hosts vereisen nog steeds opt-in. WebSocket gebruikt dezelfderequestvoor headers/TLS, maar niet die fetch-SSRF-gate. Standaardfalse.
Modelcatalogusvermeldingen
models.providers.*.models: expliciete modelcatalogusvermeldingen van de provider.models.providers.*.models.*.input: invoermodaliteiten van het model. Gebruik["text"]voor modellen met alleen tekst en["text", "image"]voor native image-/vision-modellen. Afbeeldingsbijlagen worden alleen in agentbeurten geïnjecteerd wanneer het geselecteerde model als image-capable is gemarkeerd.models.providers.*.models.*.contextWindow: native metadata voor het contextvenster van het model. Dit overschrijftcontextWindowop providerniveau voor dat model.models.providers.*.models.*.contextTokens: optionele runtimecontextlimiet. Dit overschrijftcontextTokensop providerniveau; gebruik dit wanneer je een kleiner effectief contextbudget wilt dan het nativecontextWindowvan het model;openclaw models listtoont beide waarden wanneer ze verschillen.models.providers.*.models.*.compat.supportsDeveloperRole: optionele compatibiliteitshint. Voorapi: "openai-completions"met een niet-lege niet-nativebaseUrl(host nietapi.openai.com) forceert OpenClaw dit tijdens runtime naarfalse. Een lege/weggelatenbaseUrlbehoudt het standaardgedrag van OpenAI.models.providers.*.models.*.compat.requiresStringContent: optionele compatibiliteitshint voor OpenAI-compatibele chatendpoints met alleen strings. Wanneertrue, maakt OpenClaw pure tekst-messages[].content-arrays plat naar gewone strings voordat het request wordt verzonden.
Amazon Bedrock-detectie
plugins.entries.amazon-bedrock.config.discovery: root voor instellingen voor automatische Bedrock-detectie.plugins.entries.amazon-bedrock.config.discovery.enabled: schakel impliciete detectie in/uit.plugins.entries.amazon-bedrock.config.discovery.region: AWS-regio voor detectie.plugins.entries.amazon-bedrock.config.discovery.providerFilter: optioneel provider-id-filter voor gerichte detectie.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: pollinginterval voor detectievernieuwing.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: fallback-contextvenster voor gedetecteerde modellen.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: fallback voor maximaal aantal uitvoertokens voor gedetecteerde modellen.
Interactieve onboarding van aangepaste providers leidt afbeeldingsinvoer af voor veelvoorkomende vision-model-ID's zoals GPT-4o, Claude, Gemini, Qwen-VL, LLaVA, Pixtral, InternVL, Mllama, MiniCPM-V en GLM-4V, en slaat de extra vraag over voor bekende families met alleen tekst. Onbekende model-ID's vragen nog steeds om ondersteuning voor afbeeldingen. Niet-interactieve onboarding gebruikt dezelfde afleiding; geef --custom-image-input door om image-capable metadata te forceren of --custom-text-input om metadata met alleen tekst te forceren.
Providervoorbeelden
Cerebras (GLM 4.7 / GPT OSS)
De gebundelde provider-Plugin cerebras kan dit configureren via openclaw onboard --auth-choice cerebras-api-key. Gebruik expliciete providerconfiguratie alleen wanneer je standaardwaarden overschrijft.
{
env: { CEREBRAS_API_KEY: "sk-..." },
agents: {
defaults: {
model: {
primary: "cerebras/zai-glm-4.7",
fallbacks: ["cerebras/gpt-oss-120b"],
},
models: {
"cerebras/zai-glm-4.7": { alias: "GLM 4.7 (Cerebras)" },
"cerebras/gpt-oss-120b": { alias: "GPT OSS 120B (Cerebras)" },
},
},
},
models: {
mode: "merge",
providers: {
cerebras: {
baseUrl: "https://api.cerebras.ai/v1",
apiKey: "${CEREBRAS_API_KEY}",
api: "openai-completions",
models: [
{ id: "zai-glm-4.7", name: "GLM 4.7 (Cerebras)" },
{ id: "gpt-oss-120b", name: "GPT OSS 120B (Cerebras)" },
],
},
},
},
}
Gebruik cerebras/zai-glm-4.7 voor Cerebras; zai/glm-4.7 voor directe Z.AI.
Kimi Coding
{
env: { KIMI_API_KEY: "sk-..." },
agents: {
defaults: {
model: { primary: "kimi/kimi-code" },
models: { "kimi/kimi-code": { alias: "Kimi Code" } },
},
},
}
Anthropic-compatibele, ingebouwde provider. Snelkoppeling: openclaw onboard --auth-choice kimi-code-api-key.
Lokale modellen (LM Studio)
Zie Lokale modellen. TL;DR: voer een groot lokaal model uit via de LM Studio Responses API op krachtige hardware; houd gehoste modellen samengevoegd als fallback.
MiniMax M2.7 (direct)
{
agents: {
defaults: {
model: { primary: "minimax/MiniMax-M2.7" },
models: {
"minimax/MiniMax-M2.7": { alias: "Minimax" },
},
},
},
models: {
mode: "merge",
providers: {
minimax: {
baseUrl: "https://api.minimax.io/anthropic",
apiKey: "${MINIMAX_API_KEY}",
api: "anthropic-messages",
models: [
{
id: "MiniMax-M2.7",
name: "MiniMax M2.7",
reasoning: true,
input: ["text"],
cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
contextWindow: 204800,
maxTokens: 131072,
},
],
},
},
},
}
Stel MINIMAX_API_KEY in. Snelkoppelingen: openclaw onboard --auth-choice minimax-global-api of openclaw onboard --auth-choice minimax-cn-api. De modelcatalogus gebruikt standaard alleen M2.7. Op het Anthropic-compatibele streamingpad schakelt OpenClaw MiniMax-denken standaard uit, tenzij je thinking expliciet zelf instelt. /fast on of params.fastMode: true herschrijft MiniMax-M2.7 naar MiniMax-M2.7-highspeed.
Moonshot AI (Kimi)
{
env: { MOONSHOT_API_KEY: "sk-..." },
agents: {
defaults: {
model: { primary: "moonshot/kimi-k2.6" },
models: { "moonshot/kimi-k2.6": { alias: "Kimi K2.6" } },
},
},
models: {
mode: "merge",
providers: {
moonshot: {
baseUrl: "https://api.moonshot.ai/v1",
apiKey: "${MOONSHOT_API_KEY}",
api: "openai-completions",
models: [
{
id: "kimi-k2.6",
name: "Kimi K2.6",
reasoning: false,
input: ["text", "image"],
cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
contextWindow: 262144,
maxTokens: 262144,
},
],
},
},
},
}
Voor het China-eindpunt: baseUrl: "https://api.moonshot.cn/v1" of openclaw onboard --auth-choice moonshot-api-key-cn.
Native Moonshot-eindpunten adverteren compatibiliteit met streaminggebruik op het gedeelde openai-completions-transport, en OpenClaw baseert dat op eindpuntmogelijkheden in plaats van alleen op de ingebouwde provider-id.
OpenCode
{
agents: {
defaults: {
model: { primary: "opencode/claude-opus-4-6" },
models: { "opencode/claude-opus-4-6": { alias: "Opus" } },
},
},
}
Stel OPENCODE_API_KEY (of OPENCODE_ZEN_API_KEY) in. Gebruik opencode/...-refs voor de Zen-catalogus of opencode-go/...-refs voor de Go-catalogus. Snelkoppeling: openclaw onboard --auth-choice opencode-zen of openclaw onboard --auth-choice opencode-go.
Synthetic (Anthropic-compatibel)
{
env: { SYNTHETIC_API_KEY: "sk-..." },
agents: {
defaults: {
model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" },
models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.5": { alias: "MiniMax M2.5" } },
},
},
models: {
mode: "merge",
providers: {
synthetic: {
baseUrl: "https://api.synthetic.new/anthropic",
apiKey: "${SYNTHETIC_API_KEY}",
api: "anthropic-messages",
models: [
{
id: "hf:MiniMaxAI/MiniMax-M2.5",
name: "MiniMax M2.5",
reasoning: true,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 192000,
maxTokens: 65536,
},
],
},
},
},
}
Basis-URL moet /v1 weglaten (de Anthropic-client voegt dit toe). Snelkoppeling: openclaw onboard --auth-choice synthetic-api-key.
Z.AI (GLM-4.7)
{
agents: {
defaults: {
model: { primary: "zai/glm-4.7" },
models: { "zai/glm-4.7": {} },
},
},
}
Stel ZAI_API_KEY in. z.ai/* en z-ai/* worden geaccepteerd als aliassen. Snelkoppeling: openclaw onboard --auth-choice zai-api-key.
- Algemeen eindpunt:
https://api.z.ai/api/paas/v4 - Coding-eindpunt (standaard):
https://api.z.ai/api/coding/paas/v4 - Definieer voor het algemene eindpunt een aangepaste provider met de basis-URL-override.
Gerelateerd
- Configuratie — agents
- Configuratie — channels
- Configuratiereferentie — andere sleutels op topniveau
- Tools en plugins