← 返回更新日志

OpenClaw v2026.1.16-2

2026-01-17 · GitHub 原文
### 亮点 - **钩子**:新增钩子系统,包含捆绑钩子、CLI工具和文档。(#1028)——感谢 @ThomsenDrake。https://docs.clawd.bot/hooks - **媒体**:新增对入站媒体(图片/音频/视频)的理解能力,支持提供商 + CLI 回退。https://docs.clawd.bot/nodes/media-understanding - **插件**:新增 Zalo 个人插件 (`@clawdbot/zalouser`),并为插件统一了渠道目录。(#1032)——感谢 @suminhthanh。https://docs.clawd.bot/plugins/zalouser - **模型**:新增 Vercel AI Gateway 认证选项及入门引导更新。(#1016)——感谢 @timolins。https://docs.clawd.bot/providers/vercel-ai-gateway - **会话**:新增 `session.identityLinks`,用于跨平台 DM 会话关联。(#1033)——感谢 @thewilloftheshadow。https://docs.clawd.bot/concepts/session - **网络搜索**:新增 `country`/`language` 参数(架构 + Brave API)及文档。(#1046)——感谢 @YuriNachos。https://docs.clawd.bot/tools/web ### 不兼容变更 - **不兼容变更:** `clawdbot message` 和消息工具现在需要 `target` 参数(目标地址不再使用 `to`/`channelId`)。(#1034)——感谢 @tobalsan。 - **不兼容变更:** 渠道认证现在优先使用配置文件,其次才是环境变量(针对 Discord/Telegram/Matrix,环境变量仅作回退)。(#1040)——感谢 @thewilloftheshadow。 - **不兼容变更:** 弃用旧的 `chatType: "room"`;请使用 `chatType: "channel"`。 - **不兼容变更:** 移除旧的、特定于提供商的目标解析回退机制;目标解析现在通过插件提示和目录查找集中处理。 - **不兼容变更:** `clawdbot hooks` 命令现已更名为 `clawdbot webhooks`;钩子相关功能现在位于 `clawdbot hooks` 命令下。https://docs.clawd.bot/cli/webhooks - **不兼容变更:** `clawdbot plugins install <path>` 现在会将插件复制到 `~/.clawdbot/extensions` 目录下(如需保持基于路径的加载方式,请使用 `--link` 参数)。 ### 变更 - **插件**:默认禁用已捆绑的插件,并允许通过已安装的版本进行覆盖。(#1066)——感谢 @ItzR3NO。 - **插件**:新增捆绑的 Antigravity、Gemini CLI OAuth 和 Copilot Proxy 提供商插件。(#1066)——感谢 @ItzR3NO。 - **工具**:使用 Readability 改进了 `web_fetch` 的提取能力(并保留回退方案)。 - **工具**:当配置了 Firecrawl 时,为 `web_fetch` 添加了 Firecrawl 回退方案。 - **工具**:`web_fetch` 默认发送类似 Chrome 的请求头,以改善在反机器人站点上的提取效果。 - **工具**:Firecrawl 回退方案现在默认使用机器人规避技术 + 缓存;当提取失败时,不再使用基础的 HTML 回退方案。 - **工具**:`exec` 工具默认启用退出通知,并自动将旧的 `tools.bash` 配置迁移到 `tools.exec`。 - **工具**:为 `exec` 工具添加了 PTY(伪终端)支持,以实现交互式会话。https://docs.clawd.bot/tools/exec - **工具**:为 PTY 会话添加了 tmux 风格的 `process send-keys` 命令和括号粘贴辅助功能。 - **工具**:添加了 `process submit` 辅助功能,用于向 PTY 会话发送回车符。 - **工具**:现在可以响应 PTY 的光标位置查询,以解除交互式 TUI 的阻塞状态。 - **工具**:在详细模式下包含工具输出,并扩展了详细的工具反馈信息。 - **技能**:更新了编码助手指南,优先使用支持 PTY 的 exec 运行,并简化了 tmux 的使用。 - **TUI**:在会话运行完成或失败后,刷新会话令牌计数。(#1079)——感谢 @d-ploutarchos。 - **状态**:将 `/status` 命令精简为仅显示当前提供商的使用情况,并移除了 OAuth/令牌相关的信息块。 - **目录**:统一了 `clawdbot directory` 命令在普通渠道和插件渠道中的行为。 - **UI**:现在可以在控制界面中删除会话。 - **技能**:新增了用户可调用的技能命令,并扩展了技能命令的注册方式。 - **Telegram**:默认将反应级别设为最低,并默认启用反应通知。 - **Telegram**:允许回复链中的消息绕过群组中的提及限制。(#1038)——感谢 @adityashaw2。 - **iMessage**:为虚拟机/SSH 部署添加了远程附件支持。 - **消息**:在解析目标地址时,刷新实时目录缓存的结果。 - **消息**:将已发送的出站文本/媒体镜像记录到会话记录中。(#1031)——感谢 @TSavo。 - **消息**:避免 iMessage 和 Signal 群聊中产生重复的发送者信封信息。(#1080)——感谢 @tyler6204。 - **媒体**:标准化了 Deepgram 音频上传的字节格式,以确保兼容性。 - **定时任务**:隔离的定时任务现在每次运行都会创建一个新的会话 ID,以防止上下文累积。 - **文档**:新增 `/help` 帮助中心、Node/npm PATH 指南,并扩展了目录 CLI 的文档。 - **配置**:支持在配置值中进行环境变量替换。(#1044)——感谢 @sebslight。 - **健康检查**:新增每个代理的会话摘要和账户级别的健康详情,并允许选择性探测。(#1047)——感谢 @gumadeiras。 - **钩子**:新增钩子包安装功能(支持 npm/路径/zip/tar 格式),包含 `clawdbot.hooks` 清单文件和 `clawdbot hooks install/update` 命令。 - **插件**:新增 zip 包安装方式,以及 `--link` 参数以避免复制本地路径。 ### 修复 - **macOS**:在等待子进程前先清空其管道,以避免死锁。(#1081)——感谢 @thesash。 - **详细模式**:仅在支持 Markdown 的渠道中将工具摘要/输出用 Markdown 包裹。 - **Telegram**:接受 tg/group/telegram 前缀 + 话题目标用于内联按钮验证。(#1072)——感谢 @danielz1z。 - **Telegram**:将过长的标题拆分为多条后续消息发送。 - **配置**:在配置无效时阻止启动,保留尽最大努力生成的 doctor 配置,并保持滚动配置备份。(#1083)——感谢 @mukhtharcm。 - **子代理**:标准化公告发送来源,并按 accountId 对队列进行分组,以保持多账户路由的稳定性。(#1061, #1058)——感谢 @adam91holt。 - **会话**:在 sessions.list 中包含 deliveryContext,并在公告/重启回退时重用标准化的发送路由。(#1058) - **会话**:将 deliveryContext 传播到最后路由的更新中,以保持账户/渠道路由的稳定性。(#1058) - **会话**:在 `/new` 重置时保留覆盖设置。 - **内存**:防止监视/间隔同步失败时出现未处理的拒绝异常。(#1076)——感谢 @roshanasingh4。 - **内存**:避免在嵌入模型返回 429/配额不足错误时导致网关崩溃(禁用工具并显示错误)。(#1004) - **网关**:遵守明确的发送目标,不再隐式回退到 accountId;保留 lastAccountId 用于隐式路由。 - **网关**:当请求的渠道不同时,避免重用 last-to/accountId;使 deliveryContext 与最后路由字段同步。 - **构建**:允许在支持的平台上构建 `@lydell/node-pty`。 - **仓库**:修正 oxlint 配置文件名称,并将忽略模式移至配置文件中。(#1064)——感谢 @connorshea。 - **消息**:`/stop` 命令现在会硬中止队列中的后续消息和子代理运行;抑制计数为零的停止通知。 - **消息**:在去重发送时,遵循消息工具中指定的渠道。 - **消息**:跨渠道为实时群组消息包含发送者标签,使其与队列/历史消息的格式一致。(#1059) - **会话**:在 `/new` 和 `/reset` 时重置 `compactionCount`,并保留 `sessions.json` 文件的权限模式(0600)。 - **会话**:在内嵌提示之前修复孤立的用户轮次。 - **会话**:`sessions.delete` 清理操作现在会硬停止相关进程。 - **渠道**:在支持的渠道中,将对机器人的回复视为隐式提及。 - **渠道**:在渠道能力解析中,标准化了对象格式的能力表示。 - **安全**:默认拒绝斜杠/控制命令,除非渠道计算得出 `CommandAuthorized`(修复了意外的“开放”行为),并确保 WhatsApp 和 Zalo 插件渠道正确拦截行内的 `/…` 令牌。https://docs.clawd.bot/gateway/security - **安全**:在网关 WebSocket 日志中对敏感文本进行脱敏处理。 - **工具**:限制待处理的 `exec` 进程输出,以避免缓冲区无限增长。 - **CLI**:通过避免在标准化渠道 ID 时导入繁重的插件,加快了 `clawdbot sandbox-explain` 命令的速度。 - **浏览器**:远程配置文件标签页操作现在优先使用持久化的 Playwright 实例,并避免静默的 HTTP 回退。(#1057)——感谢 @mukhtharcm。 - **浏览器**:远程配置文件标签页操作的后续改进:共享 Playwright 加载器、基于 Playwright 的焦点功能,以及更多的覆盖范围(包括可选的实时 Browserless 测试)。(#1057 的后续)——感谢 @mukhtharcm。 - **浏览器**:导航后刷新扩展中继标签页的元数据,以确保 `/json/list` 信息保持最新。(#1073)——感谢 @roshanasingh4。 - **WhatsApp**:限定自言自语响应的前缀范围;仅注入待处理的群组历史消息,并在处理任何消息后清除。 - **WhatsApp**:在 `describeAccount` 中包含 `linked` 字段。 - **代理**:丢弃未签名的 Gemini 工具调用,并避免 JSON Schema 中 `format` 关键字的冲突。 - **代理**:当主要模型已支持图像时,隐藏图像工具。 - **代理**:避免在 `message` 工具发送后,又通过回复 `NO_REPLY` 造成重复发送。 - **认证**:子代理继承/合并主代理的认证配置文件。 - **网关**:为安全探测解析本地认证,并验证网关令牌/密码文件的权限模式。(#1011, #1022)——感谢 @ivanrvpereira, @kkarimi。 - **Signal/iMessage**:将传输就绪等待时间限制为 30 秒,并定期记录日志。(#1014)——感谢 @Szpadel。 - **iMessage**:避免 RPC 重启循环。 - **OpenAI 图像生成**:处理 URL + `b64_json` 响应,并移除已弃用的 `response_format`(改用 URL 下载)。 - **CLI**:当通过包管理器安装时,自动更新全局安装。 - **路由**:将旧的 `accountID` 绑定迁移到 `accountId`,并移除旧的回退查找逻辑。(#1047)——感谢 @gumadeiras。 - **Discord**:将技能命令描述截断为 100 个字符,以满足斜杠命令的长度限制。(#1018)——感谢 @evalexpr。 - **安全**:将 `tar` 依赖包升级到 7.5.3 版本。 - **模型**:对齐 ZAI 思考功能的切换开关。 - **iMessage/Signal**:为非队列群组消息包含发送者元数据。(#1059) - **Discord**:在分割长消息时保留空白字符,以确保分割后的消息保持原有的间距。 - **技能**:修复了技能监视器忽略列表的类型定义问题(tsc)。