OpenClaw 24h 更新快报(2026-03-29):Agent 运行时稳定性、xAI Provider 重构、HTTP 路由安全修复

内容管家 AI领域评论24字数 1493阅读4分58秒阅读模式
OpenClaw 24h 更新快报(2026-03-29):Agent 运行时稳定性、xAI Provider 重构、HTTP 路由安全修复

OpenClaw 24h 更新快报(2026-03-28):Agent 运行时稳定性、xAI Provider 重构、HTTP 路由安全修复

过去24小时,OpenClaw 合并了超过40个 PR,覆盖 Agent 运行时稳定性修复、多渠道消息可靠性改进,以及 xAI Provider 从旧版 Chat Completions 向 Responses API 的全面迁移。其中最受关注的改动包括:Agent 运行时新增 unhandled stop reason 兜底处理,避免个别 Provider 返回未知停止原因时整个会话崩溃;HTTP OpenAI 兼容路由补全了 operator.write 权限检查,堵住了一个可能导致权限绕过的安全缺口;Telegram 频道连续发布四条稳定性修复,涵盖空消息崩溃、过长消息分词、超长回复 ID 校验等常见场景。

Agent 运行时稳定性

PR #56639 为 Agent 运行时添加了 unhandled stop reason 的兜底捕获逻辑。以往当模型 Provider 返回一个框架尚未认识的停止原因时,OpenClaw 会直接崩溃,导致整个会话中断。新逻辑将这类情况包装为结构化的 Assistant 错误响应而非异常抛出,覆盖所有未知停止原因而非仅限于 sensitive 类,具备前瞻性。涉及文件包括 Agent 流处理封装及相关测试。

PR #56612 修复了 NO_REPLY 指令被 JSON 包装后仍进入渠道投递流程的问题。新增 isSilentReplyPayloadText() 检测函数,同时识别裸露的 NO_REPLY token 和 { action: "NO_REPLY" } 包装格式,在 reply 指令解析、normalize 和 embedded agent payload 构建三处统一拦截,避免静默指令经渠道处理后产生意外输出,影响所有频道。

HTTP 路由安全

PR #56618 修复了一个权限漏洞:OpenAI 兼容的 HTTP 发送路由在认证 bearer 请求后,并未强制执行与 WebSocket 发送路径相同的 operator method scope 检查。这意味着持有 operator.approvals 权限的调用者,在 WebSocket 路径下会被正确拒绝,但在 HTTP 路径下可能被放过。该修复将 scope 检查对齐到两种传输路径,所有 HTTP 工具调用路由均受影响。

Telegram 频道稳定性

本次更新集中修复了 Telegram 频道多个常见崩溃场景。PR #56620 处理 Telegram API 返回空文本回复时 GrammError 400 导致进程崩溃的问题,改为跳过空内容而非抛出异常。PR #56595 将长消息的分词逻辑从 mid-word 切断改为在单词边界处拆分,改善消息可读性。PR #56587 在发送前校验 replyToMessageId 是否合法,减少因无效引用导致的 API 错误。结合 PR #56175 修正在 Telegram 模型选择器中显示模型名称而非内部 ID,这一组修复显著提升了 Telegram 用户侧的交互可靠性。

xAI Provider 重构:迁移至 Responses API

PR #56048 是本周期最大规模的改动,将 OpenClaw 绑定的 xAI Provider 从旧版 Chat Completions 假设全面迁移至 Responses API,同时接入 x_search 搜索工具。原实现混合了部分 Responses 支持和不完整的 xAI 工具配置,导致 Grok 模型被选中后可能在运行时失败或无法暴露可用工具。重构内容包括:将 code_execution 配置移入插件内部、补充 x_search 工具注册、清理遗留的 reasoning 参数处理、修复认证发现链路,以及更新文档中的密钥引用矩阵。相关提交涵盖认证解析统一、session auth 保留、Web Search Key 复用等多个维度。

Provider 模型解析修复

PR #56567 修复了 Google Vertex/Gemini CLI 等别名 Provider 无法正确解析 Gemini 3.1 系列模型的问题。原代码将 provider ID 硬编码为 "google" 用于模板查找,导致别名 Provider 匹配失败。新逻辑从运行时上下文传入实际 Provider ID 并增加 templateProviderId 回退机制,跨 Provider 模板复用得以保障。

PR #55201 为 model-fallback 模块的故障分类添加 HTTP 410(Gone)状态码支持,使模型降级逻辑在遇到服务器明确告知资源已下线时能够正确归因并触发 failover。

安全审计:Web Search Key 覆盖范围扩展

PR #56540 扩大了 hasWebSearchKey() 的检查范围。原实现仅硬编码检查 Brave 和 Perplexity 凭证,现已改为调用 resolveBundledPluginWebSearchProviders() 实现 provider 感知的动态检查,覆盖 Gemini、Grok/XAI、Kimi、Moonshot 和 OpenRouter 等新增的搜索集成。

渠道与投递路径修复

PR #56348 修复了 extension channel(外部渠道插件)无法在 subagent announce 投递路径中正常工作的缺陷。以往 completion announce 请求的来源渠道仅在内置允许列表中才会被视作可投递目标,新逻辑改为仅在内置渠道或目标缺失时才禁用外部投递,保留了 raw normalized 外部渠道的路由能力。

PR #56476 修复 ACP(Agent Communication Protocol)绑定在运行时退出后残留导致下次初始化失败的问题。SIGTERM 触发的运行时失败现被正确识别为可恢复错误并用新句柄重试,同时在会话初始化失败时解绑陈旧会话。

PR #56573 为 BlueBubbles 防抖刷新逻辑增加 null text 守卫,避免文本为空时产生异常。

控制台与 CLI 体验改进

PR #56101 将 Agent 会话工作区复用至 HTTP 工具加载流程,使插件加载使用与网关启动时相同的 workspace scope 缓存键,减少重复初始化开销,改善工具调用延迟。

PR #56555 修复 CLI zsh 自动补全注册时机问题,将 compdef 注册延迟至 compinit 就绪后执行,避免 zsh 环境下初始化顺序导致的补全失效。

PR #56551 改善 Dashboard 设置命令的交互文案,修正引导流程中的措辞,使新用户首次配置时更易理解。

本周期更新以稳定性修复和 Provider 重构为主线,安全、渠道、工具链多处协同改进,OpenClaw 基础能力持续深化。

常用链接

  • OpenClaw 项目地址
  • OpenClaw Releases

 
内容管家

发表评论