From cb4c9bcdfc5f790d3e29a41598ad7e6fae4bba73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=B4=E5=A4=A9?= Date: Sat, 16 May 2026 12:11:28 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E7=9B=AE=E5=BD=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + .windsurf/workflows/release.md | 145 ------ docs/engine-select-mockups/index.html | 150 ------- docs/engine-select-mockups/index2.html | 303 ------------- .../mockup-a-minimal.html | 229 ---------- .../mockup-b-gradient.html | 269 ----------- .../engine-select-mockups/mockup-c-glass.html | 339 -------------- docs/engine-select-mockups/v2-aurora.html | 395 ---------------- docs/engine-select-mockups/v2-bold-split.html | 284 ------------ docs/engine-select-mockups/v2-cinematic.html | 366 --------------- docs/engine-select-mockups/v2-monolith.html | 423 ------------------ docs/hermes-ui-refactor-plan.md | 206 --------- 12 files changed, 2 insertions(+), 3109 deletions(-) delete mode 100644 .windsurf/workflows/release.md delete mode 100644 docs/engine-select-mockups/index.html delete mode 100644 docs/engine-select-mockups/index2.html delete mode 100644 docs/engine-select-mockups/mockup-a-minimal.html delete mode 100644 docs/engine-select-mockups/mockup-b-gradient.html delete mode 100644 docs/engine-select-mockups/mockup-c-glass.html delete mode 100644 docs/engine-select-mockups/v2-aurora.html delete mode 100644 docs/engine-select-mockups/v2-bold-split.html delete mode 100644 docs/engine-select-mockups/v2-cinematic.html delete mode 100644 docs/engine-select-mockups/v2-monolith.html delete mode 100644 docs/hermes-ui-refactor-plan.md diff --git a/.gitignore b/.gitignore index 37c6eac..1a38772 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ pnpm-lock.yaml yarn.lock .cursor +.windsurf docs/issue-solutions.md # 构建产物 dist/ @@ -47,6 +48,7 @@ AGENTS.md BLOCKING_ISSUES_REPORT.md __clawapp-chat-ref.js LOBSTER-LEGION-ARCHIVE.md +docs/hermes-ui-refactor-plan.md # 大文件(宣传视频·原始版本) docs/promo-video.mp4 diff --git a/.windsurf/workflows/release.md b/.windsurf/workflows/release.md deleted file mode 100644 index bcf2fd2..0000000 --- a/.windsurf/workflows/release.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -description: 发布新版本(打 tag + 推送,触发跨平台构建) ---- - -## 版本号约定 - -- 格式: `x.y.z`(如 `0.7.0`) -- tag 格式: `v0.7.0`(带 `v` 前缀) - -## 发布前检查 - -1. 确认所有功能改动已提交并推送,CI 全部通过(main 分支绿灯) - -2. 确认工作区干净: -// turbo -```bash -git status -``` - -## 人工确认门禁 - -在继续执行版本号更新、提交、tag 或推送前,必须先把本次发布候选版交给维护者手动确认。 - -必须确认以下项目: - -- [ ] Web 模式:`npm run dev` 后核心页面可打开 -- [ ] 桌面模式:`npm run tauri dev` 后核心页面可打开 -- [ ] Hermes:安装/修复、升级、卸载弹窗流程可正常显示日志和进度 -- [ ] Hermes:Gateway 启动/停止/重启正常 -- [ ] Hermes:实时聊天 `/v1/runs` 至少完成一次真实消息回复 -- [ ] OpenClaw:仪表盘、模型、服务页无明显回归 -- [ ] 更新检查:`docs/update/latest.json` 的 `minAppVersion` 设置符合本次是否包含 Rust/Tauri 命令变更 - -确认方式: - -维护者必须明确回复类似: - -```text -确认发布 0.15.0 -``` - -在收到明确确认前,不要执行: - -- `npm run version:set ` -- `git commit` -- `git tag` -- `git push` - -## 更新版本号 - -`version:set` 会自动同步以下文件,不需要手动改: -- `package.json` — npm 版本 -- `src-tauri/tauri.conf.json` — Tauri 版本 -- `src-tauri/Cargo.toml` → `Cargo.lock` — Rust 版本 -- `docs/index.html` — JSON-LD `softwareVersion`、下载链接文件名(`ClawPanel_x.y.z_xxx`)、版本徽标(`vx.y.z 最新版`) - -// turbo -```bash -npm run version:set 0.7.0 -``` - -运行后检查输出,确认 4 个文件都标记了 ✅。 - -## 更新 CHANGELOG - -在 `CHANGELOG.md` 顶部(`## [上一版本]` 之前)加入新版本记录,格式: - -```markdown -## [0.7.0] - 2026-03-08 - -### 新功能 (Features) - -- **功能名** — 一句话描述 - -### 改进 (Improvements) - -- **改进名** — 一句话描述 -``` - -内容要覆盖本次版本的所有变更,包括新功能、改进、修复、安全更新等。 - -## 提交并推送 - -```bash -git add -A -git commit -m "chore: release v0.7.0" -``` - -### ⚠️ 推送注意事项 - -如果本次提交包含 `.github/workflows/` 文件的改动,IDE 内置的 OAuth token 没有 `workflow` scope,会被 GitHub 拒绝。需要在**系统终端**(非 IDE 终端)用自己的 git 凭据推送: - -```bash -git push origin main -``` - -如果不含 workflow 文件改动,IDE 内 push 即可。 - -## 打 tag 并触发发布 - -```bash -git tag v0.7.0 -git push origin v0.7.0 -``` - -推送 tag 后,GitHub Actions 会自动: -- 并行构建 macOS ARM64 / macOS Intel / Linux / Windows 四个平台 -- 创建 GitHub Release 并上传安装包 -- 构建前端 web 包并上传为 Release Asset -- 更新 `docs/update/latest.json`(前端热更新清单) -- 所有平台构建完成后统一写入 Release Notes - -## 查看构建进度 - -前往仓库 **Actions** 页面,找到 `Release` 工作流查看实时日志。 - -## 手动触发(不打 tag) - -在 GitHub Actions 页面手动触发 `Release` 工作流,输入版本号(如 `v0.7.0`)。 - -## 发布后验证 - -- [ ] Release 页面出现四个平台的安装包(.dmg ×2, .exe, .msi, .AppImage, .deb) -- [ ] Release Notes 内容正确(有下载表格 + changelog) -- [ ] `latest` 标签指向新 Release -- [ ] 官网 https://claw.qt.cool 下载链接指向新版本 -- [ ] `docs/update/latest.json` 已被 CI 自动更新 - -## 发布后同步 - -Mac 堡垒机上的 ClawPanel 项目需要手动同步(如有需要): -```bash -ssh mac "cd /Users/admin/Desktop/clawpanel && export https_proxy=http://127.0.0.1:7897 && git pull" -``` - -## 回滚 - -如果发布有问题,在 GitHub Releases 页面将该 Release 设为 Draft 或删除,然后修复后重新打 tag: -```bash -git tag -d v0.7.0 -git push origin :refs/tags/v0.7.0 -# 修复问题后 -git tag v0.7.0 -git push origin v0.7.0 -``` diff --git a/docs/engine-select-mockups/index.html b/docs/engine-select-mockups/index.html deleted file mode 100644 index bf2bdb6..0000000 --- a/docs/engine-select-mockups/index.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - -Engine Select Mockups · 三种风格抽卡 - - - - - - diff --git a/docs/engine-select-mockups/index2.html b/docs/engine-select-mockups/index2.html deleted file mode 100644 index 28cc281..0000000 --- a/docs/engine-select-mockups/index2.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - -V2 抽卡 · 4 张大间距对角线设计 - - - -
-
-

