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.
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 确认,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。