晴天
2b6f80091a
fix: fake update detection, Hermes web mode commands, cleanup hot update
...
1. 假更新检测: checkNewVersion 对比 Tauri 二进制版本与前端版本,
若前端版本 > 二进制版本(热更新导致),提示用户下载完整安装包
2. 版本统一: sidebar 和 about 页面均使用 __APP_VERSION__
3. 更新机制: checkHotUpdate → checkNewVersion,改用 GitHub Releases API,
移除 check_frontend_update / download / rollback / get_update_status 死代码
4. Hermes Web 模式: dev-api.js 实现全部 15 个 Hermes 命令处理器
(check_python, check_hermes, install_hermes, configure_hermes,
hermes_gateway_action, hermes_health_check, hermes_api_proxy,
hermes_agent_run, hermes_read_config, hermes_fetch_models,
hermes_update_model, hermes_detect_environments, hermes_set_gateway_url,
update_hermes, uninstall_hermes)
5. i18n: 新增 versionMismatch, hotUpdateDeprecated, downloadFullInstaller
2026-04-13 09:50:36 +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
晴天
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
晴天
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
晴天
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
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
晴天
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
晴天
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
晴天
ce4e9ee8b0
chore: release v0.11.3
2026-04-03 00:16:50 +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
晴天
aad8043196
feat(config): add config calibration repair flow
2026-04-01 22:46:36 +08:00
晴天
b427a6b000
feat: improve gateway compatibility and complete i18n cleanup
2026-04-01 15:06:25 +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
晴天
63b4566099
i18n: 补全 sponsorProject/sponsorDesc 11 语言翻译
2026-03-26 04:25:30 +08:00
晴天
112394bf08
fix: 插件版本 pin 策略修正 + i18n key 补全
...
- channels.js: 仅对 @openclaw/ 前缀包做版本 pin(飞书等),微信/QQ 独立版本号不 pin
- dashboard.js locale: 新增 guardianFailed/autoFix/fixing 等 15 个修复弹窗 i18n key
- channels.js locale: 新增 pluginIncompatible/reinstallCompatible i18n key
- main.js: Guardian 恢复 banner 改为 t() 国际化调用
2026-03-26 03:50:24 +08:00
晴天
985d263dc6
feat: i18n 11 languages + website update + fix #139 #140 #141
...
i18n:
- Add 9 new locale files (ja/ko/de/es/fr/pt/ru/vi/zh-TW)
- Add multilingual README files for all 11 languages
- Add locale helper, index, and modular translation system
- Add translation generation scripts
Website (docs/index.html):
- Replace 公益AI接口 branding with 晴辰云AI接口
- Remove OpenClaw 独立安装包 promotion block
- Update SEO meta tags (description, keywords, OG, Twitter, JSON-LD)
- Add 11-language README links to footer
- Update 元宝派 link to new URL
Bug fixes:
- fix(cron): delivery format mode:'push' → mode:'announce', remove invalid 'to' field (fixes #141 )
- fix(cron): allow single-channel users to select delivery channel
- fix(cron): preserve delivery field in job state for editing
- fix(models): add 'ollama' as recognized API type, prevent overwriting native ollama config (fixes #140 )
- fix(models): skip /v1 append for ollama native API baseUrl
- fix(assistant): normalize 'google-generative-ai' consistently, add ollama hints
- fix(version): use CLI path classification for source detection on Windows (fixes #139 )
- fix(version): default to 'official' instead of 'chinese' when source unknown
- fix(version): reorder npm global package check based on active CLI
2026-03-24 22:31:11 +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
晴天
0c062e93e0
feat: multi-OpenClaw CLI detection/binding + i18n infrastructure
...
Multi-OpenClaw Detection & Binding:
- Add resolve_openclaw_cli_path() and classify_cli_source() in utils.rs
- Support openclawCliPath binding in clawpanel.json (user selects CLI)
- VersionInfo now includes cli_path, cli_source, all_installations
- scan_all_installations() detects all OpenClaw installs on system
- Dashboard shows CLI source label + multi-install warning
- Settings page: CLI binding UI with auto-detect and manual selection
- dev-api.js synced with cli_path/cli_source fields for Web mode
i18n Infrastructure:
- Create src/lib/i18n.js core module (t(), setLang(), initI18n())
- Create src/locales/zh-CN.json and src/locales/en.json
- Sidebar fully i18n-ized (nav labels, sections, instance switcher)
- Dashboard stat cards fully i18n-ized
- Settings page: language switcher UI (live reload)
- initI18n() called in main.js on startup
2026-03-24 11:57:40 +08:00