mirror of
https://github.com/hotwa/luci-app-openclaw.git
synced 2026-03-30 20:25:44 +00:00
7.8 KiB
7.8 KiB
Changelog
本项目所有重大变更都将记录在此文件中。
格式基于 Keep a Changelog。
[1.0.5] - 2026-03-05
修复配置管理页面 "spawn script ENOENT" 启动失败 (#3, #4)
修复
- Web PTY 启动失败:
web-pty.js硬编码依赖script命令 (来自util-linux-script),但部分 OpenWrt 固件默认不包含该命令,导致spawn script ENOENT错误并无限循环重启- 新增
script命令自动检测,不存在时回退到sh直接执行oc-config.sh - 新增连续失败计数器 (最多 5 次),防止启动失败时的无限重试循环
- 失败时向用户终端显示明确的错误提示和修复命令
- 新增
- Makefile 依赖补全:
LUCI_DEPENDS新增+util-linux-script,确保新安装自动拉取script命令
[1.0.4] - 2026-03-05
适配 OpenClaw 2026.3.2
破坏性变更修复
- tools.profile 默认值变更: 2026.3.2 将
tools.profile默认从coding改为messagingsync_uci_to_json()每次启动强制写入tools.profile=codingopenclaw-env init_openclaw()onboard 命令添加--tools-profile codingopenclaw-env do_factory_reset()onboard 命令添加--tools-profile codingoc-config.sh工厂重置 onboard 命令添加--tools-profile codingoc-config.sh工厂重置配置写入新增tools.profile=coding
- ACP dispatch 默认启用: 2026.3.2 默认开启 ACP dispatch,路由器内存有限可能导致 OOM
sync_uci_to_json()每次启动强制写入acp.dispatch.enabled=falseopenclaw-env do_factory_reset()配置写入新增acp.dispatch.enabled=falseoc-config.sh工厂重置配置写入新增acp.dispatch.enabled=false
新增
- 健康检查集成
openclaw config validate --json官方配置验证命令 - 健康检查新增
gateway health --jsonCLI 深度检查 (v2026.3.2 HTTP/health已被 SPA 接管)
修复
- Ollama 配置适配:
api从废弃的openai-chat-completions改为原生ollamaAPI 类型 - Ollama baseUrl 格式: 去掉
/v1后缀,使用官方原生地址格式 (http://host:11434) - Ollama apiKey 对齐: 从
ollama改为官方默认值ollama-local - 启动自动迁移:
sync_uci_to_json自动将旧版 Ollama 配置迁移到 v2026.3.2 格式
改进
- 配置管理页面移除「菜单功能说明」信息框,减少视觉干扰
OC_TESTED_VERSION更新至2026.3.2
[1.0.3] - 2026-03-05
修复
- P0 配置管理写入错误的 JSON 路径导致 Gateway 崩溃且无法恢复 (#1)
json_set models.openai.apiKey在openclaw.json创建了非法的顶层models键- OpenClaw 2026.3.1 严格校验配置 schema,拒绝启动并报
Unknown config keys: models.openai - 修复: API Key 改写入
auth-profiles.json,模型注册到agents.defaults.models - 影响: 所有 11 个供应商的快速配置 (OpenAI/Anthropic/Gemini/OpenRouter/DeepSeek/GitHub Copilot/Qwen/xAI/Groq/SiliconFlow/自定义)
- P0 恢复默认配置 → "清除模型配置" 未清理
auth-profiles.json认证信息 - P1 健康检查新增自动修复: 检测并移除旧版错误写入的顶层
models无效键 - P1
set_active_model手动切换模型时未注册到agents.defaults.models
新增
- Ollama 本地模型支持: 快速配置菜单新增 Ollama 选项 (12),支持 localhost/局域网连接、自动检测连通性、自动列出已安装模型、兼容 OpenAI chat completions 格式
openclaw-env factory-reset非交互式恢复出厂设置命令auth_set_apikey函数: 正确写入 API Key 到auth-profiles.jsonregister_and_set_model函数: 注册模型到agents.defaults.models并设为默认register_custom_provider函数: 为需要baseUrl的 OpenAI 兼容供应商注册models.providers- 「检测升级」同时检查 OpenClaw 和插件版本 (通过 GitHub API 获取最新 release)
- 页面加载时自动静默检查更新,有新版本时「检测升级」按钮显示橙色小红点提醒
- 状态面板显示当前安装的插件版本号
- 构建/安装流程部署
VERSION文件到/usr/share/openclaw/VERSION openclaw-env setup安装环境时自动安装 Gemini CLI (Google OAuth 依赖)
改进
- 使用指南顺序调整: ② 配置管理 → ③ Web 控制台 (首次使用更合理的引导顺序)
- Gemini CLI 安装从配置向导选项 1 移至环境安装阶段,避免进入向导时临时等待
[1.0.2] - 2026-03-02
修复
- P0 ARM64 musl: Gateway 崩溃循环 —
process.execPath返回 musl 链接器路径导致child_process.fork()失败- 使用
patchelf直接修改 node ELF 二进制的 interpreter 和 rpath,替代 ld-musl wrapper 方案 - 子进程通过
process.execPathfork 时可正确找到 node 二进制
- 使用
- P0 ARM64 musl: Unicode property escapes 正则失败 (
\p{Emoji_Presentation}) — 缺少NODE_ICU_DATA环境变量- init.d、openclaw-env、oc-config.sh 所有入口均添加
NODE_ICU_DATA环境变量
- init.d、openclaw-env、oc-config.sh 所有入口均添加
改进
build-node-musl.sh构建验证阶段新增process.execPath输出检查
[1.0.1] - 2026-03-02
修复
- P0 web-pty.js
loadAuthToken读取错误的 UCI keyluci_token→pty_token - P0 init.d
get_oc_entry()管道子 shell 导致返回值丢失,改用临时文件重定向 - P1 Gateway procd respawn 无限重试 (
3600 5 0) → 限制最多 5 次 (3600 5 5) - P1 Telegram 配对流程管道子 shell 变量丢失,改用临时文件避免子 shell
- P1
openclaw.luaPID 提取sed正则不可靠,改用awk+split - P2 init.d 和 uci-defaults 弱 token fallback (
echo "auto_$(date +%s)") →dd if=/dev/urandom - P2
oc-config.sh恢复出厂timeout命令可能不存在,添加command -v检查和降级方案 - P2 web-pty.js SIGTERM 不清理 HTTPS server,统一
shutdown()函数
新增
- GitHub Copilot 配置新增 OAuth 授权登录方式 (通过
copilot-proxy插件) uci-defaults首次安装时自动生成pty_token- Web 控制台和状态面板显示当前活跃模型名称
改进
- Qwen 使用
models.dashscope键名、SiliconFlow 使用models.siliconflow,避免models.custom键冲突 get_openclaw_version()从package.json读取版本号,不再每次启动 Node.js 进程- PTY 终端 WebSocket 重连策略改为无限重连 (
MAX_RETRY=Infinity) - Makefile
PKG_VERSION从VERSION文件动态读取
[1.0.0] - 2026-03-02
新增
- LuCI 管理界面:基本设置、配置管理(Web 终端)、Web 控制台
- 一键安装 Node.js + OpenClaw 运行环境
- 支持 x86_64 和 aarch64 架构,glibc / musl 自动检测
- 支持 12+ AI 模型提供商配置向导
- 支持 Telegram / Discord / 飞书 / Slack 消息渠道
.run自解压包和.ipk安装包两种分发方式- OpenWrt SDK feeds 集成支持
- GitHub Actions 自动构建与发布
安全
- WebSocket PTY 服务添加 token 认证
- WebSocket 最大并发会话限制(默认 5)
- PTY 服务默认绑定 127.0.0.1,不对外暴露
- Token 不再嵌入 HTML 源码,改为 AJAX 动态获取
- sync_uci_to_json 通过环境变量传递 token,避免 ps 泄露
- 所有渠道 Token 输入统一 sanitize_input 清洗
修复
- Telegram Bot Token 粘贴时被 bracketed paste 转义序列污染
- Web PTY 终端粘贴包含 ANSI 转义序列问题
- 恢复出厂配置流程异常退出
- Gemini CLI OAuth 登录在 OpenWrt 上失败
- init.d status_service() 在无 netstat 的系统上报错
- Makefile 损坏导致 OpenWrt SDK 编译失败
改进
- 所有 AI 提供商模型列表更新到最新版本
- UID/GID 动态分配,避免与已有系统用户冲突
- 版本号统一由 VERSION 文件管理
- README.md 完善安装说明、FAQ 和项目结构