chore: release v0.17.0

See CHANGELOG.md for the full notes. Highlights:

- feat(hermes): 50+ visual config panels covering session runtime, model
  management, terminal/sandbox, kanban, safety/privacy, display, browser,
  voice and toolsets — replaces hand-editing ~/.hermes/config.yaml.
- feat(hermes): maintenance/upgrade controls (Update Backup, Session Store
  Maintenance, Curator Maintenance).
- feat(channels): 14 new channels (iMessage / WhatsApp / Telegram / Discord
  plugin runtime / Signal / Microsoft Teams / LINE / Mattermost / Synology /
  Google Chat / Zalo / DingTalk / Tlon / IRC / Nostr / Twitch / Nextcloud
  Talk / ClickClack), unified channel editor, SecretRef preservation,
  multi-account save, generic diagnostics.
- fix(hermes): critical upstream 0.14.0 missing pieces compensated
  (dashboard_auth stubs + web_dist index.html injected at install/update/
  start; idempotent + self-yielding when upstream ships the real files).
- fix(hermes): upgrade path now installs runtime extras (croniter / httpx /
  openai / aiohttp / websockets) to prevent post-upgrade Gateway crashes.
- fix(hermes): hermes_venv_python now resolves uv-tool install paths so
  '可选依赖管理' / 多 Gateway 看板 stop falsely reporting 'venv not found'.
- fix(hermes): group-chat page no longer renders run_id as the reply text;
  it now listens to hermes-run-done and reads payload.output.
