Import the client, server, skills, tests, and build scripts as the starting point for the rebuild, then trim the surfaces this project does not ship: Electron desktop packaging, the marketing website, and the ESP32 firmware tree. CI keeps the web build, e2e, lockfile, release, and Docker workflows. Rename the package and CLI entry points to hermes-ui, drop the prepare hook so npm ci no longer triggers a build, and drop the removed tsconfig and nodemon references. Rewrite AGENTS.md, ARCHITECTURE.md, DEVELOPMENT.md, and the READMEs so the documented package map and hard rules match this repository. reference_code/ is ignored: it is a read-only snapshot, not an input to the build.
7.4 KiB
7.4 KiB
hermes-web-ui 0.6.29 功能清单(供筛选)
用法:每条后面有
[ ]勾选框。你可以直接在这个文件里标注,或者直接在对话里告诉我 "第 X 组要 / 第 Y 组不要 / 某几条单独要"。 标注 🔒 的是对接 Hermes 的核心链路,建议全部保留(施工蓝图里我会把关)。 标注 💀 的是原项目里明显写得烂/包袱重的部分,砍掉能大幅减负。
A. 对话核心(🔒 必须保留)
- 🔒 流式聊天页(SSE/Socket 流式输出、reasoning 折叠、虚拟滚动消息列表)
- 🔒 会话管理(创建/切换/改名/归档/删除/分页/搜索/导出)
- 🔒 工具调用轨迹(tool_call 展开、参数/结果展示)
- 🔒 审批流(approval.requested → 允许/拒绝 按钮回传桥)
- 🔒 澄清交互(clarify.respond,Agent 反问用户)
- 🔒 中断运行(interrupt)+ 断线重连后重挂运行状态(reattach)
- 🔒 Profile 切换(多身份,HERMES_HOME 隔离)
- 🔒 上下文压缩状态展示(context-engine 压缩进度事件)
- 🔒 会话消息持久化到 Web UI 自己的 SQLite(与 hermes state.db 只读分离)
- 文件拖入作为附件
- 多标签页并行不同会话互不串扰(e2e 有覆盖)
B. 会话历史 / 通道会话
- 历史页浏览 hermes CLI/Telegram/Discord/Cron 通道会话(只读)
- 历史会话深链定位、搜索
- 会话导入/导出(导入被原项目刻意禁用)
C. 全局 Agent / 群聊 / 工作流
- 全局 Agent(跨会话共享的常驻对话,
/global-agent命名空间) - 多 Agent 群聊房间(建房、邀请码、@提及路由、多 Agent 同房、上下文共享)
- 工作流编排(节点 = Agent/模型、运行状态机、节点审批、从节点重跑、运行历史)
D. 看板 / 计划任务
- 看板(多看板、任务卡、指派、阻塞、评论、日志、派发给 Agent 执行)
- 看板实时事件 WebSocket(桥接 hermes CLI watch)
- 计划任务 Jobs(CRUD、暂停/恢复、立即执行)
- Cron 运行历史与产物查看
E. 模型与供应商管理
- 可用模型列表 / 供应商(provider)模型池增删
- 自定义模型增删、别名、可见性控制
- 模型上下文查询/更新
- 辅助模型(auxiliary model)配置
- 💀 MoA 混合智能组合模型(复杂度高,噱头功能)
- 各大厂商 OAuth/设备码登录(Anthropic / Codex / Copilot / Gemini / Nous / xAI 共 6 套 auth 流程)
F. 技能 / 插件 / MCP / 记忆
- 技能管理(列表、启停、置顶、导入、文件编辑、外部技能目录)
- 技能写入审批(pending write-gate)
- 技能用量统计页
- 插件启停管理
- MCP 服务器管理(增删改、连通测试、工具列表、重载)
- Agent 记忆/笔记查看与编辑
- 学习轨迹 Journey 图谱(节点关系可视化,偏炫技)
G. 服务器文件管理
- 文件浏览树 + 编辑器 + 上传/预览/重命名/删除(需超管)
- 运行产物文件查看(会话产生的文件变更 diff)
- 通用下载
H. 语音与媒体
- TTS 合成(edge / openai / doubao / mimo / 本地 五种供应商)
- STT 语音转写(openai / doubao),录音 → 转写 → 可编辑后发送
- 语音对话模式(对话页集成)
- 💀 图片生成 / Grok 图生视频(media 路由)
I. 编程代理(Claude Code / Codex 代理)
- ❌ 整组砍(2026-10-15 确认):管理页、Claude Code 代理、Codex 代理、统一运行网关 stream-tee 全部删除
理由:本项目定位是 Hermes 的界面端,Claude Code / Codex 各有官方 UI,无需内置代理。砍后
run-chat只剩 hermes 桥一条执行路径
J. 内置自有 Agent(ekko-agent)
- ❌ 整组砍(2026-10-15 确认):Node 侧自研 Agent 运行时、工具集、
GlobalEkkoAgent、run-chat 第三执行路径全删顺带解决品牌禁令冲突(代码里所有
ekko字样随之消失)。⚠️ 施工注意:全局 Agent(C 组)页面可能引用了 ekko 执行路径,砍时需核对,保证其只走 hermes 桥
K. IM 频道(需 gateway)
- 频道配置页:telegram / discord / slack / whatsapp / matrix / 飞书 / 钉钉 / QQ / 微信 / 企业微信(10 个平台)
- Gateway 守护进程管理(启动/停止/锁文件/僵尸清理/per-profile)
- 微信扫码登录接入
- 平台级设置(@提及、白名单、代理、表情回应、自动建线程)
L. 监控与运维
- 日志查看(目录 + 读文件)
- 用量统计(总览、按 Agent/模型拆分、每日趋势)
- 运行时性能监控页(需超管)
- 服务端在线更新 + 版本预览管理(需超管)
- Docker 部署(docker-compose + 镜像发布)
M. 用户与权限
- 登录认证 + 路由守卫(普通用户/超管两级)
- 多用户管理、头像、改密
- 登录限流 + IP 锁定
- 💀 中英外 8 种语言 i18n(共 10 语种)
- 明暗主题、侧边栏折叠、移动端响应式
N. 桌面端 Electron(可整组砍)
- 系统托盘 + 开机自启 + 自动更新(electron-updater)
- 捆绑运行时打包(Node/Python/Git/Hermes CLI 的 fetch + patch 脚本)
- 自定义标题栏 + 窗口状态记忆
- 独立桌宠窗口
- 系统通知(会话完成提醒)
- 桌面端登录态注入
O. 局域网 / 设备 / 硬件(可整组砍)
- LAN UDP 设备发现(端口 48640)
- 设备配对(扫码/批准/拉黑)+ P2P 远程终端/命令/文件互传
- Web 终端(WebSocket PTY,需超管)
- 💀 ESP32-C3 固件 v1/v2(OLED 桌宠硬件、I2S 语音、OTA 固件下发)
- 💀 MCU 设备注册表 + MCU 语音回合 + MCU 专用登录
P. 桌宠系统
- ❌ 整组砍(2026-10-15 确认):桌宠状态 socket、Petdex 图鉴、pets store、PetdexView 全删(浪费资源)
Q. 编程代理之外的特色杂项
- Webhook 外部接入
- OpenAPI 文档(
/api/openapi.json) - 上传路由(通用)
- 系统信息广播、凭据存储服务
筛选统计(已根据 2026-10-15 对话更新)
| 分组 | 结论 | 备注 |
|---|---|---|
| A 对话核心 | ✅ 全保留 | 🔒 不接受砍 |
| B 历史 | ✅ 保留 | |
| C 全局/群聊/工作流 | ✅ 保留 | |
| D 看板/任务 | ✅ 保留 | |
| E 模型管理 | ✅ 保留 | |
| F 技能/MCP/记忆 | ✅ 保留 | |
| G 文件管理 | ✅ 保留 | |
| H 语音媒体 | ✅ 保留 | |
| I 编程代理 | ❌ 砍 | 用户明确砍:run-chat 只留 hermes 桥 |
| J ekko-agent | ❌ 砍 | 用户明确砍;品牌冲突随之解决,需核对全局 Agent 依赖 |
| K IM 频道 | ✅ 保留 | 用户明确需要 |
| L 监控运维 | ✅ 保留 | |
| M 用户权限 | ✅ 保留 | i18n 收缩为中英双语 |
| N 桌面端 | ❌ 砍 | 用户明确砍;连带:捆绑运行时、托盘、自动更新、/desktop-pet 窗口 |
| O LAN/硬件 | ✅ 保留 | |
| P 桌宠 | ❌ 砍 | 整组删除(浪费资源);/desktop-pet 路由随桌面端已死 |
| Q 杂项 | ✅ 保留 |
全局约束(已确认):新版本不得出现
ekko/hermes-web-ui字样;组件库弃用 Naive UI 换新;i18n 仅 zh/en;依赖锁版本不升级。详见 01-技术选型推荐.md。