tools.* 配置键以及自定义提供商 / 基础 URL 设置。关于智能体、渠道和其他顶层配置键,请参见配置参考。
工具
工具配置档案
tools.profile 会在 tools.allow / tools.deny 之前设置一个基础允许列表:
本地新手引导在未设置时,默认会将新的本地配置设为
tools.profile: "coding"(现有的显式配置档案会被保留)。| 配置档案 | 包含内容 |
|---|---|
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 | cron、gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list |
group:media | image、image_generate、video_generate、tts |
group:openclaw | 所有内置工具(不包括 provider 插件) |
tools.allow / tools.deny
全局工具允许 / 拒绝策略(拒绝优先)。不区分大小写,支持 * 通配符。即使 Docker 沙箱关闭时也会生效。
tools.byProvider
进一步针对特定提供商或模型限制工具。顺序为:基础配置档案 → 提供商配置档案 → allow / deny。
tools.elevated
控制沙箱外的提升权限 exec 访问:
- 每个智能体的覆盖项(
agents.list[].tools.elevated)只能进一步收紧限制。 /elevated on|off|ask|full会按会话存储状态;内联指令仅作用于单条消息。- 提权
exec会绕过沙箱隔离,并使用已配置的逃逸路径(默认是gateway,当 exec 目标为node时则为node)。
tools.exec
tools.loopDetection
工具循环安全检查默认关闭。设置 enabled: true 以启用检测。设置可以在全局 tools.loopDetection 中定义,并在每个智能体的 agents.list[].tools.loopDetection 中覆盖。
为循环分析保留的最大工具调用历史记录数。
用于发出警告的重复无进展模式阈值。
用于阻止严重循环的更高重复阈值。
对任何无进展运行执行硬停止的阈值。
对重复调用相同工具 / 相同参数发出警告。
对已知的轮询工具(
process.poll、command_status 等)的无进展情况发出警告 / 阻止。对交替出现的无进展成对模式发出警告 / 阻止。
tools.web
tools.media
配置传入媒体理解(图像 / 音频 / 视频):
媒体模型条目字段
媒体模型条目字段
提供商条目(
type: "provider" 或省略):provider:API 提供商 ID(openai、anthropic、google/gemini、groq等)model:模型 ID 覆盖值profile/preferredProfile:auth-profiles.json配置档案选择
type: "cli"):command:要运行的可执行文件args:模板化参数(支持{{MediaPath}}、{{Prompt}}、{{MaxChars}}等;openclaw doctor --fix会将已弃用的{input}占位符迁移为{{MediaPath}})
capabilities:可选列表(image、audio、video)。默认值:openai/anthropic/minimax→ image,google→ image + audio + video,groq→ audio。prompt、maxChars、maxBytes、timeoutSeconds、language:每个条目的覆盖值。tools.media.image.timeoutSeconds以及对应图像模型中的timeoutSeconds条目,也会在智能体调用显式image工具时生效。- 失败时会回退到下一个条目。
auth-profiles.json → 环境变量 → models.providers.*.apiKey。异步完成字段:asyncCompletion.directSend:当设为true时,已完成的异步music_generate和video_generate任务会先尝试直接投递到渠道。默认值:false(旧版的请求者会话唤醒 / 模型传递路径)。
tools.agentToAgent
tools.sessions
控制会话工具(sessions_list、sessions_history、sessions_send)可定位哪些会话。
默认值:tree(当前会话 + 由其派生的会话,例如子智能体)。
可见性范围
可见性范围
self:仅当前会话键。tree:当前会话 + 由当前会话派生的会话(子智能体)。agent:属于当前智能体 ID 的任意会话(如果你在同一智能体 ID 下按发送者运行会话,则可能包括其他用户)。all:任意会话。跨智能体定向仍然需要tools.agentToAgent。- 沙箱限制:当当前会话处于沙箱隔离中,且
agents.defaults.sandbox.sessionToolsVisibility="spawned"时,即使tools.sessions.visibility="all",可见性也会被强制为tree。
tools.sessions_spawn
控制 sessions_spawn 的内联附件支持。
附件说明
附件说明
- 附件仅支持
runtime: "subagent"。ACP 运行时会拒绝它们。 - 文件会以
.manifest.json的形式物化到子工作区的.openclaw/attachments/<uuid>/中。 - 附件内容会自动从会话记录持久化中脱敏。
- Base64 输入会进行严格的字母表 / 填充校验,并在解码前执行大小保护检查。
- 目录权限为
0700,文件权限为0600。 - 清理遵循
cleanup策略:delete总会删除附件;keep仅在retainOnSessionKeep: true时保留附件。
tools.experimental
实验性内置工具标志。默认关闭,除非适用严格 agentic GPT-5 自动启用规则。
planTool:为非平凡的多步骤工作跟踪启用结构化的update_plan工具。- 默认值:
false,除非agents.defaults.embeddedPi.executionContract(或每个智能体的覆盖值)对某次 OpenAI 或 OpenAI Codex GPT-5 系列运行设置为"strict-agentic"。设置为true可在该范围之外强制启用此工具;设置为false则即使在 strict-agentic GPT-5 运行中也保持关闭。 - 启用后,系统提示也会添加使用指导,以便模型仅在实质性工作中使用它,并且最多只保留一个
in_progress步骤。
agents.defaults.subagents
model:派生子智能体的默认模型。如果省略,子智能体会继承调用方的模型。allowAgents:当请求方智能体未设置自己的subagents.allowAgents时,sessions_spawn可用的目标智能体 ID 默认允许列表(["*"]= 任意;默认:仅同一智能体)。runTimeoutSeconds:当工具调用省略runTimeoutSeconds时,sessions_spawn的默认超时时间(秒)。0表示无超时。- 每个子智能体的工具策略:
tools.subagents.tools.allow/tools.subagents.tools.deny。
自定义提供商和基础 URL
OpenClaw 使用内置模型目录。可通过配置中的models.providers 或 ~/.openclaw/agents/<agentId>/agent/models.json 添加自定义提供商。
认证和合并优先级
认证和合并优先级
- 对于自定义认证需求,使用
authHeader: true+headers。 - 使用
OPENCLAW_AGENT_DIR覆盖智能体配置根目录(或使用PI_CODING_AGENT_DIR,这是旧版环境变量别名)。 - 对于匹配的提供商 ID,合并优先级如下:
- 非空的智能体
models.jsonbaseUrl值优先。 - 非空的智能体
apiKey值仅在该提供商在当前 config / auth-profile 上下文中不是 SecretRef 管理时优先。 - 由 SecretRef 管理的提供商
apiKey值会从源标记刷新(环境引用使用ENV_VAR_NAME,文件 / exec 引用使用secretref-managed),而不是持久化已解析的机密。 - 由 SecretRef 管理的提供商 header 值会从源标记刷新(环境引用使用
secretref-env:ENV_VAR_NAME,文件 / exec 引用使用secretref-managed)。 - 空或缺失的智能体
apiKey/baseUrl会回退到配置中的models.providers。 - 匹配模型的
contextWindow/maxTokens会使用显式配置值与隐式目录值之间的较高值。 - 匹配模型的
contextTokens会在存在时保留显式运行时上限;当你希望限制有效上下文而不改变原生模型元数据时可使用它。 - 当你希望配置完全重写
models.json时,使用models.mode: "replace"。 - 标记持久化以源配置为权威:标记从当前生效的源配置快照(解析前)写入,而不是从已解析的运行时机密值写入。
- 非空的智能体
提供商字段详情
顶层目录
顶层目录
models.mode:提供商目录行为(merge或replace)。models.providers:按提供商 ID 键控的自定义提供商映射。- 安全编辑:对增量更新,使用
openclaw config set models.providers.<id> '<json>' --strict-json --merge或openclaw config set models.providers.<id>.models '<json-array>' --strict-json --merge。除非传入--replace,否则config set会拒绝破坏性替换。
- 安全编辑:对增量更新,使用
提供商连接和认证
提供商连接和认证
请求传输覆盖
请求传输覆盖
模型目录条目
模型目录条目
models.providers.*.models:显式提供商模型目录条目。models.providers.*.models.*.contextWindow:原生模型上下文窗口元数据。它会覆盖该模型的提供商级contextWindow。models.providers.*.models.*.contextTokens:可选的运行时上下文上限。它会覆盖提供商级contextTokens;当你希望有效上下文预算小于模型原生contextWindow时可使用它;当两者不同,openclaw models list会同时显示这两个值。models.providers.*.models.*.compat.supportsDeveloperRole:可选的兼容性提示。对于api: "openai-completions"且baseUrl为非空、非原生值(主机不是api.openai.com)的情况,OpenClaw 会在运行时强制将其设为false。空或省略的baseUrl会保留默认的 OpenAI 行为。models.providers.*.models.*.compat.requiresStringContent:适用于仅支持字符串的 OpenAI 兼容聊天端点的可选兼容性提示。当设为true时,OpenClaw 会在发送请求前将纯文本messages[].content数组拍平成普通字符串。
Amazon Bedrock 发现
Amazon 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 数。
提供商示例
Cerebras(GLM 4.7 / GPT OSS)
Cerebras(GLM 4.7 / GPT OSS)
内置的 对于 Cerebras,使用
cerebras provider 插件可以通过 openclaw onboard --auth-choice cerebras-api-key 进行配置。仅当你需要覆盖默认值时才使用显式提供商配置。cerebras/zai-glm-4.7;对于直接使用 Z.AI,使用 zai/glm-4.7。Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key。本地模型(LM Studio)
本地模型(LM Studio)
参见 本地模型。简而言之:在性能足够强的硬件上,通过 LM Studio Responses API 运行大型本地模型;同时保留已合并的托管模型作为回退。
MiniMax M2.7(直连)
MiniMax M2.7(直连)
MINIMAX_API_KEY。快捷方式:openclaw onboard --auth-choice minimax-global-api 或 openclaw onboard --auth-choice minimax-cn-api。模型目录默认仅包含 M2.7。在与 Anthropic 兼容的流式路径上,除非你显式自行设置 thinking,否则 OpenClaw 默认会禁用 MiniMax thinking。/fast on 或 params.fastMode: true 会将 MiniMax-M2.7 重写为 MiniMax-M2.7-highspeed。Moonshot AI(Kimi)
Moonshot AI(Kimi)
baseUrl: "https://api.moonshot.cn/v1",或使用 openclaw onboard --auth-choice moonshot-api-key-cn。原生 Moonshot 端点会在共享的 openai-completions 传输上声明流式使用兼容性,而 OpenClaw 会依据端点能力而不仅仅是内置提供商 ID 来处理这一点。OpenCode
OpenCode
OPENCODE_API_KEY(或 OPENCODE_ZEN_API_KEY)。Zen 目录使用 opencode/... 引用;Go 目录使用 opencode-go/... 引用。快捷方式:openclaw onboard --auth-choice opencode-zen 或 openclaw onboard --auth-choice opencode-go。Synthetic(与 Anthropic 兼容)
Synthetic(与 Anthropic 兼容)
/v1(Anthropic 客户端会自行追加)。快捷方式:openclaw onboard --auth-choice synthetic-api-key。Z.AI(GLM-4.7)
Z.AI(GLM-4.7)
ZAI_API_KEY。z.ai/* 和 z-ai/* 都是可接受的别名。快捷方式:openclaw onboard --auth-choice zai-api-key。- 通用端点:
https://api.z.ai/api/paas/v4 - Coding 端点(默认):
https://api.z.ai/api/coding/paas/v4 - 对于通用端点,请定义一个覆盖基础 URL 的自定义提供商。