配置 — 工具和自定义提供商
tools.* 配置键以及自定义提供商 / 基础 URL 设置。有关代理、通道和其他顶级配置键,请参阅配置参考。
工具配置文件
Section titled “工具配置文件”tools.profile 在 tools.allow/tools.deny 之前设置了一个基本允许列表:
| 配置文件 | 包括 |
|---|---|
minimal | 仅 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 | 无限制(与未设置相同) |
| 组 | 工具 |
|---|---|
group:runtime | exec、process、code_execution(bash 被接受为 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 | 所有内置工具(不包括提供商插件) |
tools.allow / tools.deny
Section titled “tools.allow / tools.deny”全局工具允许/拒绝策略(拒绝优先)。不区分大小写,支持 * 通配符。即使关闭 Docker 沙箱也会应用。
{ tools: { deny: ["browser", "canvas"] },}write 和 apply_patch 是单独的工具 ID。allow: ["write"] 也会为兼容的模型启用 apply_patch,但 deny: ["write"] 并不会拒绝 apply_patch。若要阻止所有文件变更,请拒绝 group:fs 或明确列出每个会变更文件的工具:
{ tools: { deny: ["write", "edit", "apply_patch"] },}tools.byProvider
Section titled “tools.byProvider”针对特定提供商或模型进一步限制工具。顺序:基础配置文件 → 提供商配置文件 → 允许/拒绝。
{ tools: { profile: "coding", byProvider: { "google-antigravity": { profile: "minimal" }, "openai/gpt-5.4": { allow: ["group:fs", "sessions_list"] }, }, },}tools.toolsBySender
Section titled “tools.toolsBySender”限制特定请求者身份的工具。这是在渠道访问控制之上的纵深防御;发送者值必须来自渠道适配器,而不是消息文本。
{ tools: { toolsBySender: { "channel:discord:1234567890123": { alsoAllow: ["group:fs"] }, "id:guest-user-id": { deny: ["group:runtime", "group:fs"] }, "*": { deny: ["exec", "process", "write", "edit", "apply_patch"] }, }, },}键使用显式前缀:channel:<channelId>:<senderId>、id:<senderId>、e164:<phone>、username:<handle>、name:<displayName> 或 "*"。渠道 ID 是标准的 OpenClaw ID;诸如 teams 之类的别名会规范化为 msteams。旧式的无前缀键仅作为 id: 被接受。匹配顺序依次为 渠道+id、id、e164、username、name,最后是通配符。
当 agents.list[].tools.toolsBySender 匹配时,即使 {} 策略为空,每个代理的 agents.list[].tools.toolsBySender 也会覆盖全局发送者匹配。
tools.elevated
Section titled “tools.elevated”控制沙箱之外的提升执行访问权限:
{ tools: { elevated: { enabled: true, allowFrom: { whatsapp: ["+15555550123"], discord: ["1234567890123", "987654321098765432"], }, }, },}- 每个代理的覆盖 (
agents.list[].tools.elevated) 只能进一步限制权限。 /elevated on|off|ask|full按会话存储状态;内联指令适用于单条消息。- 提升
exec会绕过沙箱隔离并使用配置的转义路径(默认为gateway,当 exec 目标为node时则为node)。
tools.exec
Section titled “tools.exec”{ tools: { exec: { backgroundMs: 10000, timeoutSec: 1800, cleanupMs: 1800000, notifyOnExit: true, notifyOnExitEmptySuccess: false, commandHighlighting: false, applyPatch: { enabled: false, allowModels: ["gpt-5.5"], }, }, },}tools.loopDetection
Section titled “tools.loopDetection”工具循环安全检查默认为禁用。设置 enabled: true 以激活检测。设置可以在 tools.loopDetection 中全局定义,并可以在 agents.list[].tools.loopDetection 中按代理覆盖。
{ tools: { loopDetection: { enabled: true, historySize: 30, warningThreshold: 10, criticalThreshold: 20, globalCircuitBreakerThreshold: 30, detectors: { genericRepeat: true, knownPollNoProgress: true, pingPong: true, }, }, },}tools.web
Section titled “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
Section titled “tools.media”配置入站媒体理解(图像/音频/视频):
{ 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" }], }, }, },}媒体模型条目字段
提供商条目(type: "provider" 或省略):
providerAPI:API 提供商 id(openai、anthropic、google/gemini、groq等)model:模型 id 覆盖profile/preferredProfile:auth-profiles.jsonCLI 配置文件选择
CLI 条目(type: "cli"):
command:要运行的可执行文件args:模板化参数(支持{{MediaPath}}、{{Prompt}}、{{MaxChars}}等;openclaw doctor --fix会将已弃用的{input}占位符迁移到{{MediaPath}})
通用字段:
capabilities:可选列表(image、audio、video)。默认值:openai/anthropic/minimax→ 图像,google→ 图像+音频+视频,groq→ 音频。prompt、maxChars、maxBytes、timeoutSeconds、language:按条目覆盖。tools.media.image.timeoutSeconds和匹配的图像模型timeoutSeconds条目也在代理调用显式image工具时应用。- 失败时会回退到下一个条目。
提供商身份验证遵循标准顺序:auth-profiles.json → 环境变量 → models.providers.*.apiKey。
异步完成字段:
asyncCompletion.directSend:已弃用的兼容性标志。已完成的异步媒体任务保持请求者会话中介,以便代理接收结果,决定如何告知用户,并在需要源传递时使用消息工具。
tools.agentToAgent
Section titled “tools.agentToAgent”{ tools: { agentToAgent: { enabled: false, allow: ["home", "work"], }, },}tools.sessions
Section titled “tools.sessions”控制哪些会话可以成为会话工具(sessions_list、sessions_history、sessions_send)的目标。
默认值:tree(当前会话 + 由其产生的会话,例如子代理)。
{ tools: { sessions: { // "self" | "tree" | "agent" | "all" visibility: "tree", }, },}可见性范围
self:仅当前会话密钥。tree:当前会话 + 由当前会话生成的会话(子代理)。agent:属于当前代理 ID 的任何会话(如果您在同一代理 ID 下运行每个发送者的会话,则可能包含其他用户)。all:任何会话。跨代理定位仍然需要tools.agentToAgent。- 沙箱限制:当当前会话处于沙箱隔离且
agents.defaults.sandbox.sessionToolsVisibility="spawned"时,即使tools.sessions.visibility="all",可见性也会被强制为tree。
tools.sessions_spawn
Section titled “tools.sessions_spawn”控制 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" }, }, },}附件说明
- 附件仅支持
runtime: "subagent"。ACP 运行时会拒绝它们。 - 文件在 `.openclaw/attachments/
/处被具体化到子工作空间,并带有.manifest.json。 - 附件内容会从对话记录持久化中自动编辑。 - Base64 输入将通过严格的字母表/填充检查和解码前大小保护进行验证。 - 文件权限对于目录为 0700,对于文件为 0600。 - 清理遵循 cleanup 策略:delete 始终删除附件;keep仅在retainOnSessionKeep: true` 时保留它们。
tools.experimental
Section titled “tools.experimental”实验性内置工具标志。除非应用了严格的代理型 GPT-5 自动启用规则,否则默认关闭。
{ tools: { experimental: { planTool: true, // enable experimental update_plan }, },}planTool:为非平凡的多步骤工作跟踪启用结构化update_plan工具。- 默认值:
false,除非针对 OpenAI 或 OpenAI Codex GPT-5 系列运行将agents.defaults.embeddedPi.executionContract(或特定代理的覆盖设置)设置为"strict-agentic"。将true设置为在此范围之外强制启用该工具,或将false设置为即使在严格代理 GPT-5 运行中也保持其关闭状态。 - 启用后,系统提示词还会添加使用指南,以便模型仅将其用于实质性工作,并保持最多一个步骤
in_progress。
agents.defaults.subagents
Section titled “agents.defaults.subagents”{ agents: { defaults: { subagents: { allowAgents: ["research"], model: "minimax/MiniMax-M2.7", maxConcurrent: 8, runTimeoutSeconds: 900, announceTimeoutMs: 120000, archiveAfterMinutes: 60, }, }, },}model:生成的子代理的默认模型。如果省略,子代理将继承调用者的模型。allowAgents:当请求代理未设置其自己的subagents.allowAgents时,sessions_spawn的默认目标代理 ID 允许列表(["*"]= 任何已配置的目标;默认值:仅限同一代理)。runTimeoutSeconds:当工具调用省略runTimeoutSeconds时,sessions_spawn的默认超时时间(秒)。0表示无超时。announceTimeoutMs:网关agent公告传递尝试的每次调用超时(毫秒)。默认值:120000。临时重试可能会导致总公告等待时间长于配置的一次超时。- 每个子智能体工具策略:
tools.subagents.tools.allow/tools.subagents.tools.deny。
自定义提供商和基础 URL
Section titled “自定义提供商和基础 URL”OpenClaw 使用内置模型目录。可以通过 config 中的 OpenClawmodels.providers 或 ~/.openclaw/agents/<agentId>/agent/models.json 添加自定义提供商。
配置自定义/本地提供商 baseUrlOpenClaw 也是对模型 HTTP 请求的严格网络信任决策:OpenClaw 允许该确切的 scheme://host:port 源通过受保护的获取路径,而无需添加单独的配置选项或信任其他私有源。
{ 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 and merge precedence
- 使用
authHeader: true+headers满足自定义身份验证需求。 - 使用
OPENCLAW_AGENT_DIR(或PI_CODING_AGENT_DIR,一个旧版环境变量别名)覆盖 agent 配置根。 - 匹配的提供商 ID 的合并优先级:
- 非空的 agent
models.jsonbaseUrl值优先。 - 非空的 agent
apiKey值仅在该提供商在当前配置/auth-profile 上下文中未由 SecretRef 管理时才优先。 - SecretRef 管理的提供商
apiKey值从源标记刷新(环境引用为ENV_VAR_NAME,文件/exec 引用为secretref-managed),而不是持久化已解析的密钥。 - SecretRef 管理的提供商标头值从源标记刷新(环境引用为
secretref-env:ENV_VAR_NAME,文件/exec 引用为secretref-managed)。 - 空或缺失的 agent
apiKey/baseUrl回退到配置中的models.providers。 - 匹配的模型
contextWindow/maxTokens使用显式配置和隐式目录值中的较高值。 - 匹配的模型
contextTokens在存在时保留显式的运行时上限;使用它来限制有效上下文而不更改原生模型元数据。 - 当您希望配置完全重写
models.json时,请使用models.mode: "replace"。 - 标记持久化以源为权威:标记是从活动源配置快照(解析前)写入的,而不是从解析的运行时密钥值写入。
- 非空的 agent
Provider 字段详细信息
Section titled “Provider 字段详细信息”顶级目录
models.mode: 提供商目录行为 (merge或replace)。models.providers: 按提供商 ID 键入的自定义提供商映射。- 安全编辑:使用 `openclaw config set models.providers.
’
’ —strict-json —merge或openclaw config set models.providers.
.models ’
’ —strict-json —merge 进行增量更新。config set拒绝破坏性替换,除非您传递—replace`。
Provider connection and auth
models.providers.*.api: 请求适配器(openai-completions、openai-responses、anthropic-messages、google-generative-ai等)。对于 MLX、vLLM、SGLang 以及大多数与 OpenAI 兼容的本地自托管/v1/chat/completions后端,请使用openai-completions。具有baseUrl但没有api的自定义提供商默认为openai-completions;仅当后端支持/v1/responses时才设置openai-responses。models.providers.*.apiKey: 提供商凭证(优先使用 SecretRef/环境变量替换)。models.providers.*.auth: 认证策略(api-key、token、oauth、aws-sdk)。models.providers.*.contextWindow: 当模型条目未设置contextWindow时,该提供商下模型的原生上下文窗口默认值。models.providers.*.contextTokens: 当模型条目未设置contextTokens时,该提供商下模型的有效运行时上下文上限默认值。models.providers.*.maxTokens: 当模型条目未设置maxTokens时,该提供商下模型的输出令牌上限默认值。models.providers.*.timeoutSeconds: 可选的针对每个提供商模型的 HTTP 请求超时时间(秒),包括连接、标头、正文和总请求中止处理。models.providers.*.injectNumCtxForOpenAICompat: 对于 Ollama +openai-completions,将options.num_ctx注入请求中(默认:true)。models.providers.*.authHeader: 在需要时强制在Authorization标头中传输凭证。models.providers.*.baseUrl: 上游 API 基础 URL。models.providers.*.headers: 用于代理/租户路由的额外静态标头。
请求传输覆盖
models.providers.*.request: 模型提供商 HTTP 请求的传输覆盖配置。
request.headers: 额外的请求头(与提供商默认值合并)。值接受 SecretRef。request.auth: 认证策略覆盖。模式:"provider-default"(使用提供商内置的认证),"authorization-bearer"(使用token),"header"(使用headerName、value,可选的prefix)。request.proxy: HTTP 代理覆盖。模式:"env-proxy"(使用HTTP_PROXY/HTTPS_PROXY环境变量),"explicit-proxy"(使用url)。两种模式都接受可选的tls子对象。request.tls: 直接连接的 TLS 覆盖。字段:ca、cert、key、passphrase(均接受 SecretRef),serverName,insecureSkipVerify。request.allowPrivateNetwork: 当设为true时,允许通过提供商 HTTP 获取守卫向私有 IP、CGNAT 或类似范围发起模型提供商 HTTP 请求。自定义/本地提供商基础 URL 已信任确切配置的源,但元数据/链路本地源除外,除非明确选择加入,否则它们仍将被阻止。将其设置为false以退出精确源信任。WebSocket 对请求头/TLS 使用相同的request,但不使用该获取 SSRF 守卫。默认值为false。
模型目录条目
models.providers.*.models:显式的提供商模型目录条目。models.providers.*.models.*.input:模型输入模态。对于纯文本模型使用["text"],对于原生图像/视觉模型使用["text", "image"]。仅当选定的模型被标记为具备图像能力时,图像附件才会被注入到代理轮次中。models.providers.*.models.*.contextWindow:原生模型上下文窗口元数据。这将覆盖该模型提供商级别的contextWindow。models.providers.*.models.*.contextTokens:可选的运行时上下文上限。这将覆盖提供商级别的contextTokens;当您想要比模型原生contextWindow更小的有效上下文预算时使用它;当这两个值不同时,openclaw models list会显示这两个值。models.providers.*.models.*.compat.supportsDeveloperRole:可选的兼容性提示。对于具有非空非原生baseUrl(主机不是api.openai.com)的api: "openai-completions",OpenClaw 会在运行时将其强制设置为false。空/省略的baseUrl将保持默认的 OpenAI 行为。models.providers.*.models.*.compat.requiresStringContent:仅限字符串的 OpenAI 兼容聊天端点的可选兼容性提示。当true时,OpenClaw 会在发送请求之前将纯文本messages[].content数组扁平化为纯字符串。models.providers.*.models.*.compat.strictMessageKeys:严格 OpenAI 兼容聊天端点的可选兼容性提示。当true时,OpenClaw 会在发送请求之前将传出的聊天补全消息对象剥离为仅role和content。models.providers.*.models.*.compat.thinkingFormat:可选的思考负载提示。对于 Together 风格的reasoning.enabled使用"together",对于顶级enable_thinking使用"qwen",或者对于支持请求级聊天模板 kwargs(如 vLLM)的 Qwen 系列 OpenAI 兼容服务器上的chat_template_kwargs.enable_thinking使用"qwen-chat-template"。
Amazon BedrockAmazon Bedrock 发现
plugins.entries.amazon-bedrock.config.discovery: Bedrock 自动发现设置的根节点。plugins.entries.amazon-bedrock.config.discovery.enabled: 开启或关闭隐式发现。plugins.entries.amazon-bedrock.config.discovery.region: 用于发现的 AWS 区域。plugins.entries.amazon-bedrock.config.discovery.providerFilter: 用于定向发现的可选 提供商-id 过滤器。plugins.entries.amazon-bedrock.config.discovery.refreshInterval: 发现刷新的轮询间隔。plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: 已发现模型的回退上下文窗口。plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: 已发现模型的回退最大输出 token 数。
交互式自定义提供商引导会推断常见视觉模型 ID(如 GPT-4o、Claude、Gemini、Qwen-VL、LLaVA、Pixtral、InternVL、Mllama、MiniCPM-V 和 GLM-4V)的图像输入,并跳过已知纯文本家族的额外问题。未知的模型 ID 仍会提示图像支持。非交互式引导使用相同的推断;传递 QwenGLM--custom-image-input 以强制支持图像的元数据,或传递 --custom-text-input 以强制纯文本元数据。
GLMCerebras (GLM 4.7 / GPT OSS)
内置的 cerebras 提供商插件可以通过 openclaw onboard --auth-choice cerebras-api-key 配置此项。仅在覆盖默认设置时才使用显式提供商配置。
{ 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)" }, ], }, }, },}对 Cerebras 使用 cerebras/zai-glm-4.7;对 Z.AI 直连使用 zai/glm-4.7。
Kimi Coding
{ env: { KIMI_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "kimi/kimi-for-coding" }, models: { "kimi/kimi-for-coding": { alias: "Kimi Code" } }, }, },}```Anthropic
兼容 Anthropic 的内置提供商。快捷方式:`openclaw onboard --auth-choice kimi-code-api-key`。Local models (LM Studio)
请参阅 Local Models。TL;DR:在性能强劲的硬件上通过 LM Studio Responses API 运行大型本地模型;保留托管的模型以进行合并回退。
MiniMaxMiniMax 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, }, ], }, }, },}设置 MINIMAX_API_KEY。快捷方式:openclaw onboard --auth-choice minimax-global-api 或 openclaw onboard --auth-choice minimax-cn-apiAnthropicOpenClawMiniMax。模型目录默认仅包含 M2.7。在 Anthropic 兼容的流式传输路径上,除非您显式自行设置 thinking,否则 OpenClaw 默认禁用 MiniMax 思考功能。/fast on 或 params.fastMode: true 会将 MiniMax-M2.7 重写为 MiniMax-M2.7-highspeed。
MoonshotMoonshot 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, }, ], }, }, },}对于中国区端点:baseUrl: "https://api.moonshot.cn/v1" 或 openclaw onboard --auth-choice moonshot-api-key-cnMoonshot。
原生 Moonshot 端点在共享的 openai-completionsOpenClaw 传输上声明流式传输使用兼容性,并且 OpenClaw 键依据端点功能而非仅依据内置提供商 ID。
OpenCode
{ agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" }, models: { "opencode/claude-opus-4-6": { alias: "Opus" } }, }, },}设置 OPENCODE_API_KEY (或 OPENCODE_ZEN_API_KEY)。对于 Zen 目录使用 opencode/... 引用,或对于 Go 目录使用 opencode-go/... 引用。快捷方式:openclaw onboard --auth-choice opencode-zen 或 openclaw onboard --auth-choice opencode-go。
AnthropicSynthetic (Anthropic-compatible)
{ 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, }, ], }, }, },}基础 URL 应省略 /v1Anthropic (Anthropic 客户端会将其附加)。快捷方式:openclaw onboard --auth-choice synthetic-api-key。
GLMZ.AI (GLM-4.7)
{ agents: { defaults: { model: { primary: "zai/glm-4.7" }, models: { "zai/glm-4.7": {} }, }, },}设置 ZAI_API_KEY。z.ai/* 和 z-ai/* 是接受的别名。快捷方式:openclaw onboard --auth-choice zai-api-key。
- 通用端点:
https://api.z.ai/api/paas/v4 - 编码端点(默认):
https://api.z.ai/api/coding/paas/v4 - 对于通用端点,请使用基础 URL 覆盖定义自定义提供商。