V2 抽卡 — 大间距对角线设计

-
- 这次修了什么:上一版把内容用 flex center 堆在屏幕中央,导致 OpenClaw 和 Hermes 的字挤在分割线两侧重叠。 - 新版用 absolute 定位把内容明确放在各自三角形的「重心」——左上 11%/6%,右下 11%/6%,间距大幅拉开,分割线清晰。 -
-
- - - - -
- - diff --git a/docs/engine-select-mockups/mockup-a-minimal.html b/docs/engine-select-mockups/mockup-a-minimal.html deleted file mode 100644 index e7267bf..0000000 --- a/docs/engine-select-mockups/mockup-a-minimal.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - -Mockup A — 极简对角线(黑白对比) - - - - -
- -
-
- -
OpenClaw
-
通用 AI 助理 · 模型 / 渠道 / 记忆 / 智能体
-
-
- - -
-
- -
Hermes
-
Agent 工作流 · 工具调用 / Profile / Kanban / Skills
-
-
- -
SELECT YOUR ENGINE
-
- -
-
- ✓ 已进入 主页 -
-
点击任意三角形预览动画 · 按 R 重置
- - - - diff --git a/docs/engine-select-mockups/mockup-b-gradient.html b/docs/engine-select-mockups/mockup-b-gradient.html deleted file mode 100644 index e51f884..0000000 --- a/docs/engine-select-mockups/mockup-b-gradient.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - -Mockup B — 渐变发光(赛博朋克) - - - - -
-
- -
-
-
通用助理
- -
OpenClaw
-
模型管理 · 渠道集成 · 记忆系统 · 智能体编排
-
-
- -
-
-
Agent 工作流
- -
Hermes
-
工具调用 · Profile · Kanban · Skills · OAuth
-
-
- -
— SELECT —
-
- -
-
-
-
Loading workspace...
-
-
点击预览 · 按 R 重置
- - - - diff --git a/docs/engine-select-mockups/mockup-c-glass.html b/docs/engine-select-mockups/mockup-c-glass.html deleted file mode 100644 index a3b9773..0000000 --- a/docs/engine-select-mockups/mockup-c-glass.html +++ /dev/null @@ -1,339 +0,0 @@ - - - - -Mockup C — 玻璃拟态 + 粒子(沉浸高级感) - - - - -
-
-
- -
-
-
通用助理
-
- - - - - -
-
OpenClaw
-
模型管理 · 渠道集成 · 记忆系统 · 智能体编排
-
-
Models
-
Channels
-
Memory
-
-
-
- -
-
-
Agent 工作流
-
- - - -
-
Hermes
-
工具调用 · Kanban · Skills · OAuth · Multi Profile
-
-
Tools
-
Skills
-
Profiles
-
-
-
- -
CHOOSE YOUR PATH
-
- -
-
-
-
-
Loading workspace…
-
-
-
点击预览 · 按 R 重置
- - - - diff --git a/docs/engine-select-mockups/v2-aurora.html b/docs/engine-select-mockups/v2-aurora.html deleted file mode 100644 index ae5e89b..0000000 --- a/docs/engine-select-mockups/v2-aurora.html +++ /dev/null @@ -1,395 +0,0 @@ - - - - -V2-D · Aurora — 极光大字(Stripe / Apple 风) - - - - -
-
-
- -
-
-
- -
— Choose your engine —
-
CLAWPANEL
-
v0.15.3
- -
-
01 · Universal Assistant
-
OpenClaw
-
从模型到智能体,一站式打造你的 AI 工作台。
-
-
Models
-
Channels
-
Memory
-
Agents
-
-
- Enter OpenClaw - -
-
- -
-
Agent Workflow · 02
-
Hermes
-
让 Agent 真正能干活。工具调用、Profile、Kanban 一应俱全。
-
-
Tools
-
Skills
-
Kanban
-
Profiles
-
-
- - Enter Hermes -
-
-
- -
-
-
-
Initializing workspace
-
-
Click a side · Press R to reset
- - - - diff --git a/docs/engine-select-mockups/v2-bold-split.html b/docs/engine-select-mockups/v2-bold-split.html deleted file mode 100644 index ca352b9..0000000 --- a/docs/engine-select-mockups/v2-bold-split.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - -V2-A · Bold Split — 黑白巨字 - - - - -
-
-
-
- -
-
01 · 通用助理
-
OpenClaw
-
通用 AI 助理平台。模型、渠道、记忆、智能体,一个面板搞定全部。
-
- Models - Channels - Agents -
-
- Choose - -
-
- -
-
02 · Agent 工作流
-
Hermes
-
Agent 工作流引擎。工具调用、Profile、Kanban、Skills,让 Agent 真正能干活。
-
- Tools - Skills - Profiles -
-
- - Choose -
-
-
- -
-
-
-
Loading workspace…
-
-
Click a side · Press R to reset
- - - - diff --git a/docs/engine-select-mockups/v2-cinematic.html b/docs/engine-select-mockups/v2-cinematic.html deleted file mode 100644 index 21c89d0..0000000 --- a/docs/engine-select-mockups/v2-cinematic.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - -V2-B · Cinematic — 电影级双世界 - - - - -
-
-
-
- -
— Choose your engine —
-
CLAWPANEL · 2026
-
v0.15.3
- -
-
01
-
OpenClaw
-
通用 AI 助理平台。模型、渠道、记忆、智能体——一个面板搞定全部。
-
-
Models
-
Channels
-
Memory
-
Agents
-
-
- Enter OpenClaw - -
-
- -
-
02
-
Hermes
-
Agent 工作流引擎。工具调用、Profile、Kanban、Skills——让 AI 真正能干活。
-
-
Tools
-
Skills
-
Kanban
-
Profiles
-
-
- - Enter Hermes -
-
-
- -
-
-
-
Initializing workspace…
-
-
Click a side · Press R to reset
- - - - diff --git a/docs/engine-select-mockups/v2-monolith.html b/docs/engine-select-mockups/v2-monolith.html deleted file mode 100644 index f252b40..0000000 --- a/docs/engine-select-mockups/v2-monolith.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - -V2-C · Monolith — 巨碑感(Linear / Vercel 风) - - - - -
-
-
-
-
-
-
-
- -
— Pick your path —
-
CLAWPANEL
-
v0.15.3
- -
-
-
- -
-
01 · 通用助理
-
-
OpenClaw
-
从模型到智能体,一站式打造你的 AI 工作台。
-
    -
  • 多模型 / 多渠道并行管理
  • -
  • 持久化记忆 + 上下文工程
  • -
  • 无代码搭建智能体
  • -
