晴天
d397de4c52
fix: npm install后误卸载新装包(current_source=unknown时old_pkg与new pkg相同)
v0.12.0
2026-04-11 05:26:27 +08:00
晴天
2f33409a8b
fix: allow unused_variables for reload_gateway_internal (app unused on macOS)
2026-04-11 04:55:53 +08:00
晴天
e3af36603a
fix: CI lint errors - openclaw_command import scope, clippy warnings
2026-04-11 04:51:07 +08:00
晴天
fef694a087
style: cargo fmt
2026-04-11 04:45:58 +08:00
晴天
271dc93b08
feat: OpenClaw 4.9 全面适配 (v0.12.0)
...
- 推荐内核统一升级至 2026.4.9 / 2026.4.9-zh.2
- standalone 安装兼容 edition 格式 latest.json + openclaw-zh- 文件名前缀
- standalone 三级降级: R2 CDN → GitHub Releases → npm
- pre_install_cleanup 所有命令加 10s 超时保护(修复安装卡死)
- npm uninstall 加 30s 超时保护
- wmic 全部迁移到 PowerShell(兼容 Windows 11)
- standalone 下载增加文字进度显示
2026-04-11 04:42:36 +08:00
晴天
70d768be17
feat: new pages + dashboard enhancements + backend improvements
...
New pages:
- Plugin Hub: grid cards, search, install/toggle/enable plugins
- Route Map: SVG visualization of channels→agents bindings with legends
- Diagnose: gateway connectivity diagnosis with step-by-step checks
Dashboard enhancements:
- WebSocket status indicator (connected/handshaking/reconnecting/disconnected)
- Connected channels overview with platform icons
- Colored log level badges (ERROR/WARN/INFO/DEBUG) with timestamps
- Channels data loading in dashboard secondary fetch
Splash screen:
- Multi-stage boot detection (JS not loaded vs boot slow vs timeout)
- 15s: WebView2/resource load failure
- 20s: "initializing..." hint with elapsed counter
- 90s: true timeout error
Backend (Rust):
- diagnose.rs: gateway connectivity diagnosis command
- messaging.rs: plugin management commands
- service.rs: improvements
- lib.rs: register new commands
Frontend libs:
- feature-gates.js: feature flag system
- ws-client.js: reconnect state tracking
- tauri-api.js: new API bindings
- model-presets.js: provider fixes
- Remove gateway-guardian-policy.js (unused)
Dev API (scripts/dev-api.js):
- list_all_plugins, toggle_plugin, install_plugin handlers
- probe_gateway_port, diagnose_gateway_connection handlers
i18n: dashboard, sidebar, diagnose, extensions, routeMap locale modules
CSS: plugin-hub cards, route-map SVG styles
2026-04-11 00:44:06 +08:00
晴天
c1fb674c44
chore: bump vite 6.4.1 → 6.4.2 (fix CVE-2026-39363 + path traversal)
2026-04-11 00:42:01 +08:00
晴天
56039ce932
fix: improve install/uninstall stability + dreaming animations + scan fix flow
...
Dreaming page:
- Restore animated hero card (stars, moon, floating Z's, deep sky gradient)
- Glass-morphism stat cards inside hero
- runAction/toggleDreaming: friendly toast for unsupported RPCs instead of raw error
Install/Uninstall (config.rs):
- pre_install_cleanup: fix Windows process kill (wmic CommandLine match instead of useless WINDOWTITLE filter), kill standalone dir processes, wait 2s
- uninstall: wait 3s after gateway stop, wmic kill standalone processes, retry deletion with 3s delay
- upgrade source-switch: standalone cleanup with process kill + retry + wait
- gateway reinstall: wait 2s after stop before install
Scan fix flow (chat-debug.js):
- 5-step fix with progress toasts (pairing, doctor, gateway, wait, websocket)
- Gateway start polling (up to 15s) instead of fixed 5s wait
- WebSocket reconnect polling (up to 12s) instead of fixed 3s wait
Frontend (modal.js + about.js):
- setProgressLabels() for custom progress text per modal usage
- Uninstall modal shows "停止服务/卸载组件/清理文件" instead of "下载依赖"
i18n: 11 locales updated with fixStep* and uninstall progress keys
2026-04-11 00:37:14 +08:00
晴天
cfd00f043e
feat: add Dreaming UI and gateway auto-fix startup flow
2026-04-10 20:28:20 +08:00
晴天
3105e56fd6
fix hosted session binding and harden panel config resolution
2026-04-10 18:59:41 +08:00
github-actions[bot]
6beaa7f46a
ci: update latest.json for v0.11.6
2026-04-07 08:31:51 +00:00
晴天
3c5a0d252b
chore: release v0.11.6
...
feat: Skills multi-agent support — agent selector + per-agent skills directory (Rust/Node.js/frontend)
feat: Assistant tool mode streaming — typewriter effect + tool_calls chunk accumulation
improve: OpenClaw 4.5 compatibility — full agent event stream handling + 3-min ultimate timeout
improve: Replace hot-update with stable download links (website/GitHub)
fix: Gateway status flapping — dashboard throttle + TCP retry + debounce threshold
fix: Assistant empty gray bubbles — SSE 0-chunk detection + stream error capture + render filter
v0.11.6
2026-04-07 16:17:09 +08:00
晴天
35423f428b
feat(chat): OpenClaw 4.5 compatibility — fix silent no-reply + add working state indicators
...
Problem:
- Sending a message with no response left users stuck with an empty typing
indicator forever (no timeout, no error, no feedback)
- Users had no visibility into what OpenClaw was doing (thinking, planning,
executing tools, running commands, waiting for approval)
- The response watchdog only reacted to chat delta/final events, ignoring
all agent processing events
Root cause:
- Watchdog looped every 15s polling history but had no ultimate timeout
- Agent events (lifecycle, item, plan, approval, thinking, command_output)
were not handled — only tool stream events updated the typing hint
- When OpenClaw processed silently (no delta), the UI showed nothing useful
Fix:
1. Handle ALL OpenClaw 4.5 agent event streams in handleEvent():
- lifecycle: "AI is processing…" on phase start
- item: structured execution steps (tool/command/search/analysis)
- plan: "AI is planning…"
- approval: "Waiting for approval…"
- thinking: "AI is thinking…"
- command_output: "Running command…"
- compaction/error: appropriate indicators
2. Enhanced watchdog mechanism:
- 3-minute ultimate timeout that persists across watchdog re-polls
- Agent events reset the polling timer (OpenClaw is alive) but not
the ultimate timeout
- After 30s shows "Still waiting…" with elapsed time
- At 3min shows clear error: "Check if OpenClaw is running"
3. Live elapsed timer in typing indicator:
- Shows seconds elapsed since message was sent (after 5s)
- Updates every 5s while waiting
- Properly cleaned up on response/error/page exit
4. Config compatibility check: no changes needed — our code already uses
canonical config paths, no legacy aliases affected by 4.5 removal.
Files: chat.js, chat.css, locales/modules/chat.js
2026-04-07 16:15:17 +08:00
github-actions[bot]
f781f2afa6
ci: update latest.json for v0.11.5
2026-04-06 19:48:32 +00:00
晴天
1b0ee6a18d
fix: clippy manual_flatten in skills.rs
v0.11.5
2026-04-07 03:34:56 +08:00
晴天
c968d179b1
style: cargo fmt
2026-04-07 03:30:48 +08:00
晴天
ad00ffef3d
chore: release v0.11.5
...
feat: SkillHub skill store (SDK-based, no CLI dependency)
- Rust SDK (skillhub.rs): HTTP search, index fetch, zip download+extract
- Node.js SDK (skillhub-sdk.js): mirrors Rust SDK for Web/Docker mode
- Skills page: new "Store" tab with full index browse + client-side filter
- Remove 6 old CLI-dependent commands, add 3 SDK commands
- Migrate assistant.js skill tools from ClawHub CLI to SkillHub SDK
- Fix index decode error ({total,skills} wrapper vs bare array)
- Fix skill name display (API field 'name' vs 'display_name')
- Clean up 13 dead CSS rules from old skills hero/tips UI
2026-04-07 03:25:26 +08:00
github-actions[bot]
b57235e2a7
ci: update latest.json for v0.11.4
2026-04-05 17:20:45 +00:00
晴天
4f8ac803ce
chore: release v0.11.4
v0.11.4
2026-04-06 01:07:36 +08:00
晴天
9ff91f74d8
feat: IME-aware chat input, message copy button, Git path scanning
...
- Fix IME composition issue: Enter during Chinese/Japanese/Korean input
method composition no longer prematurely sends messages (assistant.js)
Uses e.isComposing + keyCode 229 guard on keydown handler
- Add one-click copy button to chat message bubbles (both chat.js and
assistant.js), with hover-reveal animation and checkmark feedback
- Add 'copy' icon to SVG icon library (Lucide style)
- Add CSS for msg-copy-btn in chat.css and assistant.css
- Implement scan_git_paths Rust command: scans common Git installation
locations on Windows/macOS/Linux (Program Files, Scoop, Chocolatey,
GitHub Desktop, VS Code, MSYS2, Homebrew, Xcode CLT, etc.)
- Register scan_git_paths in lib.rs, tauri-api.js, dev-api.js
- Add scan button + results UI in settings.js Git path section
- Add i18n keys: gitScan, gitScanning, gitScanEmpty, gitScanUse
2026-04-06 00:14:18 +08:00
晴天
42aeb8b077
fix: Gateway status discrepancy — foreign detection, claim action, banner sync
...
- Services page: foreign Gateway now shows warning dot (yellow) instead of green
- Add claim_gateway command (Rust + dev-api + frontend API) to adopt foreign Gateway
- Services page: add "Claim Gateway" button for foreign Gateway instances
- Top banner: distinguish foreign Gateway (warning + claim) vs stopped (info + start)
- app-state: expose isGatewayForeign(), pass foreign flag to onGatewayChange listeners
- Services page actions now immediately sync global Gateway state (no 15s poll wait)
- Relax owner matching: cli_path missing on either side no longer triggers foreign
- Add i18n keys: foreignGatewayBanner, claimGateway, claimSuccess, claimFailed, processing
2026-04-05 23:12:16 +08:00
晴天
b2ab316353
fix(settings): support custom git path and robust skills bundled scanning
2026-04-05 21:33:35 +08:00
晴天
2829be1bd2
fix(deps): patch picomatch 4.0.4 and rustls-webpki 0.103.10 (dependabot #6 , #4 )
2026-04-05 20:40:13 +08:00
晴天
699cf1c071
fix(models): stop auto-populating fallbacks on every save ( fixes #190 )
2026-04-05 20:25:33 +08:00
晴天
db1f0edc43
fix(ci): format config command
2026-04-03 00:33:28 +08:00
github-actions[bot]
40399df69b
ci: update latest.json for v0.11.3
2026-04-02 16:28:56 +00:00
晴天
ce4e9ee8b0
chore: release v0.11.3
v0.11.3
2026-04-03 00:16:50 +08:00
晴天
61400397ec
chore(update): sync latest manifest for v0.11.2
2026-04-02 18:32:46 +08:00
github-actions[bot]
57253e7eb2
ci: update latest.json for v0.11.2
2026-04-02 10:28:38 +00:00
晴天
c6b6707d6c
fix(gateway): avoid false foreign gateway detection ( #176 )
v0.11.2
2026-04-02 18:15:52 +08:00
github-actions[bot]
dec0bf4d82
ci: update latest.json for v0.11.1
2026-04-02 09:48:55 +00:00
晴天
3b85bc6f01
feat: Windows dual build - lightweight + full WebView2 installer
v0.11.1
2026-04-02 17:33:40 +08:00
github-actions[bot]
10efe1cc0a
ci: update latest.json for v0.11.0
2026-04-02 07:13:38 +00:00
晴天
8dfa1821bb
fix(ci): resolve clippy bool_comparison and needless_as_bytes warnings
v0.11.0
2026-04-02 15:00:34 +08:00
晴天
d7ea6177e0
style: cargo fmt
2026-04-02 14:55:27 +08:00
晴天
d178bffc21
chore: release v0.11.0
2026-04-02 14:50:41 +08:00
晴天
630f7daa74
fix(linux): replace sudo -E with pkexec for npm privilege escalation ( #175 )
...
- sudo -E is incompatible with sudo-rs (Ubuntu 25.10+)
- sudo cannot prompt for password from GUI apps (no TTY)
- Split npm_command() (read-only, no elevation) and npm_command_elevated() (write ops)
- npm_command_elevated() checks if npm prefix is user-writable (nvm/fnm/volta)
- Falls back to pkexec (graphical auth dialog) then sudo --non-interactive
- Passes env vars explicitly via /usr/bin/env instead of -E
2026-04-02 14:34:05 +08:00
晴天
0ad7a63c5a
fix: confirm dialog overflow when content is too long
2026-04-02 13:52:08 +08:00
晴天
7b4640b355
feat: improve channel and setup guidance flows
2026-04-02 00:36:32 +08:00
晴天
2013ff98b9
feat: add workspace file panel to chat
2026-04-02 00:36:22 +08:00
晴天
17dbf2bc81
fix: sanitize polluted profiles fields in openclaw config
2026-04-02 00:09:03 +08:00
晴天
88d4c67ae6
fix: avoid false gateway-down status when pid lookup fails
2026-04-02 00:08:41 +08:00
晴天
aad8043196
feat(config): add config calibration repair flow
2026-04-01 22:46:36 +08:00
晴天
476b1a64b0
fix(ci): resolve cross-platform clippy warnings
2026-04-01 16:00:45 +08:00
晴天
b4350a59c4
fix(ci): satisfy clippy checks
2026-04-01 15:54:23 +08:00
晴天
f15de0cd4f
fix(ci): apply rustfmt to tauri sources
2026-04-01 15:21:46 +08:00
晴天
b427a6b000
feat: improve gateway compatibility and complete i18n cleanup
2026-04-01 15:06:25 +08:00
晴天
57b8b25946
docs(readme): 新增升级/卸载教程 + 更新致谢列表
...
- 新增「升级面板」章节:macOS/Windows/Linux 桌面版、Linux Web 版、Docker 五种场景
- 新增「卸载面板」章节:五种场景完整卸载步骤,含数据清理警告
- 代码贡献者新增 octo-patch(#163 )、SEVENTEEN-TAN(#161 )、roc-xie(#162 )
- 社区反馈者新增 17 位近期 Issue 提交用户
2026-03-30 23:59:54 +08:00
晴天
f5d32c377c
fix: 修复多个高优 Issue ( #160 , #165 , #156 , #159 , #151 )
...
- #160 Gateway 死循環: _autoPairAndReconnect 后不调用 reconnect() 避免重置计数器
- #165 readConfig 未定义: 替换为内联 fs.readFileSync/writeFileSync
- #156 systemd PATH: findOpenclawBin 添加 npm 全局路径, systemd 服务注入 PATH
- #159 Docker 双容器冲突: 新增 DISABLE_GATEWAY_SPAWN 环境变量开关
- #151 Gateway 检测冲突: linuxCheckGateway 验证进程名, 拒绝操作非 OpenClaw 进程
2026-03-30 23:13:24 +08:00
SEVENTEEN-TAN
87d7c227d8
fix: 重构版本源检测逻辑 + standalone 目录集中化 + Linux 平台检测补全 ( #161 )
...
* fix: Windows 版本检测错误——优先从活跃 CLI 读取版本,修复源判断和包检查顺序
- get_local_version() Windows 块新增活跃 CLI 优先检测(与 macOS 一致),
避免残留的 standalone 汉化版目录被优先扫描到
- detect_installed_source() 修复 standalone 被错误映射为 official(应为 chinese)
- read_version_from_installation() 根据 classify_cli_source 动态决定
package.json 检查顺序,避免硬编码汉化版优先导致官方版用户看到错误版本
🤖 Generated with [Qoder][https://qoder.com ]
* fix: Windows 版本检测忽略残留文件,仅当 CLI 二进制存在时才读取版本
standalone 目录和 npm 全局目录中可能存在卸载后的残留 node_modules/
package.json,导致面板误判 OpenClaw 已安装并显示错误版本号。
现在在读取版本前先检查 openclaw.cmd 是否实际存在。
🤖 Generated with [Qoder][https://qoder.com ]
* fix: 重构版本源检测逻辑,修复跨源切换后显示旧源的问题
- 新增 detect_source_from_cmd_shim() 通过读取 Windows .cmd shim 内容判断
npm 包归属,替代不可靠的文件系统残留目录扫描
- 重写 detect_installed_source() Windows 检测块,优先使用 shim 内容信号
- upgrade_openclaw_inner() 跨源切换时清理 standalone 安装目录
- get_local_version() npm 段改用 shim 内容判断活跃包
- build_enhanced_path() 三平台添加 standalone 安装目录,避免 dashboard 超时
- 所有平台 fallback 从 "official" 改为 "unknown",支持非面板安装场景
- 前端 dashboard/about 支持 official/chinese/unknown 三源显示
- 新增 unknownSource i18n key(中/英/繁/日/韩)
🤖 Generated with [Qoder][https://qoder.com ]
* fix: 移除 config.rs 末尾多余的闭合括号,修复编译错误
🤖 Generated with [Qoder][https://qoder.com ]
* fix: 移除 config.rs 末尾重复的 configure_git_https 和 invalidate_path_cache 定义
🤖 Generated with [Qoder][https://qoder.com ]
* refactor: standalone 目录集中化、unsafe set_var 适配、Linux 平台检测补全
- 提升 all_standalone_dirs() / standalone_install_dir() 为 pub(crate),
作为全局唯一的 standalone 路径来源
- build_enhanced_path() 三平台块改为调用 config::all_standalone_dirs()
- service.rs 三平台 candidate 函数改为调用 super::config::all_standalone_dirs()
- utils.rs common_non_windows_cli_candidates() 改为调用集中函数
- std::env::set_var 包裹 unsafe 块,附 SAFETY 注释,适配 Rust 1.83+
- 补全 Linux detect_installed_source(): CLI 路径分类 -> symlink -> standalone -> npm list
- 补全 Linux get_local_version(): 活跃 CLI -> standalone VERSION -> symlink package.json
🤖 Generated with [Qoder][https://qoder.com ]
* fix: service.rs 模块路径修正 super::config -> crate::commands::config
mod platform 内部 super 指向 service 模块而非 commands,
需要完整路径 crate::commands::config 才能访问 all_standalone_dirs()
🤖 Generated with [Qoder][https://qoder.com ]
---------
Co-authored-by: SEVENTEEN-TAN <SEVENTEEN-TAN@users.noreply.github.com >
2026-03-30 22:50:11 +08:00