### 变更内容
- **文档**:更新了入门指南/安装/i18n/执行审批/控制界面/exe.dev/缓存保留策略等内容,并修复了导航栏错位与拼写错误。(涉及多项提交编号)
- **Telegram**:改用共享配对存储。(#6127)感谢 @obviyus。
- **智能体**:为 OpenRouter 应用添加归属请求头。感谢 @alexanderatallah。
- **智能体**:添加系统提示词安全护栏。(#5445)感谢 @joshp123。
- **智能体**:将 pi-ai 更新至 0.50.9 版本,并将 `cacheControlTtl` 重命名为 `cacheRetention`(保持向后兼容映射)。
- **智能体**:扩展 `CreateAgentSessionOptions`,支持 `systemPrompt`/`skills`/`contextFiles`。
- **智能体**:添加工具策略一致性快照(不影响运行时行为)。(#6011)
- **认证**:更新 MiniMax OAuth 提示信息及门户认证说明文案。
- **Discord**:继承线程父级绑定以进行路由。(#3892)感谢 @aerolalit。
- **网关**:为智能体和聊天发送的消息注入时间戳。(#3705)感谢 @conroywhitney, @CashWilliams。
- **网关**:TLS 监听器要求最低使用 TLS 1.3 协议。(#5970)感谢 @loganaden。
- **Web 界面**:优化聊天布局并延长会话活跃时长。
- **持续集成**:添加正式一致性检查及别名一致性检查。(#5723, #5807)
### 修复内容
- **插件**:验证插件/钩子的安装路径,并拒绝类似路径遍历的名称。
- **Telegram**:为文件获取添加下载超时限制。(#6914)感谢 @hclsys。
- **Telegram**:强制执行私信与论坛发送的线程规范。(#6833)感谢 @obviyus。
- **流式处理**:在段落边界刷新块流式处理,以支持换行分块。(#7014)
- **流式处理**:稳定部分流式过滤器。
- **自动回复**:避免在 `/new` 问候提示中引用工作区文件。(#5706)感谢 @bravostation。
- **工具**:对齐工具执行适配器/签名(旧版、参数顺序及参数规范化)。
- **工具**:将 `"*"` 工具允许列表条目视为有效,以避免产生虚假的未知条目警告。
- **技能**:将会话日志路径从 `.clawdbot` 更新为 `.openclaw`。(#4502)
- **Slack**:加强媒体获取限制及 Slack 文件 URL 验证。(#6639)感谢 @davidiach。
- **代码检查**:在导入排序后满足花括号规则。(#6310)
- **进程**:通过必要时附加 `.cmd` 解决 Windows 上 npm 系列 CLI 的 `spawn()` 失败问题。(#5815)感谢 @thejhinvirtuoso。
- **Discord**:为允许列表和标签解析 PluralKit 代理发送者。(#5838)感谢 @thewilloftheshadow。
- **Tlon**:为 SSE 客户端获取调用添加超时(CWE-400)。(#5926)
- **内存搜索**:对本地嵌入向量进行 L2 归一化以修复语义搜索。(#5332)
- **智能体**:对齐嵌入式运行器与类型定义,以匹配 pi-coding-agent API 更新(pi 0.51.0)。
- **智能体**:确保 OpenRouter 归属请求头在嵌入式运行器中生效。
- **智能体**:为上下文窗口解析添加上限,作为压缩保护措施。(#6187)感谢 @iamEvanYT。
- **系统提示词**:使用 `session_status` 解析覆盖项和当前日期/时间提示。(#1897, #1928, #2108, #3677)
- **智能体**:修复 Pi 提示词模板参数语法。(#6543)
- **子智能体**:修复宣布故障转移竞争问题(始终发出生命周期结束事件;`timeout=0` 表示无超时)。(#6621)
- **团队**:限制媒体认证重试。
- **Telegram**:恢复草稿流式处理部分内容。(#5543)感谢 @obviyus。
- **入门指南**:提供更友好的 Windows 入门消息。(#6242)感谢 @shanselman。
- **文本用户界面**:防止在模型选择器中搜索数字时崩溃。
- **智能体**:将 `before_tool_call` 插件钩子接入工具执行流程。(#6570, #6660)感谢 @ryancnelson。
- **浏览器**:保护 Chrome 扩展中继 CDP 会话安全。
- **Docker**:在网关命令中使用容器端口而非主机端口。(#5110)感谢 @mise42。
- **修复(lobster)**:阻止通过 `lobsterPath`/`cwd` 注入进行任意执行(GHSA-4mhr-g7xj-cg8j)。(#5335)感谢 @vignesh07。
- **安全**:清理 WhatsApp `accountId` 以防止路径遍历。(#4610)
- **安全**:限制 `MEDIA` 路径提取以防止本地文件包含攻击。(#4930)
- **安全**:针对沙箱根目录验证 `message-tool` 的 `filePath`/`path`。(#6398)
- **安全**:阻止通过 `LD*`/`DYLD*` 环境变量覆盖进行主机执行。(#4896)感谢 @HassanFleyah。
- **安全**:加强 Web 工具内容包装及文件解析保护措施。(#4058)感谢 @VACInc。
- **安全**:强制执行 Twitch `allowFrom` 允许列表门控(拒绝未列入允许列表的发送者)。感谢 @MegaManSec。
### Changes
- Docs: onboarding/install/i18n/exec-approvals/Control UI/exe.dev/cacheRetention updates + misc nav/typos. (#3050, #3461, #4064, #4675, #4729, #4763, #5003, #5402, #5446, #5474, #5663, #5689, #5694, #5967, #6270, #6300, #6311, #6416, #6487, #6550, #6789)
- Telegram: use shared pairing store. (#6127) Thanks @obviyus.
- Agents: add OpenRouter app attribution headers. Thanks @alexanderatallah.
- Agents: add system prompt safety guardrails. (#5445) Thanks @joshp123.
- Agents: update pi-ai to 0.50.9 and rename cacheControlTtl -> cacheRetention (with back-compat mapping).
- Agents: extend CreateAgentSessionOptions with systemPrompt/skills/contextFiles.
- Agents: add tool policy conformance snapshot (no runtime behavior change). (#6011)
- Auth: update MiniMax OAuth hint + portal auth note copy.
- Discord: inherit thread parent bindings for routing. (#3892) Thanks @aerolalit.
- Gateway: inject timestamps into agent and chat.send messages. (#3705) Thanks @conroywhitney, @CashWilliams.
- Gateway: require TLS 1.3 minimum for TLS listeners. (#5970) Thanks @loganaden.
- Web UI: refine chat layout + extend session active duration.
- CI: add formal conformance + alias consistency checks. (#5723, #5807)
### Fixes
- Plugins: validate plugin/hook install paths and reject traversal-like names.
- Telegram: add download timeouts for file fetches. (#6914) Thanks @hclsys.
- Telegram: enforce thread specs for DM vs forum sends. (#6833) Thanks @obviyus.
- Streaming: flush block streaming on paragraph boundaries for newline chunking. (#7014)
- Streaming: stabilize partial streaming filters.
- Auto-reply: avoid referencing workspace files in /new greeting prompt. (#5706) Thanks @bravostation.
- Tools: align tool execute adapters/signatures (legacy + parameter order + arg normalization).
- Tools: treat `"*"` tool allowlist entries as valid to avoid spurious unknown-entry warnings.
- Skills: update session-logs paths from .clawdbot to .openclaw. (#4502)
- Slack: harden media fetch limits and Slack file URL validation. (#6639) Thanks @davidiach.
- Lint: satisfy curly rule after import sorting. (#6310)
- Process: resolve Windows `spawn()` failures for npm-family CLIs by appending `.cmd` when needed. (#5815) Thanks @thejhinvirtuoso.
- Discord: resolve PluralKit proxied senders for allowlists and labels. (#5838) Thanks @thewilloftheshadow.
- Tlon: add timeout to SSE client fetch calls (CWE-400). (#5926)
- Memory search: L2-normalize local embedding vectors to fix semantic search. (#5332)
- Agents: align embedded runner + typings with pi-coding-agent API updates (pi 0.51.0).
- Agents: ensure OpenRouter attribution headers apply in the embedded runner.
- Agents: cap context window resolution for compaction safeguard. (#6187) Thanks @iamEvanYT.
- System prompt: resolve overrides and hint using session_status for current date/time. (#1897, #1928, #2108, #3677)
- Agents: fix Pi prompt template argument syntax. (#6543)
- Subagents: fix announce failover race (always emit lifecycle end; timeout=0 means no-timeout). (#6621)
- Teams: gate media auth retries.
- Telegram: restore draft streaming partials. (#5543) Thanks @obviyus.
- Onboarding: friendlier Windows onboarding message. (#6242) Thanks @shanselman.
- TUI: prevent crash when searching with digits in the model selector.
- Agents: wire before_tool_call plugin hook into tool execution. (#6570, #6660) Thanks @ryancnelson.
- Browser: secure Chrome extension relay CDP sessions.
- Docker: use container port for gateway command instead of host port. (#5110) Thanks @mise42.
- fix(lobster): block arbitrary exec via lobsterPath/cwd injection (GHSA-4mhr-g7xj-cg8j). (#5335) Thanks @vignesh07.
- Security: sanitize WhatsApp accountId to prevent path traversal. (#4610)
- Security: restrict MEDIA path extraction to prevent LFI. (#4930)
- Security: validate message-tool filePath/path against sandbox root. (#6398)
- Security: block LD*/DYLD* env overrides for host exec. (#4896) Thanks @HassanFleyah.
- Security: harden web tool content wrapping + file parsing safeguards. (#4058) Thanks @VACInc.
- Security: enforce Twitch `allowFrom` allowlist gating (deny non-allowlisted senders). Thanks @MegaManSec.