← 返回更新日志

OpenClaw v2.0.0-beta1 预发布

2025-12-19 · GitHub 原文
这是品牌重塑后的首个Clawdis版本。由于我们移除了旧版提供程序/代理,将默认路径迁移至新位置,同时新增了完整的macOS配套应用、WebSocket网关和iOS节点,因此这是一个主版本号变更的重要更新。 ### 错误修复 - macOS:语音唤醒/即按即说功能不再在应用启动时初始化`AVAudioEngine`,避免在未使用语音功能时,蓝牙耳机切换至耳麦模式。(感谢 @Nachx639) ### 重大变更 - 更名为 **Clawdis**:默认配置现位于`~/.clawdis`(会话数据在`~/.clawdis/sessions/`,IPC通信在`~/.clawdis/clawdis.sock`,日志在`/tmp/clawdis`)。Launchd服务标签和配置文件名均已更新;首次运行时,旧版数据会被复制过来。 - 仅限树莓派:`inbound.reply.agent.kind` 现在只接受`"pi"`,并且移除了针对Claude/Codex/Gemini的代理命令行工具及相关标志。Pi命令行界面现在通过一个持久化工作进程以RPC模式运行。 - WhatsApp Web是唯一的传输方式;移除了Twilio支持及其相关的命令行标志和测试。 - 默认情况下,直接对话现在合并为单个`main`会话(无需配置);群组对话仍以`group:<jid>`的形式保持独立。 - 网关现在是一个仅限回环地址的WebSocket守护进程(`ws://127.0.0.1:18789`),它拥有所有提供程序和状态;客户端(命令行界面、WebChat、macOS应用、节点)都连接到它。需要显式启动网关(`clawdis gateway …`)或通过Clawdis.app启动;辅助子命令不再自动生成网关。 ### 网关、节点与自动化 - 新增带类型定义的网关WebSocket协议(JSON schema验证),并提供了`clawdis gateway {health,status,send,agent,call}`等辅助命令,为所有客户端提供结构化的在线状态和实例更新。 - 可选的面向局域网的桥接(`tcp://0.0.0.0:18790`)使网关保持仅回环访问的同时,允许已配对的节点通过Bonjour发现直接连接。 - 节点配对与管理:通过 `clawdis nodes {pending,approve,reject,invoke}` 实现(供iOS节点和未来的远程节点使用)。 - 定时任务现由网关管理(`clawdis cron …`),运行历史以JSONL格式存储,并支持将“摘要信息”发布到主会话中。 ### macOS 配套应用 - **Clawdis.app 菜单栏伴侣**:已打包签名的应用,包含网关启动/停止、launchd开关、项目根目录及pnpm/node自动解析、实时日志快捷方式、重启按钮、状态/接收方表格以及用于提醒和暂停状态的标记和变暗功能。 - **设备端语音唤醒**:使用Apple语音识别器,支持唤醒词表、语言选择、实时麦克风电平指示、“按住直到静音”功能、动态耳/腿图标,并能路由到**上次使用的界面**(WhatsApp/Telegram/WebChat)进行回复。发送失败会记录日志,运行状态可通过WebChat/会话日志查看。 - **WebChat 与调试**:内置WebChat界面,调试标签页包含心跳滑块、会话存储选择器、日志开启器(`clawlog`)、网关重启、健康检查探针以及可滚动的设置面板。 - **浏览器控制**:通过 `clawdis browser …` 命令和界面控件,管理clawd专用的Chrome/Chromium浏览器,支持标签页列表/打开/聚焦/关闭、截图、DOM查询/转储以及“AI快照”(aria/domSnapshot/ai)功能。 - **远程网关控制**:通过Bonjour发现本地主网关,并在多播不可用时提供SSH隧道作为远程控制的备选方案。 ### iOS 节点 - 全新iOS配套应用,可与网关桥接配对,作为节点报告在线状态,并提供一个WKWebView“画布”供代理驱动UI。 - `clawdis nodes invoke` 命令支持 `canvas.eval` 和 `canvas.snapshot`,用于驱动和验证iOS画布(当iOS节点在后台时会快速失败)。 - 语音唤醒词可在应用内配置;当钥匙串中仍存有凭证时,iOS节点会重新连接到最后使用的桥接。 ### WhatsApp 与代理体验 - 全面支持群组对话:通过提及来触发的功能(包括仅含媒体的说明文字)、发送者归属、包含主题/成员名单的会话初始信息、当您被@提及时的允许列表绕过机制,以及对阅后即焚/临时媒体更安全的处理。 - 思考/详细程度指令:`/think` 和 `/verbose` 在每个会话中生效并持久化,同时允许内联覆盖;详细模式会流式输出带有表情符号/参数/预览的工具元数据,并合并突发输出以减少WhatsApp的干扰。 - 心跳:可通过CLI/GUI切换配置频率;心跳期间抑制指令确认;针对Baileys库规范化数组/多负载回复。 - 回复质量:更智能的按词/换行符分块,媒体发送失败时的回退警告,检测提及自己的号码,首次发言时初始化的群组会话会发送成员名单。 - 会话内 `/status` 指令:打印代理就绪状态、会话上下文使用率%、当前的思考/详细选项,以及WhatsApp网页凭证的刷新时间(有助于判断何时需要重新扫码);仍可通过 `clawdis status` CLI命令查看网页会话健康状态。 ### 命令行界面、RPC 与健康检查 - 新增 `clawdis agent` 命令,配合持久的Pi RPC工作进程(自动启动)可实现直接的代理对话;`clawdis status` 会显示彩色的会话/接收方表格。 - `clawdis health` 命令检查WhatsApp链接状态、连接延迟、心跳间隔、会话存储新鲜度以及IPC套接字是否存在(支持JSON格式输出供监控程序使用)。 - 增加了 `--help`/`--version` 标志;登录/登出命令接受 `--provider` 参数(默认为WhatsApp)。控制台输出会镜像记录到 `/tmp/clawdis` 下的pino日志中。 - RPC稳定性:为Pi改进的stdin/stdout循环、工作进程自动重启、原始错误信息显示,并在返回JSON格式的代理输出时通过RPC传递。 ### 安全性与加固 - 媒体服务器阻止符号链接/路径遍历攻击,清除临时下载文件,并每日轮转日志(保留24小时)。 - 登出时会清除会话存储;IPC套接字目录权限收紧(0700/0600)。 - 针对打包后的macOS版本,加固了Launchd的PATH和环境变量助手查找逻辑;健康检查能快速发现缺失的二进制文件。 ### 文档 - 新增 `docs/telegram.md` 文档,概述了Telegram Bot API提供程序(基于grammY)以及它如何与`main`会话共享。默认的grammY限流器确保Bot API调用在速率限制内。 - 配置后,网关可以同时运行WhatsApp和Telegram;`clawdis send --provider telegram …` 命令可通过Telegram机器人发送消息(文档中说明了webhook/代理选项)。