diff --git a/docs/zh-CN/channels/synology-chat.md b/docs/zh-CN/channels/synology-chat.md index 2ac51e8b3..db1c302e7 100644 --- a/docs/zh-CN/channels/synology-chat.md +++ b/docs/zh-CN/channels/synology-chat.md @@ -1,64 +1,66 @@ --- read_when: - - 将 Synology Chat 与 OpenClaw 一起设置时 - - 调试 Synology Chat webhook 路由时 -summary: Synology Chat webhook 设置与 OpenClaw 配置 + - 设置 Synology Chat 以配合 OpenClaw 使用 + - 调试 Synology Chat webhook 路由 +summary: Synology Chat webhook 设置和 OpenClaw 配置 title: Synology Chat x-i18n: - generated_at: "2026-04-05T08:17:41Z" + generated_at: "2026-04-21T18:02:17Z" model: gpt-5.4 provider: openai - source_hash: ddb25fc6b53f896f15f43b4936d69ea071a29a91838a5b662819377271e89d81 + source_hash: 7288e2aa873ee1a1f57861d839cfb44ff324e3d40a7f36da07c6ba43cbe1e6e6 source_path: channels/synology-chat.md workflow: 15 --- # Synology Chat -状态:作为内置插件提供的私信渠道,使用 Synology Chat webhook。 +状态:内置插件私信渠道,使用 Synology Chat webhook。 该插件接收来自 Synology Chat 出站 webhook 的入站消息,并通过 Synology Chat 入站 webhook 发送回复。 ## 内置插件 -Synology Chat 作为当前 OpenClaw 版本中的内置插件提供,因此普通打包构建不需要单独安装。 +Synology Chat 在当前的 OpenClaw 版本中作为内置插件提供,因此普通的打包构建不需要单独安装。 -如果你使用的是较旧版本,或是不包含 Synology Chat 的自定义安装,请手动安装: +如果你使用的是较旧的构建版本,或是不包含 Synology Chat 的自定义安装, +请手动安装: -从本地检出安装: +从本地检出目录安装: ```bash openclaw plugins install ./path/to/local/synology-chat-plugin ``` -详情参见:[插件](/tools/plugin) +详情:[Plugins](/zh-CN/tools/plugin) -## 快速设置 +## 快速开始 1. 确保 Synology Chat 插件可用。 - - 当前打包版 OpenClaw 已内置该插件。 - - 较旧/自定义安装可以使用上面的命令从源码检出手动添加。 + - 当前打包的 OpenClaw 版本已内置它。 + - 较旧版本或自定义安装可以使用上面的命令从源码检出目录手动添加。 - `openclaw onboard` 现在会在与 `openclaw channels add` 相同的渠道设置列表中显示 Synology Chat。 - 非交互式设置:`openclaw channels add --channel synology-chat --token --url ` 2. 在 Synology Chat 集成中: - 创建一个入站 webhook 并复制其 URL。 - 创建一个带有你的密钥令牌的出站 webhook。 3. 将出站 webhook URL 指向你的 OpenClaw Gateway 网关: - - 默认使用 `https://gateway-host/webhook/synology`。 - - 或使用自定义的 `channels.synology-chat.webhookPath`。 + - 默认是 `https://gateway-host/webhook/synology`。 + - 或使用你自定义的 `channels.synology-chat.webhookPath`。 4. 在 OpenClaw 中完成设置。 - 引导式:`openclaw onboard` - - 直接方式:`openclaw channels add --channel synology-chat --token --url ` + - 直接设置:`openclaw channels add --channel synology-chat --token --url ` 5. 重启 Gateway 网关,并向 Synology Chat 机器人发送一条私信。 Webhook 认证详情: -- OpenClaw 按以下顺序接收出站 webhook 令牌:先 `body.token`,然后 `?token=...`,再然后请求头。 -- 可接受的请求头形式: +- OpenClaw 按以下顺序接受出站 webhook 令牌:`body.token`,然后是 + `?token=...`,再然后是请求头。 +- 接受的请求头形式: - `x-synology-token` - `x-webhook-token` - `x-openclaw-token` - `Authorization: Bearer ` -- 空令牌或缺失令牌会按失败关闭处理。 +- 空令牌或缺失令牌会以失败关闭的方式处理。 最小配置: @@ -90,23 +92,23 @@ Webhook 认证详情: - `SYNOLOGY_RATE_LIMIT` - `OPENCLAW_BOT_NAME` -配置值优先于环境变量。 +配置值会覆盖环境变量。 -## 私信策略与访问控制 +## 私信策略和访问控制 -- 推荐默认值为 `dmPolicy: "allowlist"`。 -- `allowedUserIds` 接受 Synology 用户 ID 列表(或逗号分隔字符串)。 -- 在 `allowlist` 模式下,空的 `allowedUserIds` 列表会被视为配置错误,webhook 路由将不会启动(若要允许所有人,请使用 `dmPolicy: "open"`)。 -- `dmPolicy: "open"` 允许任意发送者。 +- `dmPolicy: "allowlist"` 是推荐的默认值。 +- `allowedUserIds` 接受 Synology 用户 ID 列表(或逗号分隔的字符串)。 +- 在 `allowlist` 模式下,空的 `allowedUserIds` 列表会被视为配置错误,webhook 路由将不会启动(如需允许所有人,请使用 `dmPolicy: "open"`)。 +- `dmPolicy: "open"` 允许任何发送者。 - `dmPolicy: "disabled"` 会阻止私信。 -- 默认情况下,回复接收方绑定会保持在稳定的数字 `user_id` 上。`channels.synology-chat.dangerouslyAllowNameMatching: true` 是紧急兼容模式,会重新启用基于可变用户名/昵称查找的回复投递。 -- 配对批准可通过以下命令完成: +- 回复接收者绑定默认保持在稳定的数字 `user_id` 上。`channels.synology-chat.dangerouslyAllowNameMatching: true` 是应急兼容模式,会重新启用可变用户名/昵称查找以进行回复投递。 +- 配对批准可配合以下命令使用: - `openclaw pairing list synology-chat` - `openclaw pairing approve synology-chat ` ## 出站投递 -请使用数字形式的 Synology Chat 用户 ID 作为目标。 +使用数字 Synology Chat 用户 ID 作为目标。 示例: @@ -115,18 +117,20 @@ openclaw message send --channel synology-chat --target 123456 --text "Hello from openclaw message send --channel synology-chat --target synology-chat:123456 --text "Hello again" ``` -支持通过基于 URL 的文件投递方式发送媒体。 +支持通过基于 URL 的文件投递发送媒体。 +出站文件 URL 必须使用 `http` 或 `https`,私有网络目标或其他被阻止的网络目标会在 OpenClaw 将该 URL 转发到 NAS webhook 之前被拒绝。 ## 多账户 -支持在 `channels.synology-chat.accounts` 下配置多个 Synology Chat 账户。 +在 `channels.synology-chat.accounts` 下支持多个 Synology Chat 账户。 每个账户都可以覆盖 token、入站 URL、webhook 路径、私信策略和限制。 -私信会话会按账户和用户隔离,因此在两个不同 Synology 账户上的相同数字 `user_id` -不会共享转录状态。 -请为每个已启用账户提供不同的 `webhookPath`。OpenClaw 现在会拒绝重复的精确路径, -并且在多账户设置中,会拒绝仅继承共享 webhook 路径的具名账户启动。 -如果你确实需要为具名账户有意启用旧版继承,请在该账户或 `channels.synology-chat` 上设置 -`dangerouslyAllowInheritedWebhookPath: true`,但重复的精确路径仍会按失败关闭被拒绝。更推荐显式设置每账户路径。 +私信会话会按账户和用户彼此隔离,因此两个不同 Synology 账户上的相同数字 `user_id` +不会共享对话记录状态。 +请为每个已启用账户提供不同的 `webhookPath`。OpenClaw 现在会拒绝重复的完全相同路径, +并拒绝启动那些在多账户设置中仅继承共享 webhook 路径的已命名账户。 +如果你确实需要为已命名账户保留旧版继承行为,请在该账户上或在 `channels.synology-chat` +上设置 `dangerouslyAllowInheritedWebhookPath: true`, +但重复的完全相同路径仍会以失败关闭的方式被拒绝。建议为每个账户显式设置路径。 ```json5 { @@ -153,26 +157,26 @@ openclaw message send --channel synology-chat --target synology-chat:123456 --te ## 安全说明 -- 请妥善保管 `token`,如泄露请轮换。 -- 除非你明确相信带有自签名证书的本地 NAS,否则请保持 `allowInsecureSsl: false`。 -- 入站 webhook 请求会按令牌验证,并按发送者进行速率限制。 -- 无效令牌检查使用恒定时间的密钥比较,并按失败关闭。 +- 妥善保管 `token`,如果泄露请轮换。 +- 保持 `allowInsecureSsl: false`,除非你明确信任自签名的本地 NAS 证书。 +- 入站 webhook 请求会按发送者进行令牌验证和速率限制。 +- 无效令牌检查使用恒定时间密钥比较,并以失败关闭的方式处理。 - 生产环境推荐使用 `dmPolicy: "allowlist"`。 -- 除非你明确需要基于旧版用户名的回复投递,否则请保持 `dangerouslyAllowNameMatching` 为关闭状态。 -- 除非你明确接受多账户设置中的共享路径路由风险,否则请保持 `dangerouslyAllowInheritedWebhookPath` 为关闭状态。 +- 除非你明确需要基于旧版用户名的回复投递,否则请保持 `dangerouslyAllowNameMatching` 关闭。 +- 除非你明确接受多账户设置中共享路径路由的风险,否则请保持 `dangerouslyAllowInheritedWebhookPath` 关闭。 ## 故障排除 - `Missing required fields (token, user_id, text)`: - 出站 webhook 负载缺少必需字段之一 - - 如果 Synology 通过请求头发送令牌,请确保 Gateway 网关/代理保留了这些请求头 + - 如果 Synology 通过请求头发送 token,请确保 Gateway 网关/代理保留这些请求头 - `Invalid token`: - 出站 webhook 密钥与 `channels.synology-chat.token` 不匹配 - 请求命中了错误的账户/webhook 路径 - - 反向代理在请求到达 OpenClaw 前移除了令牌请求头 + - 反向代理在请求到达 OpenClaw 之前去除了 token 请求头 - `Rate limit exceeded`: - - 来自同一来源的过多无效令牌尝试,可能会暂时锁定该来源 - - 已认证发送者还会受到单独的按用户消息速率限制 + - 来自同一来源的过多无效 token 尝试可能会暂时锁定该来源 + - 已认证的发送者也有单独的按用户计算的消息速率限制 - `Allowlist is empty. Configure allowedUserIds or use dmPolicy=open.`: - 已启用 `dmPolicy="allowlist"`,但未配置任何用户 - `User not authorized`: @@ -180,8 +184,8 @@ openclaw message send --channel synology-chat --target synology-chat:123456 --te ## 相关内容 -- [渠道概览](/channels) — 所有受支持渠道 -- [配对](/channels/pairing) — 私信认证与配对流程 -- [群组](/channels/groups) — 群聊行为和 mention 门控 -- [渠道路由](/channels/channel-routing) — 消息的会话路由 -- [安全](/gateway/security) — 访问模型与加固 +- [Channels Overview](/zh-CN/channels) — 所有受支持的渠道 +- [Pairing](/zh-CN/channels/pairing) — 私信认证和配对流程 +- [Groups](/zh-CN/channels/groups) — 群聊行为和提及门控 +- [Channel Routing](/zh-CN/channels/channel-routing) — 消息的会话路由 +- [Security](/zh-CN/gateway/security) — 访问模型和加固 diff --git a/docs/zh-CN/tools/thinking.md b/docs/zh-CN/tools/thinking.md index 72c3a6e4d..a736006dc 100644 --- a/docs/zh-CN/tools/thinking.md +++ b/docs/zh-CN/tools/thinking.md @@ -1,58 +1,58 @@ --- read_when: - 调整思考、快速模式或详细模式的指令解析或默认值 -summary: '`/think`、`/fast`、`/verbose`、`/trace` 和推理可见性的指令语法' +summary: '`/think`、`/fast`、`/verbose`、`/trace` 以及推理可见性的指令语法' title: 思考级别 x-i18n: - generated_at: "2026-04-21T08:24:15Z" + generated_at: "2026-04-21T18:02:13Z" model: gpt-5.4 provider: openai - source_hash: 1b0217f6e5a5cb3400090f31ad5271ca61848a40f77d3f942851e7c2f2352886 + source_hash: c77f6f1318c428bbd21725ea5f32f8088506a10cbbf5b5cbca5973c72a5a81f9 source_path: tools/thinking.md workflow: 15 --- # 思考级别(`/think` 指令) -## 它的作用 +## 功能说明 -- 可在任何入站消息正文中使用内联指令:`/t `、`/think:` 或 `/thinking `。 +- 可在任何传入消息正文中使用内联指令:`/t `、`/think:` 或 `/thinking `。 - 级别(别名):`off | minimal | low | medium | high | xhigh | adaptive | max` - minimal → “思考” - low → “深入思考” - medium → “更深入思考” - - high → “超深度思考”(最大预算) - - xhigh → “超深度思考 +”(GPT-5.2 + Codex 模型,以及 Anthropic Claude Opus 4.7 的 effort) - - adaptive → 由提供商管理的自适应思考(Anthropic/Bedrock 上的 Claude 4.6,以及 Anthropic Claude Opus 4.7 支持) + - high → “超强思考”(最大预算) + - xhigh → “超强思考+”(GPT-5.2 + Codex 模型和 Anthropic Claude Opus 4.7 effort) + - adaptive → 提供商管理的自适应思考(Anthropic/Bedrock 上的 Claude 4.6 和 Anthropic Claude Opus 4.7 支持) - max → 提供商最大推理(当前为 Anthropic Claude Opus 4.7) - - `x-high`、`x_high`、`extra-high`、`extra high` 和 `extra_high` 都映射到 `xhigh`。 - - `highest` 映射到 `high`。 + - `x-high`、`x_high`、`extra-high`、`extra high` 和 `extra_high` 都映射为 `xhigh`。 + - `highest` 映射为 `high`。 - 提供商说明: - - 思考菜单和选择器由 provider profile 驱动。提供商插件会为所选模型声明确切支持的级别集合,包括如二元 `on` 这样的标签。 - - `adaptive`、`xhigh` 和 `max` 只会针对支持它们的 provider/model profile 进行展示。若输入了不受支持的级别指令,将拒绝该指令,并返回该模型的有效选项。 - - 现有已存储但不受支持的级别,包括切换模型后旧的 `max` 值,会被重新映射为所选模型支持的最高级别。 - - 当未显式设置思考级别时,Anthropic Claude 4.6 模型默认使用 `adaptive`。 - - Anthropic Claude Opus 4.7 不默认使用自适应思考。其 API effort 默认值仍由提供商控制,除非你显式设置思考级别。 - - 对于 Anthropic Claude Opus 4.7,`/think xhigh` 会映射为自适应思考加上 `output_config.effort: "xhigh"`,因为 `/think` 是思考指令,而 `xhigh` 是 Opus 4.7 的 effort 设置。 - - Anthropic Claude Opus 4.7 也支持 `/think max`;它会映射到同一个由提供商控制的最大 effort 路径。 - - OpenAI GPT 模型会根据具体模型对 Responses API effort 的支持来映射 `/think`。只有当目标模型支持时,`/think off` 才会发送 `reasoning.effort: "none"`;否则 OpenClaw 会省略已禁用推理的 payload,而不会发送不受支持的值。 - - 走 Anthropic 兼容流式路径的 MiniMax(`minimax/*`)默认使用 `thinking: { type: "disabled" }`,除非你在模型参数或请求参数中显式设置 thinking。这样可避免 MiniMax 非原生 Anthropic 流格式泄露 `reasoning_content` 增量。 - - Z.AI(`zai/*`)只支持二元思考(`on`/`off`)。任何非 `off` 级别都会被视为 `on`(映射为 `low`)。 - - Moonshot(`moonshot/*`)会将 `/think off` 映射为 `thinking: { type: "disabled" }`,并将任何非 `off` 级别映射为 `thinking: { type: "enabled" }`。启用 thinking 时,Moonshot 只接受 `tool_choice` 为 `auto|none`;OpenClaw 会将不兼容的值规范化为 `auto`。 + - 思考菜单和选择器由 provider profile 驱动。提供商插件会为所选模型声明确切可用的级别集合,包括像二元 `on` 这样的标签。 + - `adaptive`、`xhigh` 和 `max` 只会在支持它们的提供商/模型 profile 中显示。对不支持的级别使用类型化指令时会被拒绝,并返回该模型的有效选项。 + - 已存储但不受支持的旧级别会按 provider profile 的等级重新映射。`adaptive` 在非自适应模型上会回退到 `medium`,而 `xhigh` 和 `max` 会回退到所选模型支持的最大非 `off` 级别。 + - Anthropic Claude 4.6 模型在未显式设置思考级别时默认使用 `adaptive`。 + - Anthropic Claude Opus 4.7 不默认启用自适应思考。其 API effort 默认值仍由提供商控制,除非你显式设置思考级别。 + - Anthropic Claude Opus 4.7 会将 `/think xhigh` 映射为自适应思考加上 `output_config.effort: "xhigh"`,因为 `/think` 是思考指令,而 `xhigh` 是 Opus 4.7 的 effort 设置。 + - Anthropic Claude Opus 4.7 也提供 `/think max`;它映射到同一个由提供商控制的最大 effort 路径。 + - OpenAI GPT 模型会根据具体模型对 Responses API effort 的支持情况来映射 `/think`。`/think off` 仅在目标模型支持时发送 `reasoning.effort: "none"`;否则 OpenClaw 会省略禁用推理的负载,而不是发送不受支持的值。 + - Anthropic 兼容流式路径上的 MiniMax(`minimax/*`)默认使用 `thinking: { type: "disabled" }`,除非你在模型参数或请求参数中显式设置 thinking。这样可以避免 MiniMax 非原生 Anthropic 流格式泄露 `reasoning_content` 增量内容。 + - Z.AI(`zai/*`)只支持二元 thinking(`on`/`off`)。任何非 `off` 级别都会被视为 `on`(映射为 `low`)。 + - Moonshot(`moonshot/*`)会将 `/think off` 映射为 `thinking: { type: "disabled" }`,将任何非 `off` 级别映射为 `thinking: { type: "enabled" }`。启用 thinking 时,Moonshot 只接受 `tool_choice` 为 `auto|none`;OpenClaw 会将不兼容的值规范化为 `auto`。 ## 解析顺序 -1. 消息中的内联指令(仅对该条消息生效)。 -2. 会话覆盖项(通过发送仅包含指令的消息来设置)。 +1. 消息上的内联指令(仅对该条消息生效)。 +2. 会话覆盖值(通过发送仅包含指令的消息设置)。 3. 每个智能体的默认值(配置中的 `agents.list[].thinkingDefault`)。 4. 全局默认值(配置中的 `agents.defaults.thinkingDefault`)。 -5. 回退:若可用,则使用提供商声明的默认值;对于其他被标记为支持推理的 catalog 模型,使用 `low`;否则为 `off`。 +5. 回退:优先使用提供商声明的默认值;其他被标记为支持推理的目录模型则使用 `low`;否则为 `off`。 ## 设置会话默认值 - 发送一条**仅包含指令**的消息(允许空白字符),例如 `/think:medium` 或 `/t high`。 -- 该设置会在当前会话中保持生效(默认按发送者区分);可通过 `/think:off` 或会话空闲重置来清除。 -- 会发送确认回复(`Thinking level set to high.` / `Thinking disabled.`)。如果级别无效(例如 `/thinking big`),命令会被拒绝,并给出提示,同时保持会话状态不变。 +- 该设置会固定在当前会话中(默认按发送者区分);可通过 `/think:off` 或会话空闲重置来清除。 +- 会发送确认回复(`Thinking level set to high.` / `Thinking disabled.`)。如果级别无效(例如 `/thinking big`),命令会被拒绝并给出提示,同时会话状态保持不变。 - 发送不带参数的 `/think`(或 `/think:`)可查看当前思考级别。 ## 按智能体应用 @@ -62,70 +62,70 @@ x-i18n: ## 快速模式(`/fast`) - 级别:`on|off`。 -- 仅包含指令的消息会切换会话快速模式覆盖项,并回复 `Fast mode enabled.` / `Fast mode disabled.`。 +- 仅指令消息会切换会话的快速模式覆盖值,并回复 `Fast mode enabled.` / `Fast mode disabled.`。 - 发送不带模式的 `/fast`(或 `/fast status`)可查看当前生效的快速模式状态。 - OpenClaw 按以下顺序解析快速模式: 1. 内联/仅指令 `/fast on|off` - 2. 会话覆盖项 + 2. 会话覆盖值 3. 每个智能体的默认值(`agents.list[].fastModeDefault`) 4. 每个模型的配置:`agents.defaults.models["/"].params.fastMode` 5. 回退:`off` -- 对于 `openai/*`,快速模式通过在受支持的 Responses 请求中发送 `service_tier=priority`,映射到 OpenAI 优先处理。 -- 对于 `openai-codex/*`,快速模式会在 Codex Responses 上发送同样的 `service_tier=priority` 标志。OpenClaw 在这两种认证路径之间共享同一个 `/fast` 开关。 -- 对于直接发往公共 `anthropic/*` 的请求,包括发送到 `api.anthropic.com` 的 OAuth 认证流量,快速模式会映射到 Anthropic 服务层级:`/fast on` 设置 `service_tier=auto`,`/fast off` 设置 `service_tier=standard_only`。 -- 对于走 Anthropic 兼容路径的 `minimax/*`,`/fast on`(或 `params.fastMode: true`)会将 `MiniMax-M2.7` 重写为 `MiniMax-M2.7-highspeed`。 -- 当二者同时设置时,显式的 Anthropic `serviceTier` / `service_tier` 模型参数会覆盖快速模式默认值。对于非 Anthropic 代理 base URL,OpenClaw 仍会跳过 Anthropic service-tier 注入。 +- 对于 `openai/*`,快速模式会通过在受支持的 Responses 请求中发送 `service_tier=priority`,映射为 OpenAI 优先处理。 +- 对于 `openai-codex/*`,快速模式会在 Codex Responses 上发送同样的 `service_tier=priority` 标志。OpenClaw 会在这两种 auth 路径之间共享同一个 `/fast` 开关。 +- 对于直接发送到 `api.anthropic.com` 的公开 `anthropic/*` 请求,包括使用 OAuth 认证的流量,快速模式会映射到 Anthropic service tiers:`/fast on` 设置 `service_tier=auto`,`/fast off` 设置 `service_tier=standard_only`。 +- 对于 Anthropic 兼容路径上的 `minimax/*`,`/fast on`(或 `params.fastMode: true`)会将 `MiniMax-M2.7` 改写为 `MiniMax-M2.7-highspeed`。 +- 当 Anthropic 的显式 `serviceTier` / `service_tier` 模型参数与快速模式默认值同时设置时,前者优先。对于非 Anthropic 代理 base URL,OpenClaw 仍会跳过 Anthropic service-tier 注入。 ## 详细模式指令(`/verbose` 或 `/v`) - 级别:`on`(最简)| `full` | `off`(默认)。 -- 仅包含指令的消息会切换会话详细模式,并回复 `Verbose logging enabled.` / `Verbose logging disabled.`;无效级别会返回提示,但不会更改状态。 -- `/verbose off` 会存储为显式会话覆盖项;可在 Sessions UI 中选择 `inherit` 来清除。 -- 内联指令仅影响该条消息;否则使用会话/全局默认值。 +- 仅指令消息会切换会话详细模式,并回复 `Verbose logging enabled.` / `Verbose logging disabled.`;无效级别会返回提示,但不会更改状态。 +- `/verbose off` 会存储为显式会话覆盖值;可在会话 UI 中选择 `inherit` 来清除。 +- 内联指令仅影响该条消息;否则应用会话/全局默认值。 - 发送不带参数的 `/verbose`(或 `/verbose:`)可查看当前详细级别。 -- 当详细模式开启时,会输出结构化工具结果的智能体(Pi、其他 JSON 智能体)会将每次工具调用作为独立的仅元数据消息发回;若可用,会以前缀 ` : ` 的形式显示(路径/命令)。这些工具摘要会在每个工具启动时立即发送(单独气泡),而不是作为流式增量发送。 -- 工具失败摘要在普通模式下仍然可见,但原始错误详情后缀会被隐藏,除非详细级别为 `on` 或 `full`。 -- 当详细级别为 `full` 时,工具输出也会在完成后转发(单独气泡,并截断到安全长度)。如果你在运行进行中切换 `/verbose on|full|off`,后续工具气泡会遵循新的设置。 +- 当详细模式开启时,能够发出结构化工具结果的智能体(Pi、其他 JSON 智能体)会将每次工具调用作为单独的仅元数据消息发回,并在可用时使用 ` : ` 作为前缀(path/command)。这些工具摘要会在每个工具启动时立即发送(单独消息气泡),而不是作为流式增量发送。 +- 工具失败摘要在普通模式下仍然可见,但原始错误详情后缀只有在详细模式为 `on` 或 `full` 时才会显示。 +- 当详细模式为 `full` 时,工具输出也会在完成后转发出来(单独消息气泡,截断到安全长度)。如果你在运行过程中切换 `/verbose on|full|off`,后续工具消息气泡会遵循新设置。 -## 插件追踪指令(`/trace`) +## 插件 trace 指令(`/trace`) - 级别:`on` | `off`(默认)。 -- 仅包含指令的消息会切换会话插件追踪输出,并回复 `Plugin trace enabled.` / `Plugin trace disabled.`。 -- 内联指令仅影响该条消息;否则使用会话/全局默认值。 -- 发送不带参数的 `/trace`(或 `/trace:`)可查看当前追踪级别。 -- `/trace` 比 `/verbose` 更窄:它只暴露插件拥有的追踪/调试行,例如 Active Memory 调试摘要。 -- 追踪行可出现在 `/status` 中,也可作为普通助手回复后的后续诊断消息出现。 +- 仅指令消息会切换会话插件 trace 输出,并回复 `Plugin trace enabled.` / `Plugin trace disabled.`。 +- 内联指令仅影响该条消息;否则应用会话/全局默认值。 +- 发送不带参数的 `/trace`(或 `/trace:`)可查看当前 trace 级别。 +- `/trace` 比 `/verbose` 更窄:它只暴露插件拥有的 trace/debug 行,例如 Active Memory 调试摘要。 +- Trace 行可能出现在 `/status` 中,也可能在正常助手回复后作为后续诊断消息出现。 ## 推理可见性(`/reasoning`) - 级别:`on|off|stream`。 -- 仅包含指令的消息会切换是否在回复中显示 thinking 块。 -- 启用后,推理会作为**单独一条消息**发送,并以 `Reasoning:` 为前缀。 -- `stream`(仅 Telegram):在回复生成过程中,将推理流式写入 Telegram 草稿气泡,最终发送的正式答案不包含推理。 +- 仅指令消息会切换是否在回复中显示思考块。 +- 启用时,推理内容会作为**单独消息**发送,并以 `Reasoning:` 为前缀。 +- `stream`(仅 Telegram):在生成回复期间将推理流式显示到 Telegram 草稿消息气泡中,随后发送不含推理的最终答案。 - 别名:`/reason`。 - 发送不带参数的 `/reasoning`(或 `/reasoning:`)可查看当前推理级别。 -- 解析顺序:内联指令,然后是会话覆盖项,然后是每个智能体的默认值(`agents.list[].reasoningDefault`),最后回退为 `off`。 +- 解析顺序:内联指令,然后是会话覆盖值,然后是每个智能体的默认值(`agents.list[].reasoningDefault`),最后回退为 `off`。 ## 相关内容 -- Elevated mode 文档位于 [Elevated mode](/zh-CN/tools/elevated)。 +- Elevated mode 文档位于[Elevated mode](/zh-CN/tools/elevated)。 ## 心跳 -- 心跳探测正文为已配置的心跳提示词(默认值:`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`)。心跳消息中的内联指令仍照常生效(但应避免通过心跳更改会话默认值)。 -- 心跳传递默认只发送最终 payload。若还要发送单独的 `Reasoning:` 消息(若可用),请设置 `agents.defaults.heartbeat.includeReasoning: true` 或每个智能体的 `agents.list[].heartbeat.includeReasoning: true`。 +- 心跳探测消息体是已配置的心跳提示词(默认:`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`)。心跳消息中的内联指令会照常生效(但应避免通过心跳更改会话默认值)。 +- 心跳传递默认仅发送最终负载。如需同时发送单独的 `Reasoning:` 消息(如果可用),请设置 `agents.defaults.heartbeat.includeReasoning: true` 或每个智能体的 `agents.list[].heartbeat.includeReasoning: true`。 -## Web 聊天 UI +## Web chat UI -- Web 聊天中的思考选择器会在页面加载时,从入站会话存储/config 中镜像该会话已存储的级别。 -- 选择其他级别会立即通过 `sessions.patch` 写入会话覆盖项;它不会等到下一次发送,也不是一次性的 `thinkingOnce` 覆盖。 -- 第一个选项始终是 `Default ()`,其中解析后的默认值来自当前活动会话模型的 provider thinking profile。 -- 选择器使用 Gateway 网关会话行返回的 `thinkingOptions`。浏览器 UI 不会维护自己的 provider 正则列表;模型特定级别集合由插件负责。 -- `/think:` 仍然有效,并会更新同一个已存储的会话级别,因此聊天指令与选择器保持同步。 +- Web chat 的思考选择器会在页面加载时,从传入的会话存储/config 中同步该会话已保存的级别。 +- 选择其他级别会立即通过 `sessions.patch` 写入会话覆盖值;不会等到下次发送,也不是一次性的 `thinkingOnce` 覆盖。 +- 第一个选项始终是 `Default ()`,其中解析后的默认值来自当前会话模型的 provider thinking profile。 +- 选择器使用 Gateway 网关会话行返回的 `thinkingOptions`。浏览器 UI 不维护自己的提供商正则列表;模型特定级别集合由插件负责。 +- `/think:` 仍然可用,并会更新同一个已存储的会话级别,因此聊天指令与选择器会保持同步。 -## Provider profiles +## provider profile -- 提供商插件可暴露 `resolveThinkingProfile(ctx)` 来定义模型支持的级别及默认值。 -- 每个 profile 级别都有一个已存储的规范 `id`(`off`、`minimal`、`low`、`medium`、`high`、`xhigh`、`adaptive` 或 `max`),并且可包含一个显示用 `label`。二元提供商使用 `{ id: "low", label: "on" }`。 -- 已发布的旧版 hook(`supportsXHighThinking`、`isBinaryThinking` 和 `resolveDefaultThinkingLevel`)仍保留作为兼容适配器,但新的自定义级别集合应使用 `resolveThinkingProfile`。 -- Gateway 网关行会暴露 `thinkingOptions` 和 `thinkingDefault`,以便 ACP/聊天客户端渲染与运行时校验相同的 profile。 +- 提供商插件可以公开 `resolveThinkingProfile(ctx)` 来定义模型支持的级别和默认值。 +- 每个 profile 级别都有一个存储用的规范 `id`(`off`、`minimal`、`low`、`medium`、`high`、`xhigh`、`adaptive` 或 `max`),并且可以包含显示用的 `label`。二元提供商使用 `{ id: "low", label: "on" }`。 +- 已发布的旧版 hook(`supportsXHighThinking`、`isBinaryThinking` 和 `resolveDefaultThinkingLevel`)仍保留为兼容适配器,但新的自定义级别集合应使用 `resolveThinkingProfile`。 +- Gateway 网关行会公开 `thinkingOptions` 和 `thinkingDefault`,以便 ACP/chat 客户端渲染与运行时验证相同的 profile。