# Changelog 本项目所有重大变更都将记录在此文件中。 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)。 ## [2.0.1] - 2026-03-26 ### 新增 - **ARM64 musl Node.js 双源下载**: `openclaw-env` 现在默认优先从 GitHub `node-bins` release 下载 Node.js,失败后自动回退到 Gitea 镜像 release - **Node.js 24 预编译资产**: 新增 `node-v24.14.1-linux-arm64-musl.tar.xz`,供 ARM64 OpenWrt/iStoreOS 设备直接使用 ### 变更 - **插件版本升级**: LuCI 插件包版本提升到 `2.0.1`,便于 iStore / opkg 识别升级 - **默认 Node.js 版本升级**: ARM64 musl 默认下载版本从 `23.2.0` 升级到 `24.14.1` - **构建链路更新**: V2 Node.js musl 资产改为使用 Alpine `edge` 的 `nodejs` LTS 包构建,并校验产物必须精确命中 `24.14.1` ### 适配 - **适配 OpenClaw 3.22-2**: 插件侧安装脚本与默认运行时已按 OpenClaw `2026.3.22` 版本链路完成同步,LuCI 页面中的已验证版本同步更新 - **Gitea 镜像同步**: `node-bins` release 的 GitHub / Gitea 两侧资产与说明已保持一致,确保 ARM64 musl 设备在主源异常时仍可回退下载 ## [2.0.0] - 2026-03-16 ### 重大变更 - **配置管理菜单重构**: 主菜单采用分组样式,更清晰的导航结构 - AI 模型配置:配置 AI 模型和提供商、设置活动模型 - 消息渠道:配置消息渠道 (电报/QQ/飞书) - 系统管理:健康检查与状态、查看日志、重启 Gateway - 高级选项:高级配置、重置配置、显示当前配置概览 - **新增高级配置菜单**: 独立的高级配置入口,包含: - Gateway 端口/绑定地址/运行模式配置 - 日志级别设置 - ACP Dispatch 开关 - 官方完整配置向导入口 - 原始 JSON 查看/编辑 - 配置备份导出/导入 ### 修复 - **QQ 机器人插件配置名称不匹配** (#XX): OpenClaw v2026.3.13 加强了配置验证,`plugins.allow` 中的插件名称必须与实际安装的插件名完全匹配 - 问题:旧版本写入的是 `openclaw-qqbot`,但实际插件名是 `@tencent-connect/openclaw-qqbot` - 影响:配置验证失败导致 Gateway 启动后立即退出,procd 进入 crash loop 保护 - 修复:新增 `fix_plugin_config` 函数自动检测并修正不匹配的插件名称 - 修复:`configure_qq` 安装插件后调用 `ensure_qqbot_plugin_allowed` 确保正确的插件名写入配置 - 修复:`init.d` 服务启动前自动修复配置中的插件名称 - **安装运行环境报错** (#28): 部分系统缺少 `libstdcpp6` 导致 Node.js 无法运行,安装 pnpm 时卡住 - 依赖声明新增 `libstdcpp6`,安装时自动拉取 C++ 标准库 - Node.js 验证逻辑改进:检测到运行失败时提示缺失的库并给出修复命令 - **环境变量路径混乱** (#42): 用户通过 SSH 直接运行 `openclaw` 命令时,CLI 使用默认 `HOME=/root` 导致配置文件和 skills 散落在 `/root/.openclaw/` 而非正确的 `/opt/openclaw/data/.openclaw/` - 新增 `/etc/profile.d/openclaw.sh` 全局环境变量脚本,SSH 登录后自动设置正确的 PATH、OPENCLAW_HOME 等变量 - 升级时自动迁移 `/root/.openclaw/` 下的 skills、sessions、openclaw.json 到正确路径 - 用户现在可以直接运行 `npm`、`npx`、`openclaw config` 等命令 ### 新增 - **全局环境变量**: `/etc/profile.d/openclaw.sh` 为 SSH 用户提供: - PATH 包含 Node.js 和 OpenClaw bin 目录 - OPENCLAW_HOME、OPENCLAW_STATE_DIR、OPENCLAW_CONFIG_PATH 正确指向安装路径 - `openclaw` 命令别名(当全局安装时) - **查看日志功能**: 主菜单新增「查看日志」选项,显示最近 100 条 OpenClaw 日志 ### 变更 - Makefile 新增 `/etc/profile.d/openclaw.sh` 安装步骤 - 依赖声明新增 `libstdcpp6` - **飞书 Bot 配置流程优化**: 参考 QQ Bot 实现,大幅简化配置步骤 - 新增 App ID 格式验证(`cli_xxx` 格式) - 新增 App Secret 长度检查 - 使用 OpenClaw CLI 一键配置(`oc_cmd channels add --channel feishu`) - 配置保存后自动验证 - 新增详细的事件订阅、权限配置、插件安装指引 ### 适配 OpenClaw v2026.3.13 #### 升级说明 - **Node.js 版本升级**: 从 22.15.1 升级到 22.16.0 (OpenClaw v2026.3.11+ 最低要求) - **OpenClaw 版本升级**: 从 v2026.3.8 升级到 v2026.3.13 #### 重要安全修复 - WebSocket 跨站劫持漏洞修复 (GHSA-5wcw-8jjv-m286) - 设备配对安全增强:切换到短期引导令牌 (GHSA-99qw-6mr3-36qr) - 命令审批安全加固:Unicode 不可见字符转义、执行检测规范化 - 多渠道 Webhook 安全增强:飞书/LINE/Zalo 签名验证强化 #### 新功能支持 - **Fast Mode**: OpenAI/Anthropic 快速响应模式支持 - **Control UI 重构**: 新版 Dashboard-v2 模块化界面 - **Ollama 本地向导**: 支持本地或云端+本地混合模式 - **Kubernetes 部署**: 新增 K8s 部署清单和文档 - **Docker 时区**: 新增 `OPENCLAW_TZ` 环境变量支持 #### 破坏性变更处理 - **Cron 主动投递收紧**: 升级后建议运行 `openclaw doctor --fix` 迁移旧版 cron 存储 - **插件安全策略**: 禁用隐式工作区插件自动加载,需显式信任决策 - **Node.js 最低版本**: 要求 >= 22.16.0 (已在 openclaw-env 中更新) #### 配置兼容性 - 现有配置文件完全兼容,无需手动迁移 - 已预设 `gateway.controlUi.dangerouslyDisableDeviceAuth=true` 禁用设备认证 - 已预设 `gateway.controlUi.allowInsecureAuth=true` 允许不安全认证 ## [1.0.15] - 2026-03-13 ### 修复 - **QQBot 插件 3 层死锁修复**: 解决插件安装后因 uid 权限→安全策略阻止→配置校验失败的连锁问题 - 自动检测插件 blocked/loaded/目录存在 3 种状态 - 插件安装后自动 `chown root:root` 修复权限 - 安装失败但目录存在时不再阻断配置流程 ### 新增 - **覆盖安装防护**: 离线安装器在覆盖安装前先停止已有服务,避免文件被占用 - **离线 .run 安装包**: 构建包含 Node.js + OpenClaw + LuCI 插件的全合一自解压包,用户**无需联网**即可完成安装 - **musl 架构支持**: 离线包支持 x86_64-musl、aarch64-musl 两种架构 (OpenWrt/iStoreOS 均使用 musl) - **依赖预下载脚本** (`scripts/download_deps.sh`): 在构建机上预下载所有离线依赖 - **node_modules 精简**: 自动删除文档、测试、TypeScript 源码等非必要文件,减小 30%+ 体积 - **磁盘空间预检查**: 安装前检测可用空间是否满足 500MB 最低要求 - **架构/libc 自动检测**: 安装时自动校验当前设备是否匹配安装包架构 ### 文档 - **README**: 添加离线安装方式(无需联网),更新目录结构 ### 变更 - **离线包不依赖 curl/openssl/git**: 离线安装模式下 opkg 注册的依赖简化为 luci-compat + luci-base ## [1.0.14] - 2026-03-12 ### 备份管理增强 & QQ 机器人支持 #### 新增 - **备份列表可视化**: LuCI「💾 备份/恢复」对话框现在展示所有备份的结构化列表: - 📄 仅配置 / 📦 完整备份 类型标签(从 manifest.json 读取 `onlyConfig` 字段精确判断) - 备份时间、文件大小 - 每个备份支持**单独恢复**和**删除**操作 - 创建/删除备份后列表自动刷新 - **备份删除 API**: Controller 新增 `action=delete` 操作(含路径穿越安全校验) - **QQ 机器人配置**: `oc-config.sh` 渠道菜单新增「QQ 机器人」选项(选项 1,推荐国内用户),支持: - 自动安装 `@tencent-connect/openclaw-qqbot` 插件 - App ID / App Secret 输入校验 - 通过 `openclaw channels add` CLI 一键配置 - **消息渠道状态显示**: 状态面板新增「消息渠道」行,自动检测已配置的渠道(QQ、Telegram、Discord、飞书、Slack) #### 变更 - **备份恢复**: 从"从最新备份恢复"改为在列表中选择任意备份进行恢复 - **描述文本**: 各页面描述新增"QQ"渠道说明 #### 修复 - **JS 语法错误导致所有按钮失效**: 备份对话框 HTML 被错误地插入 `