The pet feature was three loosely coupled subsystems that no core flow depended on: the Petdex catalog page, the pet install/preference store, and the pet-state socket. All three are removed. The only cross-boundary touch point was a try/catch-wrapped observer that mapped chat-run events to pet animations. Removing it leaves the /chat-run event contract unchanged: no event name, field name, field type, or emission timing changed. Removing petdexPublicRoutes also closes the unauthenticated outbound proxy at /api/hermes/petdex/asset, which shrinks the SSRF surface.
161 lines
7.4 KiB
Markdown
161 lines
7.4 KiB
Markdown
# 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. 桌宠系统
|
||
|
||
- [x] ❌ **整组砍(2026-10-15 确认,2026-10-20 执行)**:桌宠状态 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](./01-技术选型推荐.md)。
|