### 变更内容
- **亮点功能**:数据压缩保护机制现已采用自适应分块、渐进式回退策略,并新增界面状态显示与重试功能。(#1466) 感谢 @dlauer。
- **服务提供商**:在状态输出中新增反重力使用情况追踪功能。(#1490) 感谢 @patelhiren。
- **Slack**:通过 `replyToModeByChatType` 参数新增按聊天类型覆盖回复线程的功能。(#1442) 感谢 @stefangalescu。
- **BlueBubbles**:在 `sendAttachment` 中新增对 MP3/CAF 格式语音备忘录的 `asVoice` 支持。(#1477, #1482) 感谢 @Nicell。
- **入门引导**:新增孵化器选择(TUI/网页版/稍后)、令牌说明器、macOS 后台仪表板种子功能及展示链接。
### 修复内容
- **BlueBubbles**:在空闲或无回复时停止显示输入指示器。(#1439) 感谢 @Nicell。
- **消息工具**:发送时保持 `path`/`filePath` 原样;仅在 `sendAttachment` 时填充缓冲区。(#1444) 感谢 @hopyky。
- **自动回复**:仅当会话状态可用时才报告模型切换。(#1465) 感谢 @robbyczgw-cla。
- **控制界面**:在注入和身份 RPC 中统一使用 `basePath` 解析本地头像 URL。(#1457) 感谢 @dlauer。
- **智能体**:清理助手历史文本以移除工具调用标记。(#1456) 感谢 @zerone0x。
- **Discord**:明确“消息内容意图”的入门提示说明。(#1487) 感谢 @kyleok。
- **网关**:在卸载前停止服务,若服务仍处于加载状态则报错。
- **智能体**:显示具体的 API 错误详情而非通用的 AI 服务错误。
- **执行模块**:当 PTY 生成失败时回退至非 PTY 模式(EBADF)。(#1484)
- **执行审批**:允许在网关和节点主机上为链式 shell 命令设置分段许可列表。(#1458) 感谢 @czekaj。
- **智能体**:OpenAI 会话仅进行图像清理;按提供商门控工具 ID/修复清理功能。
- **诊断工具**:在身份验证检查和安全审计令牌复用时遵循 `CLAWDBOT_GATEWAY_TOKEN` 设置。(#1448) 感谢 @azade-c。
- **智能体**:提升工具摘要的可读性,并仅在可选参数被设置时显示。
- **智能体**:即使 `SOUL.md` 文件被嵌套或使用路径限定符时,仍遵循其指导原则。(#1434) 感谢 @neooriginal。
- **Matrix(插件)**:为已解决的私聊持久化 `m.direct` 设置并强化房间回退机制。(#1436, #1486) 感谢 @sibbl。
- **命令行界面**:在输出中优先使用 `~` 表示主目录路径。
- **Mattermost(插件)**:强制实施配对/许可列表门控,保留 `@用户名` 目标,并明确仅限插件的文档说明。(#1428) 感谢 @damoahdominic。
- **智能体**:在运行器中集中进行转录清理;保留 `<final>` 标签和错误轮次完整。
- **身份验证**:在初始选择和轮换期间跳过处于冷却期的身份验证配置文件。(#1316) 感谢 @odrobnik。
- **智能体/TUI**:在冷却期仍遵循用户置顶的身份验证配置文件,并保持搜索选择器的排序。(#1432) 感谢 @tobiasbischoff。
- **文档**:修复 gog 身份验证服务示例以包含文档作用域。(#1454) 感谢 @zerone0x。
- **Slack**:减少 WebClient 重试次数以避免重复发送。(#1481)
- **Slack**:当提供 `threadId` 时读取线程回复以获取消息已读状态(仅限回复)。(#1450) 感谢 @rodrigouroz。
- **macOS**:在网关摘要中优先显示已链接的频道,以避免错误的“未链接”状态。
- **macOS/测试**:修复解除保护后的网关摘要查找问题;防止测试期间自动打开浏览器。(ECID-1483)
### Changes
- Highlight: Compaction safeguard now uses adaptive chunking, progressive fallback, and UI status + retries. (#1466) Thanks @dlauer.
- Providers: add Antigravity usage tracking to status output. (#1490) Thanks @patelhiren.
- Slack: add chat-type reply threading overrides via `replyToModeByChatType`. (#1442) Thanks @stefangalescu.
- BlueBubbles: add `asVoice` support for MP3/CAF voice memos in sendAttachment. (#1477, #1482) Thanks @Nicell.
- Onboarding: add hatch choice (TUI/Web/Later), token explainer, background dashboard seed on macOS, and showcase link.
### Fixes
- BlueBubbles: stop typing indicator on idle/no-reply. (#1439) Thanks @Nicell.
- Message tool: keep path/filePath as-is for send; hydrate buffers only for sendAttachment. (#1444) Thanks @hopyky.
- Auto-reply: only report a model switch when session state is available. (#1465) Thanks @robbyczgw-cla.
- Control UI: resolve local avatar URLs with basePath across injection + identity RPC. (#1457) Thanks @dlauer.
- Agents: sanitize assistant history text to strip tool-call markers. (#1456) Thanks @zerone0x.
- Discord: clarify Message Content Intent onboarding hint. (#1487) Thanks @kyleok.
- Gateway: stop the service before uninstalling and fail if it remains loaded.
- Agents: surface concrete API error details instead of generic AI service errors.
- Exec: fall back to non-PTY when PTY spawn fails (EBADF). (#1484)
- Exec approvals: allow per-segment allowlists for chained shell commands on gateway + node hosts. (#1458) Thanks @czekaj.
- Agents: make OpenAI sessions image-sanitize-only; gate tool-id/repair sanitization by provider.
- Doctor: honor CLAWDBOT_GATEWAY_TOKEN for auth checks and security audit token reuse. (#1448) Thanks @azade-c.
- Agents: make tool summaries more readable and only show optional params when set.
- Agents: honor SOUL.md guidance even when the file is nested or path-qualified. (#1434) Thanks @neooriginal.
- Matrix (plugin): persist m.direct for resolved DMs and harden room fallback. (#1436, #1486) Thanks @sibbl.
- CLI: prefer `~` for home paths in output.
- Mattermost (plugin): enforce pairing/allowlist gating, keep @username targets, and clarify plugin-only docs. (#1428) Thanks @damoahdominic.
- Agents: centralize transcript sanitization in the runner; keep <final> tags and error turns intact.
- Auth: skip auth profiles in cooldown during initial selection and rotation. (#1316) Thanks @odrobnik.
- Agents/TUI: honor user-pinned auth profiles during cooldown and preserve search picker ranking. (#1432) Thanks @tobiasbischoff.
- Docs: fix gog auth services example to include docs scope. (#1454) Thanks @zerone0x.
- Slack: reduce WebClient retries to avoid duplicate sends. (#1481)
- Slack: read thread replies for message reads when threadId is provided (replies-only). (#1450) Thanks @rodrigouroz.
- macOS: prefer linked channels in gateway summary to avoid false “not linked” status.
- macOS/tests: fix gateway summary lookup after guard unwrap; prevent browser opens during tests. (ECID-1483)