- fix: dashboard race condition (#301), Node.js nvm-managed version
  detection (#295), agent models sync with merged openclaw.json (#297).

Hot-update minAppVersion bumped to 0.17.0 because src-tauri/src/lib.rs
registers 40+ new Tauri commands — older desktop builds must NOT pull this
frontend via hot-update or they will hit missing-command crashes.
This commit is contained in:
晴天
2026-05-28 09:42:40 +08:00
parent 30691c68cb
commit f2fbd9106d
8 changed files with 80 additions and 16 deletions

View File

@@ -7,6 +7,70 @@
## [未发布]
## [0.17.0] - 2026-05-28
### 新功能 (Features)
#### Hermes Agent 配置面板完整覆盖
以前 Hermes 的 `~/.hermes/config.yaml` 只有少数项能在面板里改,剩下都得手动编 YAML。这一版把 50+ 个配置项全部做成可视化表单,按主题聚合:
- **会话与运行时** — Session Runtime / Streaming / Memory / Compression / Tool Loop Guardrails / Channel Display / Quick Commands / Worktree Session / Prompt Caching / Logging / Cron Output / Memory Flush 等表单
- **模型管理** — Base Model / Model Aliases / Token Limits / Model Catalog / Auxiliary Model / Delegation Override / Provider Routing / Provider Timeout / OpenRouter Cache / Agent Quality
- **终端与沙箱** — Sandbox Image / SSH / Docker Env Forwarding / Docker Advanced / Cloud Runtime / Shell Environment / Env Passthrough / Execution Limits / Terminal Execution / Shell Hooks
- **看板Kanban** — Dispatch Config / Dispatcher / Concurrency / Worker Log / Profile Routing 五块运维参数全可视化
- **安全 / 隐私 / 审批** — Approval Safety / Checkpoint Rollback / Agent Runtime Guard / Tirith Security / Privacy Redaction / Input-Output Safety / Human Delay / Unauthorized DM Policy / Global Toolset Disable / Skills Security
- **Display / Skin / TUI** — TUI / Analytics / Skin / Defaults / Output / Run / Reliability / Tool Prefix 一整套显示策略
- **工具集 / 浏览器 / 语音** — Browser Advanced / Browser Camofox / Browser Tool / TTS Voice / STT / Web Tool Backend / X Search / LSP Diagnostic / Context Engine / Platform Toolsets / MCP Servers / Skills / Bundled Plugin Channels
每个面板都走 `<feature>_config_read` + `<feature>_config_save` 命令对,保留原 YAML 注释与未托管字段,写入前自动备份。
#### Hermes 维护与升级控制
- **Update Backup** — 升级前自动备份 `~/.hermes/config.yaml`,并展示备份历史可一键回滚
- **Session Store Maintenance** — 浏览会话存储统计、压缩与清理
- **Curator Maintenance** — 调度 curator 维护任务
#### Hermes 消息渠道矩阵扩充
新接入或恢复 **14 个渠道** 的可视化配置:
- iMessage、WhatsApp、Telegramruntime options、Discordplugin runtime + guild 白名单 + app id、Signal、Microsoft Teams
- LINE、Mattermost、Synology Chat、Google Chat、Zalo、DingTalk钉钉
- Tlon、IRC、Nostr、Twitch、Nextcloud Talk、ClickClack
同时新增**统一渠道配置编辑器**、`channel_config_read/save` 命令对、Gateway runtime 状态、多账户保存、SecretRef 保护、跨渠道通用 diagnostics。
### 改进 (Improvements)
- **Node.js 版本检测优先命中 nvm 管理版** — 修复用户装了 nvm 但 PATH 里还有系统 Node 时,被系统 Node 抢先识别的问题([#295](https://github.com/qingchencloud/clawpanel/pull/295)
- **agent models 与 merged openclaw.json 同步** — 写入 agent 配置后从合并后的配置读回 models避免落盘与界面不一致[#297](https://github.com/qingchencloud/clawpanel/pull/297)
- **Dashboard 抑制过时加载** — 防止快速切换 Profile / 刷新时被取消的旧加载请求覆盖最新状态([#301](https://github.com/qingchencloud/clawpanel/pull/301)
- **Hermes Dashboard 触摸目标更大** — 移动端 / 触屏点击体验改进
- **Hermes Chat 健康横幅稳定化** — 不再因瞬时网络抖动反复闪烁
- **CI 触发条件扩展** — PR 从 `ready_for_review` 状态进入时也跑工作流
### 修复 (Fixes)
- **关键:上游 hermes-agent 0.14.0 漏装兼容兜底** — 上游 wheel 漏装了 `hermes_cli/dashboard_auth/` 子包6 个文件)和 `hermes_cli/web_dist/` SPA 资源,导致 `hermes dashboard` 启动直接崩,进而让 ClawPanel 的 Profile / 多 Gateway 看板 / OAuth / Channels / Sessions 详情等所有依赖 9119 的页面集体报「请求被目标计算机拒绝」。本版在 `install_hermes` / `update_hermes` / `hermes_dashboard_start` 三处注入幂等的 pass-through stubloopback 模式下安全若上游补回真实文件stub 自动让位
- **关键Hermes 升级路径补齐 runtime extras** — `update_hermes``install_hermes` 现在统一附加 `--with croniter --with httpx --with openai --with aiohttp --with websockets`,避免升级后 Gateway 启动 platform 模块时报 `No module named ...`
- **关键:`hermes_venv_python` 感知 `uv tool install` 路径** — 早期只查 `HERMES_PYTHON``~/.hermes-venv`,但 ClawPanel 默认走 `uv tool install`,导致「可选依赖管理」「多 Gateway 看板」等页面对 99% 用户都误报「Hermes venv 未找到」。现在按优先级 `HERMES_PYTHON``~/.hermes-venv``<uv tool dir>/hermes-agent/{Scripts,bin}/python` fallback
- **群聊气泡显示 run_xxx 而非真实回复** — `hermes_agent_run` 返回的是 run_id 字符串而非结果对象,原代码把 run_id 当回复内容渲染。现在监听 `hermes-run-{started,delta,done,error,cancelled}` 事件,从 `payload.output` 取最终输出,按 run_id 过滤事件保证多 Profile 串行调度 race-safe
- **Hermes 原始配置保存校验** — 直接编辑 raw YAML 时校验 schema避免写入非法配置导致 Gateway 启动失败
- **Hermes MCP Sampling 配置校验** — 防止非法 sampling 字段写入 config.yaml
- **渠道配置稳健性** — 多账户保存 / SecretRef 凭据保护 / Discord guild allowlist 暴露 / Discord application id 保留 / 默认账户选择稳定化 / 凭据字段校验 / OpenClaw 渠道策略归一化
- **Hermes 渠道密钥与运行时 env 对齐** — 避免面板存的 `${env:KEY}` 与 Gateway 进程实际读到的环境变量不一致
- **Web 端 OpenClaw 路径冲突扫描兼容** — Web 模式下 PATH CLI 冲突扫描接口对齐桌面端
### 测试与验证 (Testing)
- **回归** — `npm run build``cargo fmt --check``cargo check``cargo clippy --all-targets -- -D warnings` 全绿Python 端在用户 uv-tool venv 实测 `from tools.lazy_deps import LAZY_DEPS` 返回 25 个 feature
- **关键路径手测** — 桌面端 Hermes 安装/升级、Gateway 启停、Profile / Channels / Dashboard / 可选依赖管理 / 群聊页面端到端通过
### 热更新兼容性 (Compatibility)
本版本 `src-tauri/src/lib.rs` 注册了 40+ 对新 Tauri 命令(各 `hermes_*_config_read/save`、渠道 / 维护命令),因此 `docs/update/latest.json``minAppVersion` 提升到 **0.17.0**:低于此版本的桌面端不会通过热更新拉到新前端,避免命令缺失导致页面崩溃。
## [0.16.5] - 2026-05-22
### 修复 (Fixes)

View File

@@ -34,7 +34,7 @@
"description": "支持 OpenClaw 和 Hermes Agent 双引擎的多 AI Agent 可视化管理面板,基于 Tauri v2 的跨平台桌面应用。内置晴辰助手支持工具调用,晴辰云 AI 接口一键接入。支持仪表盘监控、多模型配置、Hermes Agent 对话、消息渠道管理、内置 QQ 机器人、实时 AI 聊天、记忆管理、Agent 管理、网关配置、内网穿透等功能。支持 11 种语言。",
"url": "https://claw.qt.cool/",
"downloadUrl": "https://github.com/qingchencloud/clawpanel/releases/latest",
"softwareVersion": "0.16.5",
"softwareVersion": "0.17.0",
"author": {
"@type": "Organization",
"name": "晴辰云 QingchenCloud",
@@ -1225,7 +1225,7 @@
<div class="orb orb-2" style="top:auto;bottom:-100px"></div>
<div class="container-sm" style="position:relative;z-index:10">
<div class="section-header">
<div class="reveal download-version"><span class="pulse"></span> <span id="dl-badge" data-i18n="dl.badge">v0.16.5 最新版</span></div>
<div class="reveal download-version"><span class="pulse"></span> <span id="dl-badge" data-i18n="dl.badge">v0.17.0 最新版</span></div>
<h2 class="reveal section-title" data-i18n="dl.title"><span class="gradient-text">下载安装</span></h2>
<p class="reveal section-desc" data-i18n="dl.desc">选择你的操作系统,一键下载安装</p>
</div>
@@ -1235,11 +1235,11 @@
<h3>macOS</h3>
<p class="dl-desc" data-i18n="dl.mac.d">支持 Apple Silicon 和 Intel 芯片</p>
<div class="dl-links">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.16.5_aarch64.dmg" target="_blank" rel="noopener">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.17.0_aarch64.dmg" target="_blank" rel="noopener">
Apple Silicon (M1/M2/M3/M4)
<span class="dl-format">.dmg</span>
</a>
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.16.5_x64.dmg" target="_blank" rel="noopener">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.17.0_x64.dmg" target="_blank" rel="noopener">
<span data-i18n="dl.mac.intel">Intel 芯片</span>
<span class="dl-format">.dmg</span>
</a>
@@ -1257,15 +1257,15 @@
<h3>Windows</h3>
<p class="dl-desc" data-i18n="dl.win.d">支持 Windows 10 及以上版本</p>
<div class="dl-links">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.16.5_x64-setup.exe" target="_blank" rel="noopener">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.17.0_x64-setup.exe" target="_blank" rel="noopener">
<span data-i18n="dl.win.exe">安装程序</span>
<span class="dl-format">.exe</span>
</a>
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.16.5_x64-setup-full.exe" target="_blank" rel="noopener">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.17.0_x64-setup-full.exe" target="_blank" rel="noopener">
<span data-i18n="dl.win.full">完整包(含 WebView2</span>
<span class="dl-format">.exe</span>
</a>
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.16.5_x64_en-US.msi" target="_blank" rel="noopener">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.17.0_x64_en-US.msi" target="_blank" rel="noopener">
<span data-i18n="dl.win.msi">MSI 安装包</span>
<span class="dl-format">.msi</span>
</a>
@@ -1276,11 +1276,11 @@
<h3>Linux</h3>
<p class="dl-desc" data-i18n="dl.linux.d">支持主流 Linux 发行版</p>
<div class="dl-links">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.16.5_amd64.AppImage" target="_blank" rel="noopener">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.17.0_amd64.AppImage" target="_blank" rel="noopener">
<span data-i18n="dl.linux.ai">通用版</span>
<span class="dl-format">.AppImage</span>
</a>
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.16.5_amd64.deb" target="_blank" rel="noopener">
<a class="dl-link" href="https://claw.qt.cool/proxy/dl/github.com/qingchencloud/clawpanel/releases/latest/download/ClawPanel_0.17.0_amd64.deb" target="_blank" rel="noopener">
Debian / Ubuntu
<span class="dl-format">.deb</span>
</a>

View File

@@ -1,6 +1,6 @@
{
"version": "0.16.5",
"minAppVersion": "0.15.3",
"minAppVersion": "0.17.0",
"hash": "sha256:1913611f9f84e7f8c28dfc6d10c0de5078ce99e6d894c4c8bb9210676d69c5e2",
"url": "https://github.com/qingchencloud/clawpanel/releases/download/v0.16.5/web-0.16.5.zip",
"size": 2599816,

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "clawpanel",
"version": "0.16.5",
"version": "0.17.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "clawpanel",
"version": "0.16.5",
"version": "0.17.0",
"license": "AGPL-3.0",
"dependencies": {
"@tauri-apps/api": "^2.5.0",

View File

@@ -1,6 +1,6 @@
{
"name": "clawpanel",
"version": "0.16.5",
"version": "0.17.0",
"private": true,
"description": "ClawPanel - OpenClaw 可视化管理面板,基于 Tauri v2 的跨平台桌面应用",
"type": "module",

2
src-tauri/Cargo.lock generated
View File

@@ -366,7 +366,7 @@ dependencies = [
[[package]]
name = "clawpanel"
version = "0.16.5"
version = "0.17.0"
dependencies = [
"base64 0.22.1",
"chrono",

View File

@@ -1,6 +1,6 @@
[package]
name = "clawpanel"
version = "0.16.5"
version = "0.17.0"
edition = "2021"
description = "ClawPanel - OpenClaw 可视化管理面板"
authors = ["qingchencloud"]

View File

@@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/tauri-apps/tauri/dev/crates/tauri-config-schema/schema.json",
"productName": "ClawPanel",
"version": "0.16.5",
"version": "0.17.0",
"identifier": "ai.openclaw.clawpanel",
"build": {
"frontendDist": "../dist",