-
- Enter OpenClaw - -
-
- -
-
-
- -
-
Agent 工作流 · 02
-
-
Hermes
-
让 Agent 真正能干活。工具调用、Profile、Kanban 一应俱全。
-
    -
  • 原生工具调用 + Approval Flow
  • -
  • 多 Profile 隔离 + 多 Gateway
  • -
  • 内置 Kanban / Skills / OAuth
  • -
-
- - Enter Hermes -
-
-
- -
-
-
-
Initializing workspace
-
-
Click a side · Press R to reset
- - - - diff --git a/docs/hermes-ui-refactor-plan.md b/docs/hermes-ui-refactor-plan.md deleted file mode 100644 index 7094507..0000000 --- a/docs/hermes-ui-refactor-plan.md +++ /dev/null @@ -1,206 +0,0 @@ -# Hermes UI 全面重构规划 - -> 参考:`.tmp/hermes-web-ui`(官方 Vue + Koa 实现) -> 目标:ClawPanel Hermes 引擎视觉 + 功能与官方看齐,保留 editorial luxury 主题。 -> 作者:Cascade(AI 助手)|日期:2026-04-24 - ---- - -## 🎯 总体目标 - -1. **功能完备度**对齐官方 `hermes-web-ui`,不再是"初级 UI"。 -2. **视觉风格**继续用已做好的 editorial luxury(暖黑 + 金色 + Serif 标题)。 -3. **架构**:前端 Vanilla JS + CSS scope,后端走 ClawPanel Rust 命令(部分已有,部分需新增)。 -4. **分阶段交付**,每阶段独立 PR,可回滚。 - ---- - -## 📊 官方 vs ClawPanel 现状对比 - -| 页面 | 官方功能 | ClawPanel 现状 | Gap | -|---|---|---|---| -| **Logs** | 文件列表、级别过滤、行数、搜索、**logger 列**、**access log 彩色(method/path/status)** | 文件列表、级别、行数、搜索 | 缺 logger 列 + access log 解析 + tail + 下载 | -| **Chat** | SSE 流式、工具可视化、**持久化 Session(SQLite)**、**会话搜索**、多 profile、token 用量、context length | localStorage 会话、流式、工具卡片 | **架构性差距**:无 DB session、无搜索、无 usage、无 profile | -| **Skills** | 分类列表、详情、**toggle enable**、**category 描述**、**skill files tree** | 只读分类列表 + 详情 | 缺 toggle、files tree、CRUD | -| **Memory** | 三段式(memory/user/**soul**)、**mtime 时间戳** | 二段式(memory/user) | 缺 soul 段、mtime 显示 | -| **Jobs (Cron)** | 完整 Job 字段(next_run_at、last_run_at、last_status、last_error、delivery、**origin** 聊天平台溯源、**repeat**、skills 绑定、model/provider 绑定) | 基础 CRUD + 统计 | 缺 next/last run 时间、历史、绑定、delivery | -| **Files** ⭐ | 完整文件管理器(上传/下载/删除/预览) | **页面不存在** | 整个缺失 | -| **Sessions** ⭐ | 独立会话浏览器(列表/搜索/重命名/删除/usage) | 无 | 整个缺失 | -| **Gateways** ⭐ | 多 Gateway 切换 | 单 Gateway(已有基础) | 多 gateway 管理 UI 缺 | -| **Models** | 模型库浏览 + 用量 | 只有仪表盘的模型配置 | 独立 Models 页缺 | -| **Profiles** ⭐ | Profile 管理(不同 config 切换) | 无 | 整个缺失 | -| **Usage** ⭐ | token 用量统计、成本分析 | 无 | 整个缺失 | -| **Terminal** ⭐ | 内置终端 | 无 | 整个缺失 | -| **Channels** | 消息渠道(飞书/Telegram 等) | 占位 "coming soon" | 整个缺失 | - -⭐ = 官方独有的全新页面 - ---- - -## 🛠️ 工作量评估 - -### 前端(Vanilla JS + hermes.css 组件) - -| 模块 | 代码量 | 复杂度 | -|---|---|---| -| Logs 重写 | ~300 行 | 中(含 access log 解析) | -| Chat 重写 | ~700 行 | 高(SSE + session DB + usage) | -| Skills 重写 | ~400 行 | 中(加 toggle + files) | -| Memory 重写 | ~250 行 | 低 | -| Cron 重写 | ~500 行 | 中高(字段丰富) | -| Files 新增 | ~400 行 | 中 | -| Sessions 新增 | ~450 行 | 中高 | -| Usage 新增 | ~200 行 | 低 | -| Profiles 新增 | ~250 行 | 中 | -| Models 新增 | ~300 行 | 中 | -| **合计** | **~3750 行** | — | - -### 后端(Rust 新增命令) - -| 命令 | 数据源 | 估计 | -|---|---|---| -| `hermes_sessions_list/get/delete/rename` | `~/.hermes/sessions.db` SQLite | 中(4 个命令) | -| `hermes_session_usage` | `usage` 表 | 低(2 个) | -| `hermes_context_length` | 模型元数据 | 低 | -| `hermes_skill_toggle/create/delete` | `~/.hermes/skills/*/` FS | 中(3 个) | -| `hermes_skill_files` | 遍历 skill 目录 | 低 | -| `hermes_memory_soul` | `~/.hermes/memories/SOUL.md` | 低 | -| `hermes_logs_tail` | SSE 流 `~/.hermes/logs/*.log` | **高**(流式) | -| `hermes_logs_download` | 文件下载 | 低 | -| `hermes_files_list/read/delete/upload` | `~/.hermes/` 任意文件 | 中(4 个) | -| `hermes_profiles_list/switch` | `~/.hermes/profiles.json` | 低 | -| `hermes_job_history` | Gateway `/api/jobs/:id/runs` | 低 | -| **合计** | | **~18 个命令** | - -### 样式(hermes.css 扩展) - -| 组件 | 估计 | -|---|---| -| Logs 页(access log/logger 徽章) | ~60 行 | -| Chat 页(session browser/usage bar) | ~100 行 | -| Skills 页(files tree/toggle) | ~80 行 | -| Memory 页(三段布局) | ~40 行 | -| Files 页(新) | ~120 行 | -| Sessions 页(新) | ~100 行 | -| Usage / Profiles / Models | ~150 行 | -| **合计** | **~650 行 CSS** | - ---- - -## 🗓️ 分阶段交付(建议 6 个独立 PR) - -### Phase 1 — **Logs + Memory 重写**(低风险起步) -- 后端新增:`hermes_logs_tail`(SSE)、`hermes_logs_download`、`hermes_memory_read/write` 扩展支持 soul -- 前端重写:logs.js(access log 解析/logger 列/tail toggle/下载/清空显示) -- 前端重写:memory.js(三段式:memory/user/soul,加 mtime、字数) -- **工作量**:~600 行前端 + ~250 行 Rust + ~100 行 CSS -- **风险**:低(功能相对独立) -- **PR 大小**:中 - -### Phase 2 — **Cron (Jobs) 完整字段** -- 后端:`hermes_job_history`(走 Gateway REST) -- 前端:cron.js 重写,含 next_run_at / last_run_at / last_status / 执行历史抽屉 / delivery 字段 / skills 绑定 -- **工作量**:~500 行前端 + ~80 行 Rust + ~80 行 CSS -- **风险**:中(需要验证 Gateway REST 支持所有字段) - -### Phase 3 — **Skills CRUD** -- 后端:`hermes_skill_toggle/create/delete`、`hermes_skill_files` -- 前端:skills.js 重写,加 toggle / 新建 modal / 编辑 / 删除 / 文件树 -- **工作量**:~400 行前端 + ~300 行 Rust + ~80 行 CSS -- **风险**:中(FS 操作需权限/错误处理严谨) - -### Phase 4 — **Chat 架构重构**(重头戏) -- 后端:`hermes_sessions_*`(读 Hermes 的 SQLite)、`hermes_session_usage`、`hermes_context_length` -- 前端:chat.js 完全重写 - - 从 localStorage 迁移到后端 session API - - 增加停止按钮、消息复制、代码块语法高亮(引入 highlight.js 或自研) - - Token 用量实时显示 - - context length bar - - 搜索历史会话 -- **工作量**:~700 行前端 + ~400 行 Rust + ~150 行 CSS -- **风险**:**高**(架构迁移、localStorage 数据要兼容迁移) - -### Phase 5 — **新页面:Sessions + Usage** -- Sessions 独立页面(浏览所有历史、搜索、重命名、删除) -- Usage 页面(token 统计、成本) -- 侧栏导航项新增 -- **工作量**:~650 行前端 + ~100 行 Rust + ~150 行 CSS - -### Phase 6 — **Files + Profiles**(可选,根据需求) -- Files 浏览器(上传下载) -- Profiles 切换(多 config) -- **工作量**:~650 行前端 + ~250 行 Rust + ~170 行 CSS - ---- - -## ⚠️ 关键技术决策 - -### 1. 后端协议:SQLite 直读 or Gateway REST? -Hermes Gateway **自身不暴露 session REST API**。必须**直接读 SQLite `~/.hermes/sessions.db`**(Hermes 进程也用这个文件,要注意并发)。 - -**方案**:Rust 端用 `rusqlite` crate + `WAL mode` 读。写操作(rename/delete)必须等 Gateway 停机或通过 Hermes CLI。 - -### 2. SSE 在 Tauri 中的实现 -Tauri WebView 支持 EventSource,但 Windows 上某些版本的 WebView2 可能有 buffer 问题。**已知方案**:Rust 端用 `tauri::Event` 推事件,前端 listen 就好。logs tail、chat run 已在用这个模式。 - -### 3. SQLite 迁移 localStorage chat sessions -chat.js 现有 localStorage 数据要迁移。**方案**:首次进 chat 页检测 localStorage 有旧 session,询问用户是否导入到 Hermes DB,or 保留只读访问。 - -### 4. Session DB 的 schema 兼容性 -Hermes 的 SQLite schema 可能版本间变化。参考 `.tmp/hermes-web-ui/packages/server/src/db/hermes/sessions-db.ts` 的 query 写法,保持一致。遇到 schema 差异用 `PRAGMA user_version` 检测。 - -### 5. Files 页面的权限边界 -只允许访问 `~/.hermes/` 目录,**拒绝绝对路径**,`../` 遍历要 reject。 - -### 6. Profiles 的切换语义 -切换 profile = 切换 `~/.hermes/config.yaml` + `.env` + 重启 Gateway。每个 profile 是一个完整配置目录。UI 要明示切换后需要重启 Gateway。 - ---- - -## 📋 验收标准(每阶段) - -- [ ] 新功能单元测试(Rust 端 `cargo test`) -- [ ] 前端 lint 通过 `npm run build` -- [ ] 手动测试:Tauri 桌面端 + Web 模式两端都跑一遍 -- [ ] 与官方 hermes-web-ui 视觉对比(截图),功能缺失 ≤ 10% -- [ ] 不影响 OpenClaw 引擎(scope 隔离验证) -- [ ] 性能:1000 条会话列表加载 < 500ms - ---- - -## ⏱️ 估算总时长 - -| 阶段 | 预估时间 | -|---|---| -| Phase 1 | **1 天** | -| Phase 2 | **1 天** | -| Phase 3 | **1.5 天** | -| Phase 4 | **2.5 天** | -| Phase 5 | **1.5 天** | -| Phase 6 | **1.5 天** | -| **合计** | **~9 天** | - -AI 辅助开发可能压缩到 5-6 个工作日。 - ---- - -## 🚀 建议执行顺序 - -1. **先合并当前 `feat/hermes-v0.14.1-providers` PR**(dashboard + sidebar 新样式 + env-editor + skeleton scope) -2. **再开 Phase 1 分支** `feat/hermes-logs-memory-refactor`,按此规划交付 -3. Phase 2-6 每个都独立分支 + PR,按优先级排 - -这样用户可以: -- 每次只 review 一个 PR -- 任一阶段失败不会阻塞前面的工作 -- 可以随时暂停,保留已完成的阶段成果 - ---- - -## 📎 参考实现 - -- 官方 Vue UI:`.tmp/hermes-web-ui/packages/client/src/views/hermes/*.vue` -- 官方 Server:`.tmp/hermes-web-ui/packages/server/src/services/hermes/*.ts` -- 官方 DB 层:`.tmp/hermes-web-ui/packages/server/src/db/hermes/*.ts` -- ClawPanel 现有:`src/engines/hermes/pages/*.js`、`src-tauri/src/commands/hermes.rs` -- 设计系统:`design-system/clawpanel/MASTER.md`、`src/engines/hermes/style/hermes.css`