← 返回更新日志

OpenClaw v2026.1.11

2026-01-12 · GitHub 原文
### 亮点 - 插件现已成为一级功能:支持加载器与命令行管理,并新增语音通话插件。 - 配置:支持模块化 `$include` 指令,可用于拆分配置文件。(#731) — 感谢 @pasogott。 - 智能体/记忆保留:预留压缩空间,使得预压缩内存写入能在自动压缩前运行。 - 智能体:自动预压缩内存刷入,在压缩前将记忆转为持久化存储。 ### 变更 - 依赖:更新 pi-agent-core/pi-ai/pi-coding-agent/pi-tui 并刷新 pi-ai 补丁。 - 开发:升级 @types/node。 - macOS:添加向导调试命令行界面并共享向导解析辅助函数。 - 命令行/初始化引导:将 MiniMax 认证选项简化为单一的 M2.1 选项。 - 命令行:配置部分的选项选择现在会循环直到选择继续。 - 文档:解释 MiniMax 与 MiniMax Lightning 的区别(速度与成本的权衡),并恢复 LM Studio 配置示例。 - 文档:添加 Cerebras GLM 4.6/4.7 配置示例(兼容 OpenAI 的端点)。 - 初始化引导/命令行:按提供商分组模型/认证选项,并将 Z.AI 标记为 GLM 4.7。 - 初始化引导/文档:添加 Moonshot AI (Kimi K2) 认证选项及配置示例。 - 命令行/初始化引导:提示重用检测到的 Moonshot/MiniMax/Z.AI/Gemini/Anthropic/OpenCode 的 API 密钥。 - 命令行/初始化引导:将 MiniMax 移至提供商列表顶部。 - 命令行/初始化引导:添加 MiniMax M2.1 Lightning 认证选项。 - 命令行/初始化引导:重用检测到的 API 密钥时,显示密钥预览。 - 自动回复:添加紧凑的 `/model` 选择器(模型 + 可用提供商),并在 `/model status` 中显示提供商端点。 - 控制界面:在配置选项卡中添加模型预设(MiniMax M2.1, GLM 4.7, Kimi),实现一键设置。 - 插件:添加扩展加载器(工具/RPC/命令行/服务)、发现路径、配置模式以及控制界面标签(uiHints)。 - 插件:添加 `clawdbot plugins install` 命令(支持路径/tgz/npm),以及 `list|info|enable|disable|doctor` 的用户体验。 - 插件:语音通话插件现已可用(基于 Twilio/日志),添加了启动/状态 RPC/命令行/工具及测试。 - 文档:添加插件文档,并与工具/技能/网关配置相互链接。 - 文档:在内存/会话/常见问题中阐明内存刷写行为及可写工作空间的要求。 - 文档:添加面向初学者的插件快速入门指南,并扩展语音通话插件文档。 - 测试:添加 Docker 插件加载器及 tgz 安装的冒烟测试。 - 测试:扩展 Docker 插件端到端测试,涵盖从本地文件夹(`plugins.load.paths`)和 `file:` npm 规范安装。 - 测试:增加预压缩内存刷写设置的测试覆盖率(包括只读/命令行跳过情况)。 - 测试:针对当前版本,更新了实时模型冒烟选择,并强制覆盖工具/图像/深度思考功能。(#769) — 感谢 @steipete。 - 智能体/工具:添加 `apply_patch` 工具用于多文件编辑(实验性;由 tools.exec.applyPatch 控制;仅限 OpenAI)。 - 智能体/工具:将 bash 工具重命名为 exec(保留配置别名)。(#748) — 感谢 @myfunc。 - 智能体:添加预压缩内存刷写配置(`agents.defaults.compaction.*`),包含软阈值和系统提示。 - 配置:添加 `$include` 指令,用于模块化配置文件。(#731) — 感谢 @pasogott。 - 构建:将 pnpm 最低发布时长设置为 2880 分钟(2 天)。(#718) — 感谢 @dan-dr。 - macOS:在本地模式下,当全局 `clawdbot` 命令行工具缺失时提示安装;通过 `clawd.bot/install-cli.sh` 安装(无初始化引导),并使用外部的 launchd/命令行工具替代内置的网关运行时。 - 文档:添加来自 `gog calendar colors` 的 gog 日历事件颜色 ID。(#715) — 感谢 @mjrussell。 - 定时任务/命令行:为 cron 添加/编辑命令添加 `--model` 标志。(#711) — 感谢 @mjrussell。 - 定时任务/命令行:在编辑定时任务时修剪模型覆盖,并记录主会话指引。(#711) — 感谢 @mjrussell。 - 技能:捆绑 `skill-creator` 以指导创建和打包技能。 - 提供商:添加按私信的历史记录限制覆盖(`dmHistoryLimit`),可在提供商级别配置。(#728) — 感谢 @pkrmf。 - Discord:在消息工具中暴露频道/分类管理操作。(#730) — 感谢 @NicholasSpisak。 - 文档:将 README 中的 “macOS 应用” 部分重命名为 “应用”。(#733) — 感谢 @AbhisekBasu1。 - 网关:要求在 WebSocket 连接参数中提供 `client.id`;使用 `client.instanceId` 进行在线状态去重;更新文档/测试。 - macOS:移除仅附加网关设置;本地模式现在始终管理 launchd,同时如果已有网关在运行则仍会附加到该网关。 ### 安装程序 - 安装后:用内置的 JS 补丁工具替换 `git apply`(适用于 npm/pnpm/bun;无需 git 依赖),并添加回归测试。 - 安装后:当新补丁工具激活时,跳过 pnpm 补丁回退。 - 安装程序测试:添加 root+非 root 的 Docker 冒烟测试,以及 CI 工作流,用于获取 clawd.bot 脚本并运行跳过初始化引导的 install sh/cli。 - 安装程序用户体验:支持 `CLAWDBOT_NO_ONBOARD=1` 环境变量用于非交互式安装;修复 Linux 上的 npm 前缀问题,并自动安装 git。 - 安装程序用户体验:为 `install.sh` 添加 `--help` 选项,显示标志/环境变量及 git 安装提示。 - 安装程序用户体验:添加 `--install-method git|npm` 选项,并自动检测源码检出情况(提示更新 git 检出 vs 迁移到 npm)。 ### 修复 - 控制界面:在平板/手机上,将导航栏扁平化为单行水平滚动条(并始终显示折叠的组内项目)。(#771) — 感谢 @carlulsoe。 - macOS:在初始化向导开始前启动并等待本地网关就绪。 - macOS:关闭时取消初始化向导,如果网关断开会话则尝试恢复,并对停滞的网关连接设置超时。 - macOS:向导调试命令行界面现在显示错误状态,而不是直接退出并标记为完成。 - 模型/初始化引导:默认通过兼容 Anthropic 的 `/anthropic` 端点配置 MiniMax (minimax.io)(保留 `minimax-api` 作为旧版别名)。 - 智能体/浏览器:限制 Playwright 用于工具调用的 AI 快照长度(maxChars);命令行快照保持完整。(#763) — 感谢 @thesash。 - 模型:将 Gemini 3 Pro/Flash 的 ID 规范化为预览名称,以便进行实时模型查找。(#769) — 感谢 @steipete。 - 命令行:修复配置提示中的 guardCancel 类型问题。(#769) — 感谢 @steipete。 - 提供商:将默认组策略设置为允许列表,并在组处于开放状态时在 doctor 中发出警告。 - MS Teams:为群组聊天添加 groupPolicy/groupAllowFrom 限制,并在群组开放时发出警告。 - 提供商:从 Gemini 命令行负载中移除工具调用/结果 ID,以避免 API 400 错误。(#756) - 网关/网页聊天:在 WebSocket 关闭原因中包含握手验证详情,以便于调试;保留关闭代码。 - 网关/认证:在关闭握手前发送无效的连接响应;稳定化无效连接认证测试。 - 网关:加强网关监听器检测。 - 控制界面:配置完成后隐藏初始化聊天,并保护移动端聊天侧边栏的覆盖层。 - 认证:读取 Codex 密钥链凭据,并使查找过程感知平台。 - macOS/发布:避免在 relay 构建中捆绑分发产物,并仅从 zip 源生成应用更新信息。 - Doctor:在报告中展示插件诊断信息。 - 插件:当 `plugins.load.paths` 目录条目包含 `package.json` 和 `clawdbot.extensions` 时,将其视为包根目录;从配置目录加载插件包;不使用系统 tar 解压归档文件。 - 配置:在 `CLAWDBOT_CONFIG_PATH` 和常见的路径类配置字段(包括 `plugins.load.paths`)中扩展 `~`;保护无效的 `$include` 路径。(#731) — 感谢 @pasogott。 - 智能体:停止预创建会话记录文件,以便第一条用户消息能持久化到 JSONL 历史中。 - 智能体:当会话工作空间为只读时,跳过预压缩内存刷写。 - 自动回复:允许来自白名单发送者的内联 `/status` 命令(在发送给模型前移除);未授权发送者会将其视为普通文本。 - 自动回复:即使模型目录不完整,也会在 `/model` 中包含仅配置白名单的模型。 - 自动回复:当无歧义时,允许模糊匹配的 `/model` 命令(例如 `/model kimi` 或 `/model moonshot/kimi`)。 - 自动回复:除非消息仅包含指令,否则忽略内联的 `/status` 指令。 - 命令行/配置:立即进入所选部分,然后返回部分选择器。 - 命令行/配置:将选择的认证模型设置为默认模型(跳过额外的选择器),并为新提供商刷新模型目录。 - 自动回复:使 `/think` 默认显示与模型推理默认值对齐。(#751) — 感谢 @gabriel-trigo。 - 自动回复:在工具边界刷新块回复缓冲区。(#750) — 感谢 @sebslight。 - 自动回复:当 `SenderId` 为空时(如 WhatsApp 自聊天),允许发送者回退以进行命令授权。(#755) — 感谢 @juanpablodlc。 - 心跳:刷新提示文本以匹配更新后的默认值。 - 智能体/工具:在 Windows 上使用 PowerShell 捕获系统工具输出。(#748) — 感谢 @myfunc。 - 智能体/工具:规范化 Claude Code 风格的读/写/编辑参数(file_path/old_string/new_string),并保持沙箱保护措施。(#768) — 感谢 @hsrvc。 - Docker:在严格模式下,容忍 docker-setup.sh 中未设置的可选环境变量。(#725) — 感谢 @petradonka。 - 命令行/更新:在向更新子进程传递覆盖参数时,保留基础环境。(#713) — 感谢 @danielz1z。 - 智能体:将消息工具错误视为失败,以便仍能发送回退回复;对于 `action=send`,要求提供 `to` 和 `message`。(#717) — 感谢 @theglove44。 - 智能体:在仅工具调用的交互中保留推理项目。 - 智能体:对使用推理标签的提供商强制执行 `<final>` 门控,防止标签/推理内容泄漏。(#754) — 感谢 @mcinteerj。 - 智能体/子智能体:等待子智能体完成后再进行宣布,使等待超时与运行超时一致,并让宣布提示更醒目。 - 智能体:将子智能体的会话记录路由到目标智能体的会话目录,并添加回归测试覆盖。(#708) — 感谢 @xMikeMickelson。 - 智能体/工具:在扁平化工具模式时保留操作枚举。(#708) — 感谢 @xMikeMickelson。 - 网关/智能体:为存储写入规范化主会话别名,并添加回归测试覆盖。(#709) — 感谢 @xMikeMickelson。 - 智能体:当自动压缩溢出时,重置会话并重试,而不是使网关崩溃。 - 提供商/Telegram:规范化命令提及,确保解析一致。(#729) — 感谢 @obviyus。 - 提供商:对非私信会话跳过私信历史限制处理。(#728) — 感谢 @pkrmf。 - 沙箱:修复非主模式错误地对主私信会话应用沙箱的问题,并使 `/status` 运行时报告与实际沙箱状态一致。 - 沙箱/网关:当 `session.mainKey` 被自定义时,将 `agent:<id>:main` 视为主会话别名(向后兼容)。 - 自动回复:快速路径处理白名单内的斜杠命令(在发送给模型前移除内联的 `/help`/`/commands`/`/status`/`/whoami`)。