agents.*、multiAgent.*、session.*、messages.* 和 talk.* 下的智能体作用域配置键。对于渠道、工具、Gateway 网关运行时以及其他顶级键,请参见 配置参考。
智能体默认设置
agents.defaults.workspace
默认值:~/.openclaw/workspace。
agents.defaults.repoRoot
可选的仓库根目录,会显示在系统提示词的 Runtime 行中。如果未设置,OpenClaw 会从工作区开始向上遍历并自动检测。
agents.defaults.skills
对于未设置 agents.list[].skills 的智能体,可选的默认技能允许列表。
- 省略
agents.defaults.skills表示默认不限制 Skills。 - 省略
agents.list[].skills表示继承默认值。 - 设置
agents.list[].skills: []表示不使用任何 Skills。 - 非空的
agents.list[].skills列表是该智能体的最终集合;它不会与默认值合并。
agents.defaults.skipBootstrap
禁用自动创建工作区 bootstrap 文件(AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、BOOTSTRAP.md)。
agents.defaults.contextInjection
控制何时将工作区 bootstrap 文件注入系统提示词。默认值:"always"。
"continuation-skip":安全的续接轮次(在助手完成响应之后)会跳过再次注入工作区 bootstrap,从而减少提示词大小。心跳运行和压缩后的重试仍会重建上下文。"never":在每一轮都禁用工作区 bootstrap 和上下文文件注入。仅将其用于完全自行管理提示词生命周期的智能体(自定义上下文引擎、构建自有上下文的原生运行时,或专门的不使用 bootstrap 的工作流)。心跳和压缩恢复轮次也会跳过注入。
agents.defaults.bootstrapMaxChars
每个工作区 bootstrap 文件在截断前的最大字符数。默认值:12000。
agents.defaults.bootstrapTotalMaxChars
所有工作区 bootstrap 文件合计可注入的最大字符数。默认值:60000。
agents.defaults.bootstrapPromptTruncationWarning
控制在 bootstrap 上下文被截断时,是否向智能体显示警告文本。
默认值:"once"。
"off":绝不向系统提示词注入警告文本。"once":每个唯一的截断签名只注入一次警告(推荐)。"always":只要存在截断,每次运行都注入警告。
上下文预算归属映射
OpenClaw 有多个高容量的提示词/上下文预算,这些预算被有意按子系统拆分,而不是全部通过一个通用旋钮统一控制。agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: 常规工作区 bootstrap 注入。agents.defaults.startupContext.*: 一次性的/new和/reset启动前导内容,包括最近的每日memory/*.md文件。skills.limits.*: 注入系统提示词的精简 Skills 列表。agents.defaults.contextLimits.*: 有界运行时摘录和注入的运行时自有内容块。memory.qmd.limits.*: 已索引 memory 搜索片段和注入大小控制。
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
控制在裸 /new 和 /reset 运行时注入的首轮启动前导内容。
agents.defaults.contextLimits
有界运行时上下文表面的共享默认值。
memoryGetMaxChars:memory_get摘录的默认上限;超过后会添加截断元数据和继续提示。memoryGetDefaultLines:当省略lines时,memory_get的默认行窗口。toolResultMaxChars:用于持久化结果和溢出恢复的实时工具结果上限。postCompactionMaxChars:在压缩后刷新注入期间使用的AGENTS.md摘录上限。
agents.list[].contextLimits
共享 contextLimits 旋钮的按智能体覆盖项。省略的字段会继承 agents.defaults.contextLimits。
skills.limits.maxSkillsPromptChars
注入系统提示词的精简 Skills 列表的全局上限。这不会影响按需读取 SKILL.md 文件。
agents.list[].skillsLimits.maxSkillsPromptChars
Skills 提示词预算的按智能体覆盖项。
agents.defaults.imageMaxDimensionPx
在调用提供商之前,转录/工具图像块中图像最长边的最大像素尺寸。
默认值:1200。
较低的值通常会减少视觉 token 使用量以及以截图为主的运行中的请求负载大小。
较高的值会保留更多视觉细节。
agents.defaults.userTimezone
系统提示词上下文使用的时区(不影响消息时间戳)。回退为主机时区。
agents.defaults.timeFormat
系统提示词中的时间格式。默认值:auto(操作系统偏好)。
agents.defaults.model
model:接受字符串("provider/model")或对象({ primary, fallbacks })。- 字符串形式仅设置主模型。
- 对象形式设置主模型以及按顺序排列的故障切换模型。
imageModel:接受字符串("provider/model")或对象({ primary, fallbacks })。- 作为
image工具路径的视觉模型配置使用。 - 当所选/默认模型无法接受图像输入时,也用作后备路由。
- 作为
imageGenerationModel:接受字符串("provider/model")或对象({ primary, fallbacks })。- 用于共享的图像生成能力,以及任何未来会生成图像的工具/插件表面。
- 典型值:原生 Gemini 图像生成使用
google/gemini-3.1-flash-image-preview,fal 使用fal/fal-ai/flux/dev,OpenAI Images 使用openai/gpt-image-2,透明背景 OpenAI PNG/WebP 输出使用openai/gpt-image-1.5。 - 如果你直接选择某个 provider/model,也要配置对应的提供商凭证(例如,
google/*对应GEMINI_API_KEY或GOOGLE_API_KEY,openai/gpt-image-2/openai/gpt-image-1.5对应OPENAI_API_KEY或 OpenAI Codex OAuth,fal/*对应FAL_KEY)。 - 如果省略,
image_generate仍可推断出一个有凭证支持的默认提供商。它会先尝试当前默认提供商,然后按提供商 id 顺序尝试其余已注册的图像生成提供商。
musicGenerationModel:接受字符串("provider/model")或对象({ primary, fallbacks })。- 用于共享的音乐生成能力以及内置的
music_generate工具。 - 典型值:
google/lyria-3-clip-preview、google/lyria-3-pro-preview或minimax/music-2.6。 - 如果省略,
music_generate仍可推断出一个有凭证支持的默认提供商。它会先尝试当前默认提供商,然后按提供商 id 顺序尝试其余已注册的音乐生成提供商。 - 如果你直接选择某个 provider/model,也要配置匹配的提供商凭证/API 密钥。
- 用于共享的音乐生成能力以及内置的
videoGenerationModel:接受字符串("provider/model")或对象({ primary, fallbacks })。- 用于共享的视频生成能力以及内置的
video_generate工具。 - 典型值:
qwen/wan2.6-t2v、qwen/wan2.6-i2v、qwen/wan2.6-r2v、qwen/wan2.6-r2v-flash或qwen/wan2.7-r2v。 - 如果省略,
video_generate仍可推断出一个有凭证支持的默认提供商。它会先尝试当前默认提供商,然后按提供商 id 顺序尝试其余已注册的视频生成提供商。 - 如果你直接选择某个 provider/model,也要配置匹配的提供商凭证/API 密钥。
- 内置的 Qwen 视频生成提供商最多支持 1 个输出视频、1 张输入图像、4 个输入视频、10 秒时长,以及提供商级别的
size、aspectRatio、resolution、audio和watermark选项。
- 用于共享的视频生成能力以及内置的
pdfModel:接受字符串("provider/model")或对象({ primary, fallbacks })。- 用于
pdf工具的模型路由。 - 如果省略,PDF 工具会回退到
imageModel,再回退到已解析的会话/默认模型。
- 用于
pdfMaxBytesMb:当调用时未传入maxBytesMb时,pdf工具的默认 PDF 大小限制。pdfMaxPages:pdf工具在提取后备模式下考虑的默认最大页数。verboseDefault:智能体的默认详细级别。取值:"off"、"on"、"full"。默认值:"off"。elevatedDefault:智能体的默认增强输出级别。取值:"off"、"on"、"ask"、"full"。默认值:"on"。model.primary:格式为provider/model(例如,用于 API key 访问的openai/gpt-5.5,或用于 Codex OAuth 的openai-codex/gpt-5.5)。如果你省略提供商,OpenClaw 会先尝试别名,然后尝试对该精确模型 id 唯一匹配的已配置提供商,最后才回退到已配置的默认提供商(这是已弃用的兼容行为,因此建议优先使用显式的provider/model)。如果该提供商不再暴露已配置的默认模型,OpenClaw 会回退到第一个已配置的提供商/模型,而不是暴露陈旧的、已移除提供商默认值。models:用于/model的已配置模型目录和允许列表。每个条目可包含alias(快捷方式)和params(提供商特定参数,例如temperature、maxTokens、cacheRetention、context1m、responsesServerCompaction、responsesCompactThreshold、chat_template_kwargs、extra_body/extraBody)。- 安全编辑:使用
openclaw config set agents.defaults.models '<json>' --strict-json --merge添加条目。除非你传入--replace,否则config set会拒绝会移除现有允许列表条目的替换操作。 - 提供商作用域的配置/新手引导流程会将所选提供商模型合并到此映射中,并保留已配置的无关提供商。
- 对于直接使用 OpenAI Responses 的模型,会自动启用服务端压缩。使用
params.responsesServerCompaction: false可停止注入context_management,或使用params.responsesCompactThreshold覆盖阈值。参见 OpenAI 服务端压缩。
- 安全编辑:使用
params:应用于所有模型的全局默认提供商参数。设置在agents.defaults.params(例如{ cacheRetention: "long" })。params合并优先级(配置):agents.defaults.params(全局基础)会被agents.defaults.models["provider/model"].params(按模型)覆盖,然后agents.list[].params(匹配的智能体 id)再按键覆盖。详情参见 Prompt Caching。params.extra_body/params.extraBody:高级透传 JSON,会合并到 OpenAI 兼容代理的api: "openai-completions"请求体中。如果它与生成的请求键冲突,则以 extra body 为准;非原生 completions 路由之后仍会剥离 OpenAI 专用的store。params.chat_template_kwargs:会合并到api: "openai-completions"顶层请求体中的 vLLM/OpenAI 兼容 chat template 参数。对于关闭 thinking 的vllm/nemotron-3-*,OpenClaw 会自动发送enable_thinking: false和force_nonempty_content: true;显式的chat_template_kwargs会覆盖这些默认值,而extra_body.chat_template_kwargs仍具有最终优先级。params.preserveThinking:仅供 Z.AI 选择启用的保留 thinking 功能。启用后且 thinking 打开时,OpenClaw 会发送thinking.clear_thinking: false并重放之前的reasoning_content;参见 Z.AI thinking 和保留 thinking。agentRuntime:默认的底层智能体运行时策略。省略 id 时默认为 OpenClaw Pi。使用id: "pi"强制使用内置 PI harness,使用id: "auto"让已注册插件 harness 认领受支持的模型,使用已注册的 harness id(如id: "codex"),或使用受支持的 CLI 后端别名(如id: "claude-cli")。设置fallback: "none"可禁用自动回退到 PI。像codex这样的显式插件运行时默认采用失败即关闭策略,除非你在同一覆盖作用域中设置fallback: "pi"。模型引用应保持规范形式provider/model;通过运行时配置而不是旧版运行时提供商前缀来选择 Codex、Claude CLI、Gemini CLI 和其他执行后端。参见 Agent Runtimes 了解这与 provider/model 选择有何不同。- 会修改这些字段的配置写入器(例如
/models set、/models set-image以及后备项 add/remove 命令)会保存为规范对象形式,并尽可能保留现有后备列表。 maxConcurrent:跨会话并行运行的最大智能体数(每个会话仍然串行)。默认值:4。
agents.defaults.agentRuntime
agentRuntime 控制哪个底层执行器运行智能体轮次。大多数部署应保留默认的 OpenClaw Pi 运行时。当受信任的插件提供原生 harness 时使用它,例如内置的 Codex app-server harness,或者当你想使用受支持的 CLI 后端(如 Claude CLI)时也可使用。要理解其工作方式,请参见 Agent Runtimes。
id:"auto"、"pi"、已注册插件 harness id,或受支持的 CLI 后端别名。内置的 Codex 插件注册为codex;内置的 Anthropic 插件提供claude-cliCLI 后端。fallback:"pi"或"none"。在id: "auto"中,省略 fallback 时默认为"pi",这样旧配置在没有插件 harness 认领运行时仍可继续使用 PI。在显式插件运行时模式下,例如id: "codex",省略 fallback 时默认为"none",这样缺少 harness 时会直接失败,而不是静默使用 PI。运行时覆盖项不会从更广作用域继承 fallback;当你有意希望使用这种兼容回退时,请与显式运行时一起设置fallback: "pi"。所选插件 harness 的失败始终会直接暴露。- 环境覆盖:
OPENCLAW_AGENT_RUNTIME=<id|auto|pi>会覆盖id;OPENCLAW_AGENT_HARNESS_FALLBACK=pi|none会覆盖该进程的 fallback。 - 对于仅使用 Codex 的部署,设置
model: "openai/gpt-5.5"和agentRuntime.id: "codex"。你也可以显式设置agentRuntime.fallback: "none"以增强可读性;对于显式插件运行时,这本就是默认值。 - 对于 Claude CLI 部署,推荐使用
model: "anthropic/claude-opus-4-7"并搭配agentRuntime.id: "claude-cli"。旧版claude-cli/claude-opus-4-7模型引用仍可用于兼容,但新配置应保持 provider/model 选择的规范形式,并将执行后端放在agentRuntime.id中。 - 较旧的运行时策略键会由
openclaw doctor --fix重写为agentRuntime。 - 在第一次嵌入式运行之后,harness 选择会按会话 id 固定。配置/环境变化会影响新的或已重置的会话,不会影响现有转录。具有转录历史但未记录固定值的旧会话会被视为固定到 PI。
/status会报告实际运行时,例如Runtime: OpenClaw Pi Default或Runtime: OpenAI Codex。 - 这仅控制文本智能体轮次执行。媒体生成、视觉、PDF、音乐、视频和 TTS 仍使用各自的 provider/model 设置。
agents.defaults.models 中时适用):
| Alias | 模型 |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.5 或 openai-codex/gpt-5.5 |
gpt-mini | openai/gpt-5.4-mini |
gpt-nano | openai/gpt-5.4-nano |
gemini | google/gemini-3.1-pro-preview |
gemini-flash | google/gemini-3-flash-preview |
gemini-flash-lite | google/gemini-3.1-flash-lite-preview |
--thinking off,或自行定义 agents.defaults.models["zai/<model>"].params.thinking。
Z.AI 模型默认启用 tool_stream 以进行工具调用流式传输。将 agents.defaults.models["zai/<model>"].params.tool_stream 设为 false 可禁用它。
Anthropic Claude 4.6 模型在未显式设置 thinking 级别时,默认使用 adaptive thinking。
agents.defaults.cliBackends
用于纯文本后备运行(无工具调用)的可选 CLI 后端。当 API 提供商失败时,它可作为备用方案。
- CLI 后端以文本为主;工具始终被禁用。
- 设置了
sessionArg时支持会话。 - 当
imageArg接受文件路径时,支持图像透传。
agents.defaults.systemPromptOverride
用固定字符串替换整个由 OpenClaw 组装的系统提示词。可在默认级别(agents.defaults.systemPromptOverride)或按智能体级别(agents.list[].systemPromptOverride)设置。按智能体设置的值优先;空值或仅包含空白字符的值会被忽略。适用于受控的提示词实验。
agents.defaults.promptOverlays
按模型家族应用的、与提供商无关的提示词覆盖层。GPT-5 家族模型 id 会在不同提供商之间获得共享的行为契约;personality 仅控制友好的交互风格层。
"friendly"(默认)和"on"会启用友好的交互风格层。"off"仅禁用友好层;带标签的 GPT-5 行为契约仍然启用。- 当这个共享设置未设置时,仍会读取旧版
plugins.entries.openai.config.personality。
agents.defaults.heartbeat
周期性心跳运行。
every:时长字符串(ms/s/m/h)。默认值:30m(API key 认证)或1h(OAuth 认证)。设为0m可禁用。includeSystemPromptSection:设为 false 时,会从系统提示词中省略 Heartbeat 部分,并跳过将HEARTBEAT.md注入 bootstrap 上下文。默认值:true。suppressToolErrorWarnings:设为 true 时,在心跳运行期间抑制工具错误警告负载。timeoutSeconds:心跳智能体轮次在被中止前允许的最长秒数。留空则使用agents.defaults.timeoutSeconds。directPolicy:直接/私信投递策略。allow(默认)允许直接目标投递。block会抑制直接目标投递,并发出reason=dm-blocked。lightContext:设为 true 时,心跳运行使用轻量级 bootstrap 上下文,并且仅保留工作区 bootstrap 文件中的HEARTBEAT.md。isolatedSession:设为 true 时,每次心跳都会在一个没有任何先前对话历史的全新会话中运行。与 cronsessionTarget: "isolated"使用相同的隔离模式。可将每次心跳的 token 成本从约 100K 降低到约 2-5K token。- 按智能体设置:设置
agents.list[].heartbeat。当任意智能体定义了heartbeat时,只有这些智能体会运行心跳。 - 心跳会运行完整的智能体轮次——更短的间隔会消耗更多 token。
agents.defaults.compaction
mode:default或safeguard(针对长历史的分块摘要)。参见 Compaction。provider:已注册 compaction 提供商插件的 id。设置后,会调用该提供商的summarize(),而不是使用内置 LLM 摘要。失败时会回退到内置方式。设置提供商会强制使用mode: "safeguard"。参见 Compaction。timeoutSeconds:OpenClaw 中止前,单次 compaction 操作允许的最长秒数。默认值:900。keepRecentTokens:Pi 切点预算,用于按原样保留最近的转录尾部。当显式设置时,手动/compact会遵守此值;否则手动 compaction 是硬检查点。identifierPolicy:strict(默认)、off或custom。strict会在 compaction 摘要期间预置内置的不透明标识符保留指导。identifierInstructions:当identifierPolicy=custom时使用的可选自定义标识符保留文本。qualityGuard:对 safeguard 摘要执行输出格式错误时的重试检查。在 safeguard 模式下默认启用;设为enabled: false可跳过审计。postCompactionSections:compaction 后重新注入的可选AGENTS.mdH2/H3 章节名。默认值为["Session Startup", "Red Lines"];设为[]可禁用重新注入。当未设置,或显式设为这对默认值时,也会接受旧版Every Session/Safety标题作为兼容回退。model:可选的provider/model-id覆盖项,仅用于 compaction 摘要。当主会话应保持使用一个模型,而 compaction 摘要应使用另一个模型时使用它;未设置时,compaction 使用会话的主模型。maxActiveTranscriptBytes:可选字节阈值(number或如"20mb"之类的字符串);当活动 JSONL 增长超过该阈值时,会在运行前触发常规本地 compaction。需要启用truncateAfterCompaction,这样成功 compaction 后才能轮转到更小的后继转录。未设置或为0时禁用。notifyUser:设为true时,在 compaction 开始和完成时向用户发送简短通知(例如“正在压缩上下文…”和“压缩完成”)。默认禁用,以保持 compaction 静默。memoryFlush:自动 compaction 前的静默智能体轮次,用于存储持久 memory。工作区为只读时会跳过。
agents.defaults.contextPruning
在将上下文发送给 LLM 之前,从内存中的上下文里修剪旧的工具结果。不会修改磁盘上的会话历史。
cache-ttl 模式行为
cache-ttl 模式行为
mode: "cache-ttl"会启用修剪过程。ttl控制再次允许运行修剪的频率(自上次缓存触碰之后)。- 如有需要,修剪会先对过大的工具结果执行软修剪,然后再对较旧的工具结果执行硬清除。
...。硬清除会用占位符替换整个工具结果。说明:- 图像块永远不会被修剪/清除。
- 比例基于字符数(近似值),不是精确 token 数。
- 如果 assistant 消息少于
keepLastAssistants条,则会跳过修剪。
分块流式传输
- 非 Telegram 渠道需要显式设置
*.blockStreaming: true才会启用分块回复。 - 渠道覆盖:
channels.<channel>.blockStreamingCoalesce(以及按账号变体)。Signal/Slack/Discord/Google Chat 默认minChars: 1500。 humanDelay:分块回复之间的随机暂停。natural= 800–2500 ms。按智能体覆盖:agents.list[].humanDelay。
输入中指示器
- 默认值:直接聊天/提及时为
instant,未提及的群聊中为message。 - 按会话覆盖:
session.typingMode、session.typingIntervalSeconds。
agents.defaults.sandbox
内嵌智能体的可选沙箱隔离。完整指南参见 沙箱隔离。
沙箱详情
沙箱详情
sandbox.docker.binds 仅支持 Docker。
构建镜像:
agents.list(按智能体覆盖)
使用 agents.list[].tts 为某个智能体提供其自己的 TTS 提供商、音色、模型、风格或自动 TTS 模式。智能体块会在全局
messages.tts 之上执行深度合并,因此共享凭证可以保留在一个位置,而各个智能体只覆盖它们所需的音色或提供商字段。活动智能体的覆盖会应用于自动语音回复、/tts audio、/tts status 以及 tts 智能体工具。提供商示例和优先级请参见 Text-to-speech。
id:稳定的智能体 id(必填)。default:当设置了多个时,以第一个为准(会记录警告)。如果一个都没设置,列表中的第一个条目为默认值。model:字符串形式仅覆盖primary;对象形式{ primary, fallbacks }会同时覆盖两者([]会禁用全局后备项)。仅覆盖primary的 cron 作业仍会继承默认后备项,除非你设置fallbacks: []。params:按智能体的流参数,会合并到agents.defaults.models中所选模型条目之上。用它来设置智能体特定的覆盖,如cacheRetention、temperature或maxTokens,而无需复制整个模型目录。tts:可选的按智能体 Text-to-speech 覆盖。该块会深度合并到messages.tts之上,因此共享的提供商凭证和后备策略可以保留在messages.tts中,而这里只设置 persona 特定的值,如提供商、音色、模型、风格或自动模式。skills:可选的按智能体 Skills 允许列表。如果省略,则该智能体在已设置时继承agents.defaults.skills;显式列表会替换默认值而不是合并,[]表示无 Skills。thinkingDefault:可选的按智能体默认 thinking 级别(off | minimal | low | medium | high | xhigh | adaptive | max)。当未设置按消息或按会话覆盖时,它会覆盖此智能体的agents.defaults.thinkingDefault。所选提供商/模型配置决定哪些值有效;对于 Google Gemini,adaptive会保持由提供商拥有的动态 thinking(Gemini 3/3.1 上省略thinkingLevel,Gemini 2.5 上使用thinkingBudget: -1)。reasoningDefault:可选的按智能体默认 reasoning 可见性(on | off | stream)。当未设置按消息或按会话的 reasoning 覆盖时应用。fastModeDefault:可选的按智能体快速模式默认值(true | false)。当未设置按消息或按会话的快速模式覆盖时应用。agentRuntime:可选的按智能体底层运行时策略覆盖。使用{ id: "codex" }可让某个智能体仅使用 Codex,而其他智能体在auto模式下保留默认的 PI 回退。runtime:可选的按智能体运行时描述符。当智能体应默认使用 ACP harness 会话时,使用type: "acp"和runtime.acp默认值(agent、backend、mode、cwd)。identity.avatar:相对于工作区的路径、http(s)URL,或data:URI。identity会派生默认值:ackReaction来自emoji,mentionPatterns来自name/emoji。subagents.allowAgents:用于sessions_spawn的智能体 id 允许列表(["*"]= 任意;默认:仅同一智能体)。- 沙箱继承保护:如果请求方会话处于沙箱中,
sessions_spawn会拒绝那些将以非沙箱方式运行的目标。 subagents.requireAgentId:设为 true 时,阻止省略agentId的sessions_spawn调用(强制显式选择配置;默认:false)。
多智能体路由
在一个 Gateway 网关中运行多个相互隔离的智能体。参见 多智能体。绑定匹配字段
type(可选):普通路由使用route(缺失时默认就是 route),持久 ACP 对话绑定使用acp。match.channel(必填)match.accountId(可选;*= 任意账号;省略 = 默认账号)match.peer(可选;{ kind: direct|group|channel, id })match.guildId/match.teamId(可选;渠道特定)acp(可选;仅用于type: "acp"):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(精确匹配,无 peer/guild/team)match.accountId: "*"(整个渠道)- 默认智能体
bindings 条目获胜。
对于 type: "acp" 条目,OpenClaw 按精确会话标识(match.channel + account + match.peer.id)解析,不使用上述 route 绑定层级顺序。
按智能体访问配置
完全访问(无沙箱)
完全访问(无沙箱)
只读工具 + 工作区
只读工具 + 工作区
无文件系统访问(仅消息)
无文件系统访问(仅消息)
会话
会话字段详情
会话字段详情
scope:用于群聊上下文的基础会话分组策略。per-sender(默认):在一个渠道上下文内,每个发送者都有独立会话。global:一个渠道上下文中的所有参与者共享同一个会话(仅当你确实希望共享上下文时使用)。
dmScope:私信的分组方式。main:所有私信共享主会话。per-peer:按发送者 id 跨渠道隔离。per-channel-peer:按渠道 + 发送者隔离(推荐用于多用户收件箱)。per-account-channel-peer:按账号 + 渠道 + 发送者隔离(推荐用于多账号)。
identityLinks:将规范 id 映射到带提供商前缀的 peer,以实现跨渠道会话共享。reset:主重置策略。daily会在本地时间atHour重置;idle会在idleMinutes后重置。当两者都配置时,先到期者优先。每日重置的新鲜度使用会话行的sessionStartedAt;空闲重置的新鲜度使用lastInteractionAt。像 heartbeat、cron 唤醒、exec 通知和 Gateway 网关记账这样的后台/系统事件写入可以更新updatedAt,但它们不会维持 daily/idle 会话的新鲜度。resetByType:按类型覆盖(direct、group、thread)。旧版dm仍接受为direct的别名。parentForkMaxTokens:创建 fork 线程会话时允许的父会话最大totalTokens(默认100000)。- 如果父会话
totalTokens超过该值,OpenClaw 会启动一个全新的线程会话,而不是继承父转录历史。 - 设为
0可禁用此保护,并始终允许父级 fork。
- 如果父会话
mainKey:旧版字段。运行时始终对主直接聊天桶使用"main"。agentToAgent.maxPingPongTurns:在智能体到智能体交换期间,智能体之间来回回复的最大轮数(整数,范围:0–5)。0会禁用 ping-pong 链。sendPolicy:按channel、chatType(direct|group|channel,旧版dm为别名)、keyPrefix或rawKeyPrefix匹配。第一个 deny 优先。maintenance:会话存储清理 + 保留控制。mode:warn仅发出警告;enforce会执行清理。pruneAfter:陈旧条目的年龄截止值(默认30d)。maxEntries:sessions.json中的最大条目数(默认500)。rotateBytes:当sessions.json超过此大小时轮转(默认10mb)。resetArchiveRetention:*.reset.<timestamp>转录归档的保留期。默认与pruneAfter相同;设为false可禁用。maxDiskBytes:可选的 sessions 目录磁盘预算。在warn模式下它会记录警告;在enforce模式下它会优先删除最旧的制品/会话。highWaterBytes:预算清理后的可选目标值。默认是maxDiskBytes的80%。
threadBindings:线程绑定会话功能的全局默认值。enabled:主默认开关(提供商可覆盖;Discord 使用channels.discord.threadBindings.enabled)idleHours:默认按小时计的不活动自动取消聚焦(0表示禁用;提供商可覆盖)maxAgeHours:默认按小时计的硬最大时长(0表示禁用;提供商可覆盖)
消息
回复前缀
按渠道/账号覆盖:channels.<channel>.responsePrefix、channels.<channel>.accounts.<id>.responsePrefix。
解析顺序(越具体越优先):账号 → 渠道 → 全局。"" 会禁用并停止级联。"auto" 会推导为 [{identity.name}]。
模板变量:
| 变量 | 说明 | 示例 |
|---|---|---|
{model} | 短模型名称 | claude-opus-4-6 |
{modelFull} | 完整模型标识符 | anthropic/claude-opus-4-6 |
{provider} | 提供商名称 | anthropic |
{thinkingLevel} | 当前 thinking 级别 | high、low、off |
{identity.name} | 智能体 identity 名称 | (与 "auto" 相同) |
{think} 是 {thinkingLevel} 的别名。
确认反应
- 默认为活动智能体的
identity.emoji,否则为"👀"。设为""可禁用。 - 按渠道覆盖:
channels.<channel>.ackReaction、channels.<channel>.accounts.<id>.ackReaction。 - 解析顺序:账号 → 渠道 →
messages.ackReaction→ identity 回退。 - 作用域:
group-mentions(默认)、group-all、direct、all。 removeAckAfterReply:在支持反应的渠道(如 Slack、Discord、Telegram、WhatsApp 和 BlueBubbles)上,回复后移除确认反应。messages.statusReactions.enabled:在 Slack、Discord 和 Telegram 上启用生命周期状态反应。 在 Slack 和 Discord 上,未设置时会在确认反应处于活动状态时保持启用状态反应。 在 Telegram 上,需要显式设为true才会启用生命周期状态反应。
入站去抖
将来自同一发送者的快速纯文本消息批处理为单个智能体轮次。媒体/附件会立即刷新。控制命令会绕过去抖。TTS(Text-to-speech)
auto控制默认的自动 TTS 模式:off、always、inbound或tagged。/tts on|off可以覆盖本地偏好,/tts status会显示实际状态。summaryModel会覆盖用于自动摘要的agents.defaults.model.primary。modelOverrides默认启用;modelOverrides.allowProvider默认为false(选择启用)。- API 密钥会回退到
ELEVENLABS_API_KEY/XI_API_KEY和OPENAI_API_KEY。 - 内置语音提供商由插件拥有。如果设置了
plugins.allow,请包含你想使用的每个 TTS 提供商插件,例如用于 Edge TTS 的microsoft。旧版提供商 idedge可作为microsoft的别名使用。 providers.openai.baseUrl会覆盖 OpenAI TTS 端点。解析顺序是配置,然后是OPENAI_TTS_BASE_URL,最后是https://api.openai.com/v1。- 当
providers.openai.baseUrl指向非 OpenAI 端点时,OpenClaw 会将其视为 OpenAI 兼容的 TTS 服务器,并放宽模型/音色验证。
talk
talk 模式的默认值(macOS/iOS/Android)。- 当配置了多个 talk 提供商时,
talk.provider必须与talk.providers中的某个键匹配。 - 旧版扁平 Talk 键(
talk.voiceId、talk.voiceAliases、talk.modelId、talk.outputFormat、talk.apiKey)仅为兼容保留,并会自动迁移到talk.providers.<provider>中。 - Voice ID 会回退到
ELEVENLABS_VOICE_ID或SAG_VOICE_ID。 providers.*.apiKey接受纯文本字符串或 SecretRef 对象。- 只有在未配置 Talk API 密钥时,才会应用
ELEVENLABS_API_KEY回退。 providers.*.voiceAliases允许 talk 指令使用友好的名称。providers.mlx.modelId选择 macOS 本地 MLX 助手所使用的 Hugging Face 仓库。如果省略,macOS 使用mlx-community/Soprano-80M-bf16。- macOS MLX 播放会在存在时通过内置的
openclaw-mlx-tts助手运行,否则通过PATH上的可执行文件运行;开发时可用OPENCLAW_MLX_TTS_BIN覆盖助手路径。 speechLocale设置 iOS/macOS talk 语音识别所使用的 BCP 47 locale id。留空则使用设备默认值。silenceTimeoutMs控制 talk 模式在用户静音后等待多长时间再发送转录。未设置时保留平台默认暂停窗口(macOS 和 Android 上为 700 ms,iOS 上为 900 ms)。