晴天
8a247af03e
fix(setup): 未安装状态不再反复跳回检测页、聚焦重检不再清空页面
...
用户反馈"未安装时系统一直在检测/跳回检测页",三个成因逐一修复:
- 安装/升级任务事件(upgrade-done/error)回调在 OpenClaw 未就绪时
无条件 navigate('/setup'):安装失败会把用户从诊断/设置页拽回安装页,
已在 setup 页时重复 navigate 还会整页重建重新检测。
现只把默认路由指向 setup,仅当停留在依赖 CLI 的仪表盘时才主动跳转
- 窗口聚焦触发的重检(#Compat-4)每次都把步骤区清成骨架屏,
切窗口回来就像"又从头检测"。聚焦重检改为 silent 模式:
保留已渲染内容,检测完成后原地更新
- 检测流程加异常兜底:任何错误渲染错误卡片并提示重新检测,
骨架屏不再有机会永久残留
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 12:14:16 -07:00
晴天
b04deb4e54
fix(release): 0.18.6 收口——审查修复、创作中心与便携迁移加固、设置页提速
...
按全量代码审查(8 角度 × 对抗验证)修复 10 项确认问题并完成收口:
安全:
- 媒体资产下载仅对与服务商 Base URL 同主机的地址携带 API Key,防止密钥外泄
- 助手媒体工具默认关闭需显式开启;付费图片/视频生成在任何模式下强制确认
数据与容错:
- 媒体数据统一存放 openclaw 数据目录下,便携迁移后配置与历史直接生效
- 视频轮询 429/5xx 瞬时错误不再永久标记失败;失败任务可重新轮询找回
- 创建视频任务无法识别任务 ID 时保留任务记录与原始响应(可能已计费)
- 便携迁移失败时正确显示错误状态;便携命令加入 Web 模式 ALWAYS_LOCAL
性能与体验:
- 任务记录落盘前裁剪 base64 等超大字段,媒体历史文件不再膨胀
- 资产预览 stat 预检 + 64MB 上限 + 缓存淘汰;轮询并行化(后端 jobs 加锁)
- 初始设置页两阶段渲染:本地检测先出首屏,版本网络查询异步补充
- 创作中心删除改用统一确认弹窗(原生 confirm 在 macOS WebView 失效)
- 检查配置/获取模型列表放行 http:// 自建网关;桌面/Web 状态解析对齐
- 统一三处路径包含检查为 utils 共享 helper(Linux 大小写误判修复)
- 补充便携模式 hermes-cli-missing 警告翻译(简/繁/英)
其他:修复 web-headless-reload-policy 陈旧断言(e16ff2b 后 ws-client 已无隐式 reload)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-05 11:43:33 -07:00
晴天
d60db3b71b
fix(setup): 补齐跨端 Node 检测与新手引导
2026-06-08 22:31:00 +08:00
晴天
634fe66556
fix(setup): 完善 Node 版本检测与升级引导
2026-06-08 22:04:55 +08:00
晴天
bf9cb52e25
fix(setup): 修复 Node.js/Git/OpenClaw 装完不识别(需重启客户端)
...
用户反馈 0.13.3 版本有三个共性 bug:
1. 手动装 Node.js → 装完 panel 不识别,必须重启客户端
2. 一键装 Git → 装完 panel 不识别,必须重启客户端
3. 一键装 OpenClaw → 装完 panel 不识别,必须重启客户端
## 根因
Tauri 进程的 `std::env::var("PATH")` 是启动时快照,不会随系统 PATH 更
新。`enhanced_path()` 虽然扫描了常见安装目录,但**不存在的目录不会被
加入缓存**(line 828 `std::path::Path::new(p).exists()` 过滤)。装完
新程序后,新路径不在 enhanced_path 缓存里,CLI 检测又依赖子进程的
PATH,导致「找不到刚装的二进制」。
三个 bug 各有其子因:
### Bug 1: Git 检测 `find_git_path` 不用 enhanced_path
对比 `find_node_path` 显式 `cmd.env("PATH", enhanced_path)`,
`find_git_path` 里的 `where git` / `which git` 子进程继承的是 Tauri
启动时快照的老 PATH。即使 `refresh_enhanced_path()` 刷了缓存,子进
程也看不到新路径。`check_git` 后续调 `Command::new("git")` 同理,且
拿到 `git_path` 绝对路径后也没用。
### Bug 2: `auto_install_git` 三平台都不刷缓存
winget/xcode-select/apt 安装成功后直接 return,没有
`refresh_enhanced_path()` / `invalidate_cli_detection_cache()`。前端
`runDetect` 虽然会调 `invalidatePathCache`,但 Bug 1 让刷缓存也白刷。
### Bug 3: `upgrade_openclaw` npm 首装分支不刷缓存
npm 分支里只有 `if need_uninstall_old`(切换源场景)分支末尾刷了
PATH 缓存。**首次安装** `need_uninstall_old == false`,if 块整个跳
过,函数直接返回,CLI 检测缓存(60s TTL)和 PATH 缓存都是旧的。前
端 `setTimeout(reload, 1500)` 触发 SPA 重建,但 Tauri 进程没重启,
缓存没刷 → `is_cli_installed()` 返回 false。
### Bug 4: 手动装 Node.js 没有 hook 点
用户点「下载 Node.js」跳浏览器,装完回到 panel,panel 不知道用户装
了。虽然顶部有「重新检测」按钮,但 UX 上容易错过。`runDetect` 里虽
然会 `await api.invalidatePathCache()`,但需要用户主动触发。
## 修复
### Rust 端
1. **`find_git_path`**:子进程 `where`/`which` 显式 `env("PATH",
enhanced_path)`,对齐 `find_node_path` 的做法。
2. **`check_git`**:优先用 `find_git_path` 返回的绝对路径执行
`--version`;fallback 到 `"git"` 时也注入 enhanced_path 到子进程
PATH,确保刚装完的场景能识别。
3. **`auto_install_git`**:winget/xcode-select/apt 三个平台的成功分
支都调 `super::refresh_enhanced_path()` +
`invalidate_cli_detection_cache()`。
4. **`upgrade_openclaw`**:npm 分支末尾(if need_uninstall_old 块之
后、`get_local_version` 之前)无条件刷缓存,覆盖首装场景。切换源
场景虽然前面已刷过一次,这里重刷无害(几十 ms 文件系统扫描开销
可接受)。
### 前端
5. **`setup.js::render`**:注册 `visibilitychange` + window `focus`
监听器,用户从浏览器装完 Node.js 切回 panel 时自动 `runDetect`。
handler 自带 guard(`page.isConnected` 检查),页面切走后监听器
自动卸载,防止泄漏。加 3 秒节流,避免 focus + visibilitychange
同时连发触发重复检测。
## 验证
- `cargo fmt --check` 通过
- `cargo clippy --all-targets -- -D warnings` 通过
- `npm run build` 通过(setup chunk 未变,setup.js 新增 ~22 行)
- 本地需要用户验证:
- [ ] 手动装完 Node.js → 切回 panel 自动识别
- [ ] 一键装 Git → 装完立刻识别(无需重启)
- [ ] 一键装 OpenClaw(首次 npm 安装)→ 装完立刻识别
- [ ] 一键装 OpenClaw(切换源)→ 装完立刻识别(原本就工作,不回归)
Refs: 0.13.3 用户实测反馈
2026-04-20 11:57:08 +08:00
晴天
dd9d7e5b6e
fix: 初始设置页全部检测通过时自动跳转仪表盘
...
修复全部检测项(Node.js/Git/CLI/配置文件)通过后仍停留在初始设置页的问题,
现在会自动刷新引擎状态并跳转到仪表盘。
2026-04-13 04:18:29 +08:00
晴天
5575566806
feat: Hermes Agent 多引擎架构核心代码
...
- 新增 src/engines/hermes/ 完整引擎(仪表盘/服务管理/模型配置/Agent管理/对话)
- 新增 src/lib/engine-manager.js 引擎管理器(切换/检测/状态)
- 新增 src-tauri/src/commands/hermes.rs 后端命令(Gateway控制/配置读写/Agent Run SSE)
- sidebar 引擎切换器 UI
- i18n 新增 engine 模块(中/英/繁体)
- 多安装清理工具(gateway-ownership.js)
- 晴辰助手文件访问开关
- Hermes 对话工具调用可视化、SSE 流式输出
- Cargo.lock / dev-api.js 同步更新
2026-04-13 04:09:09 +08:00
晴天
3105e56fd6
fix hosted session binding and harden panel config resolution
2026-04-10 18:59:41 +08:00
晴天
7b4640b355
feat: improve channel and setup guidance flows
2026-04-02 00:36:32 +08:00
晴天
b427a6b000
feat: improve gateway compatibility and complete i18n cleanup
2026-04-01 15:06:25 +08:00
晴天
f8af3bea4a
feat(i18n): full i18n for all pages + sidebar lang switcher + zh-TW locale
...
- All pages now use t() for internationalization
- Sidebar footer: searchable upward dropdown language switcher
- Generated zh-TW.json (Traditional Chinese) via gen-locales.cjs
- CSS for lang switcher with mobile/collapsed sidebar support
- Removed language toggle from settings page
2026-03-24 18:51:36 +08:00
晴天
6494cf6551
chore: release v0.9.7
2026-03-21 04:11:13 +08:00
晴天
1809329aaa
feat: standalone 独立安装包集成 + 安装方式选择器 (0.9.4)
...
- 新增 standalone 安装链路(自带 Node.js,零依赖,无需 npm)
- 安装方式选择器:自动/CDN加速/GitHub/npm 四选一
- 动态查询 latest.json 获取最新版本,不怕旧资源被删除
- GitHub 模式:从 GitHub Releases 下载(CDN 不可用时备选)
- CherryStudio openclaw.exe 干扰过滤
- 默认源改为汉化优化版
- 日志隐藏 R2 下载地址(安全)
- 卸载兼容:standalone + npm 双清理
- 版本检测覆盖所有 standalone 安装路径
- README + 官网添加独立安装包说明
- macOS npm 权限问题通过 standalone 自动解决
2026-03-17 06:32:23 +08:00
晴天
394813a96c
feat: v0.9.1 — 面板设置页、网络代理、后台安装、模型服务商扩展、多项修复
...
新功能:
- 新增独立面板设置页面(网络代理 + 代理测试 + 模型代理开关 + npm源)
- 网络代理支持:下载类操作走代理,自动绕过内网地址
- 安装/升级/卸载改为后台执行,不再阻塞界面
- 全局任务状态栏:关闭弹窗后顶部显示进度,可重新查看日志
- 安装/卸载完成后自动刷新界面状态
- 新增多个模型服务商快捷配置(硅基流动、火山引擎、阿里云百炼、智谱AI、MiniMax、NVIDIA NIM、胜算云)
- AI助手浮动按钮恢复,首次提示可拖动,实时聊天页隐藏
修复:
- 修复版本更新误判(本地版本高于远端不再误弹更新)
- 修复Windows下nvm/自定义Node路径CLI检测
- 修复npm EEXIST文件冲突(--force + 安装前自动清理)
- 修复汉化版-zh.x后缀版本比较错误
- 修复模型URL自动拼接/v1问题
- 修复切换版本后Gateway重装失败(PATH缓存刷新)
- 修复切换助手服务商时旧模型名残留
优化:
- macOS图标改用docs/logo.png统一生成
- 内置推荐版本号更新到OpenClaw 2026.3.13
- 错误诊断增强(EEXIST识别)
- 弹窗标题根据操作类型显示
- 新增版本维护文档
2026-03-14 19:57:22 +08:00
晴天
3e24ceaa4d
v0.8.0: Ollama兼容、Git自动安装、Gitee镜像、会话重命名、消息渠道Agent绑定、仪表盘重设计、环境检测实时生效、#44修复
2026-03-12 02:17:47 +08:00
晴天
0752dc2a71
feat: v0.6.0 — 公益AI接口 + Agent灵魂借尸还魂 + 知识库 + 全局AI诊断 + 官网改版
2026-03-07 19:36:25 +08:00
晴天
921c371934
feat: AI助手支持 Anthropic/Gemini 原生API + 修复Windows终端闪烁
...
- AI助手新增 API 类型选择器(OpenAI兼容 / Anthropic原生 / Google Gemini)
- 实现 Anthropic Messages API 流式调用 + 工具调用(tool_use/tool_result)
- 实现 Google Gemini streamGenerateContent + 工具调用(functionCall)
- 设置弹窗动态切换 placeholder 和提示文本
- 测试按钮和模型拉取适配三种 API 类型
- 修复 Windows 上 Gateway 状态轮询导致终端反复闪烁(execSync/spawn 加 windowsHide)
- 默认密码统一为 123456 + 改密码后自动移除顶部横幅
- 后端 API 增加暴力破解保护、配置缓存、请求体大小限制
2026-03-06 22:46:40 +08:00
晴天
860218fa09
feat: 新增 AI 助手页面 + 图片识别功能 + 更新宣传素材
...
- 新增 AI 助手页面 (assistant.js/assistant.css/assistant.rs)
- 新增图片识别截图 (13.png) 并加入官网和 README
- 更新宣传视频 (promo-web.mp4) 含 AI 助手+工具调用+图片识别场景
- 更新视频封面 (video-cover.png/video-cover-light.png) 突出 AI 助手
- 更新 AI 助手演示 GIF (ai-assistant-demo.gif) 作为 README 首图
- 更新功能矩阵 GIF (feature-showcase.gif) AI 助手为 star 卡片
- 官网新增图片识别 showcase 区块
- README 新增图片识别特性和截图
- 视频封面改用专业设计版本
- 演示视频时长 badge 更新为 50 秒
2026-03-06 04:33:43 +08:00
晴天
b4e959ec99
紧急修复:mode 字段位置错误导致 Gateway 无法启动 (v0.4.6)
...
根因:openclaw.json 的 mode 属于 gateway 对象内部,不是顶层字段。
OpenClaw zod-schema 对顶层 mode 报 Unrecognized key 错误。
修复:
- config.rs init_openclaw_config: mode 移入 gateway 对象
- dev-api.js init_openclaw_config: 同上
- dashboard.js 自愈: config.mode → config.gateway.mode
- dashboard.js 自愈: 自动删除旧版错误的顶层 mode 字段
- setup.js 安装流程: config.mode → config.gateway.mode
2026-03-05 23:41:55 +08:00
晴天
bb2c6df8ec
优化:初始设置页面自动创建默认配置文件
...
当检测到 OpenClaw CLI 已安装但 openclaw.json 不存在时:
1. 自动创建包含合理默认值的配置文件(mode:local, tools:full 等)
2. 如果自动创建失败,显示「一键初始化配置」按钮供手动操作
3. 新增 init_openclaw_config API(dev-api.js + Tauri Rust 后端)
4. 用户不再需要去终端手动执行 openclaw configure
2026-03-05 23:14:13 +08:00
晴天
cb5cbe2f71
feat: Agent tools permission config UI + auto-heal (v0.4.4)
...
- Gateway config page: add tools profile selector (full/limited/none)
- Gateway config page: add session visibility selector (all/own/none)
- Auto-heal: setup + dashboard auto-set tools.profile:full on install/load
- Fixes OpenClaw 2026.3.2 breaking change that disabled tools by default
2026-03-05 22:40:02 +08:00
晴天
46928e798c
fix: auto-set mode:local after Gateway install + dashboard self-heal
...
- Setup flow: write mode:'local' to openclaw.json after Gateway install
- Dashboard: auto-heal missing mode field on load for existing users
2026-03-05 22:34:07 +08:00
晴天
6ca4267970
feat: Node.js path scanning + manual path input + git HTTPS auto-fix (v0.4.2)
...
- Add scan_node_paths: auto-scan C/D/E/F/G drives for Node.js installations
- Add check_node_at_path: verify Node.js at user-specified directory
- Add save_custom_node_path: persist custom path to ~/.openclaw/clawpanel.json
- enhanced_path() now loads saved custom path and applies to all commands
- Windows enhanced_path: scan Program Files, LOCALAPPDATA, APPDATA, common drives
- Auto git config HTTPS-instead-of-SSH before npm install (fixes exit 128)
- Setup page: auto-scan button + manual path input when Node.js not detected
- Error diagnosis: add EPERM, MODULE_NOT_FOUND, SSH publickey patterns
- README: expanded troubleshooting section
2026-03-05 22:30:19 +08:00
晴天
b1b95e5a11
fix: macOS PATH detection + npm install error diagnosis (v0.4.1)
...
- Fix macOS Node.js/npm/openclaw detection by adding enhanced_path() with common install locations (/usr/local/bin, /opt/homebrew/bin, ~/.nvm, ~/.volta, etc.)
- Add npm install error diagnosis: auto-detect git missing (exit 128), ENOENT, permission denied, network errors, cache corruption
- Show macOS-specific hint when Node.js detection fails in setup page
- Add shared error-diagnosis.js module used by both setup and services pages
- Add troubleshooting section to README.md
- Bump version to 0.4.1
2026-03-05 22:21:11 +08:00
晴天
79cd15e1c4
v0.4.0: Gateway 进程守护、配置自愈、双配置同步、流式超时、模型删除安全切换
2026-03-05 20:44:47 +08:00
晴天
05771ffa63
fix: 修复所有页面 loading 动画未正确移除的问题
...
- chat-debug.js: loadDebugInfo 完成后正确调用 renderDebugInfo 移除 loading
- agents.js: loadAgents 失败时显示错误信息替代 loading
- dashboard.js: renderLogs 无日志时显示提示信息
- memory.js: loadFiles 失败时显示错误信息
- services.js: loadServices/loadRegistry/loadBackups 添加 loading 状态并在完成/失败时移除
- extensions.js: loadCftunnel/loadClawapp 添加 loading 状态并在完成/失败时移除
- models.js: loadConfig 添加 loading 状态并在失败时显示错误
- gateway.js: loadConfig 添加 loading 状态并在失败时显示错误
- logs.js: loadLog/searchLog 使用 loading-text 样式并在失败时显示错误
确保所有异步加载函数都:
1. 开始时显示 loading 状态
2. 成功时渲染数据(自动移除 loading)
3. 失败时显示错误信息(替代 loading)
2026-03-03 01:46:19 +08:00
晴天
53f46d8ef2
feat: Windows 兼容性全面改进
...
- Windows Gateway 启动改为前台 spawn 模式(绕过 schtasks 管理员权限)
- 添加全局 Gateway 未启动引导横幅(黄色提示条 + 一键启动按钮)
- 所有页面加载动画改为脉冲效果
- 统一 Windows cmd /c 调用加 CREATE_NO_WINDOW 标志
- 托盘菜单复用 service.rs 逻辑
- 新增 utils.rs 封装 openclaw_command
- 修复 config 文件 UI 字段污染问题
- 添加 dev.ps1 启动脚本
2026-03-02 13:00:16 +08:00