最近刷 GitHub Trending 的时候看到一个项目,短短 19 天拿了 3070 颗星——hermes-web-ui,给 Hermes Agent 做了一个完整的 Web 管理界面。用过 Hermes 的都知道,之前只能靠命令行和聊天平台交互,想看个 Token 用量、改个频道配置都得翻文件。这个项目直接把所有操作搬到了浏览器里。
我自己搭了一下,体验超出预期——不是那种只有聊天框的玩具,而是一个正经的全功能控制面板。
- 装起来有多快
- 能干什么——13 个功能模块走一遍
- 远程访问怎么搞
- 技术栈和架构
- 值不值得装
一行命令:
npm install -g hermes-web-ui hermes-web-ui start
然后浏览器打开 http://localhost:8648,完事。
没有 Node.js 的机器可以一键脚本:
bash <(curl -fsSL https://raw.githubusercontent.com/EKKOLearnAI/hermes-web-ui/main/scripts/setup.sh)
脚本自动检测系统(Debian/Ubuntu/macOS/WSL 都支持),缺 Node 就帮你装,装完直接启动。WSL 环境会用 hermes gateway run 后台启动,不用自己折腾 systemd。
Docker 党也有现成的 compose 文件,一条命令把 Hermes Agent 和 Web UI 一起拉起来:
WEBUI_IMAGE=ekkoye8888/hermes-web-ui:latest docker compose up -d hermes-agent hermes-webui
Docker 模式下访问 http://localhost:6060,数据持久化在 ./hermes_data 目录。
核心功能。实时流式输出(SSE),支持多会话管理——创建、重命名、删除、切换。比较有意思的几个点:
- 自建会话数据库:本地 SQLite 存储,首次启动自动从 Hermes 的
state.db同步历史会话。不是只读展示,是真的有一套本地 CRUD。 - 按来源分组:Telegram、Discord、Slack 等平台的会话按来源折叠显示,活跃会话自动置顶带转圈图标。
- Ctrl+K 全局搜索:跨所有对话内容搜索,这个在聊天平台里是做不到的。
- 文件上下载:支持上传文件给 Agent 处理,也能下载 Agent 生成的文件。Docker、SSH、Singularity 后端都支持。
- 全局模型选择器:自动发现
~/.hermes/auth.json里配置的所有模型,不用切回命令行切换。
这是我觉得最实用的功能。一个页面搞定所有平台的配置:
改完配置自动重启网关,不用手动 hermes gateway restart。凭证写到 ~/.hermes/.env,行为配置写到 ~/.hermes/config.yaml。
Token 用量总览(输入/输出分开统计)、会话数和日均、费用估算、缓存命中率、模型使用分布图、30 天趋势图。之前这些数据只能翻日志或者自己写脚本算,现在一目了然。
直接在 Web 界面创建、编辑、暂停、恢复、删除 cron 任务。还能一键触发立即执行。比起在命令行里写 cron 表达式舒服多了。
自动从各 Provider 端点拉取可用模型列表(调 /v1/models),支持添加、修改、删除 Provider,内置 OpenAI Codex 和 Nous Portal 的 OAuth 登录。还能自动检测非标准 API 路径(比如 /v4)。
这是给重度用户准备的。可以创建多个 Hermes Profile,每个 Profile 独立配置和缓存。支持克隆、导入(.tar.gz)、导出备份。每个 Profile 可以独立启停网关,自动处理端口冲突。
远程浏览 Hermes 后端的文件系统(本地/Docker/SSH/Singularity),支持上传、下载、重命名、复制、移动、删除、新建目录,还能在线预览文件内容带语法高亮。
多 Agent 聊天室,通过 Socket.IO 实时通信。@提及某个 Agent 就能触发它回复,超长对话自动压缩上下文。支持创建房间、管理邀请码、移动端自适应。
浏览已安装的 Skills,查看详情和附件文件。管理用户笔记和 Profile。
Agent 日志、网关日志、错误日志分类展示,支持按级别、文件、关键词过滤。HTTP 访问日志有专门的格式高亮。
内嵌终端(基于 node-pty + xterm.js),支持多会话,实时输入输出,窗口大小自适应。相当于在浏览器里开了一个 SSH 到 Hermes 运行环境。
Token 认证(首次启动自动生成),可选用户名密码登录(在设置页面配置),也支持 AUTH_DISABLED=* 关闭认证(仅限内网或开发环境)。
显示(流式/紧凑模式/推理展示/费用显示)、Agent(最大轮次/超时/工具强制)、记忆(开关/字符限制)、会话重置(空闲超时/定时重置)、隐私(PII 脱敏)、默认模型、API 服务器配置——所有参数一个页面搞定。
很多人问能不能装在服务器上远程用——完全可以。
默认监听 localhost:8648,改起来很简单:
方法一:指定监听地址
hermes-web-ui start --port 9000
启动后绑定到指定端口,配合服务器防火墙开放端口就能通过 http://服务器IP:9000 访问。
方法二:Docker 部署
docker-compose.yml 已经把端口映射到 6060,直接暴露:
ports: - "0.0.0.0:6060:6060"
方法三:反向代理(推荐生产环境)
用 Nginx 或 Caddy 反代,加 HTTPS:
server }
注意 SSE 流式输出和 WebSocket(Web 终端用)都需要反代支持长连接,上面配置已经处理了。
安全方面不用担心——自带 Token 认证,首次启动会生成一个 token 打印在日志里。Docker 用户看 ./hermes_data/hermes-web-ui/.token 文件。还可以在设置里加用户名密码。公网暴露建议把认证打开。
架构很清晰:
浏览器 → BFF (Koa, :8648) → Hermes Gateway (:8642) ↓ Hermes CLI (sessions, logs, version) ↓ ~/.hermes/config.yaml (频道行为) ~/.hermes/auth.json (凭证池) 腾讯 iLink API (微信扫码登录)
前端 Vue 3 + TypeScript + Vite + Naive UI + Pinia,后端 Koa 2 + node-pty。BFF 层处理 API 代理(含路径重写)、SSE 流式传输、文件上下载(多后端适配)、会话管理、配置管理、微信扫码、模型发现、技能/记忆管理、日志读取。
代码结构上做了多 Agent 扩展设计——所有 Hermes 相关代码都在 hermes/ 目录下命名空间化,未来加其他 Agent 集成不会污染现有代码。
说实话,如果你在用 Hermes Agent 且不只依赖一个聊天平台,这个 Web UI 基本是必装的。解决了三个核心痛点:
- 可视化:Token 用量、费用、会话历史这些数据之前只能靠命令行和翻文件,现在全是图表和表格。
- 集中管理:8 个平台的配置不用再逐个编辑 YAML 和 .env,一个页面搞定,改完自动重启。
- 远程控制:装在服务器上通过浏览器管理,不需要 SSH 上去操作。
3070 颗星、19 天、功能完整度到这个程度——作者的执行力很强。MIT 协议,随便用。
想试试的直接跑:
npm install -g hermes-web-ui && hermes-web-ui start
作者: itech001
来源: 公众号:AI人工智能时代
主页: https://www.theaiera.cn,每日分享最前沿的AI新闻和技术。
本文首发于 AI人工智能时代,转载请注明出处。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/283310.html