Hermes Agent 终于有了像样的 Web 界面,而且还支持远程访问

最近刷 GitHub Trending 的时候看到一个项目,短短 19 天拿了 3070 颗星——hermes-web-ui,给 Hermes Agent 做了一个完整的 Web 管理界面。用过 Hermes 的都知道,之前只能靠命令行和聊天平台交互,想看个 Token 用量、改个频道配置都得翻文件。这个项目直接把所有操作搬到了浏览器里。

我自己搭了一下,体验超出预期——不是那种只有聊天框的玩具,而是一个正经的全功能控制面板。

本文提纲

  1. 装起来有多快
  2. 能干什么——13 个功能模块走一遍
  3. 远程访问怎么搞
  4. 技术栈和架构
  5. 值不值得装

装起来有多快

一行命令:

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 目录。

能干什么——13 个功能模块走一遍

AI 聊天

核心功能。实时流式输出(SSE),支持多会话管理——创建、重命名、删除、切换。比较有意思的几个点:

  • 自建会话数据库:本地 SQLite 存储,首次启动自动从 Hermes 的 state.db 同步历史会话。不是只读展示,是真的有一套本地 CRUD。
  • 按来源分组:Telegram、Discord、Slack 等平台的会话按来源折叠显示,活跃会话自动置顶带转圈图标。
  • Ctrl+K 全局搜索:跨所有对话内容搜索,这个在聊天平台里是做不到的。
  • 文件上下载:支持上传文件给 Agent 处理,也能下载 Agent 生成的文件。Docker、SSH、Singularity 后端都支持。
  • 全局模型选择器:自动发现 ~/.hermes/auth.json 里配置的所有模型,不用切回命令行切换。

8 大平台频道配置

这是我觉得最实用的功能。一个页面搞定所有平台的配置:

平台 配置项
Telegram Bot Token、@提及控制、Reaction、自由对话
Discord Bot Token、自动建线程、频道白名单/黑名单
Slack Bot Token、提及控制
WhatsApp 启用/关闭、提及模式
Matrix Access Token、自动建线程
飞书 App ID/Secret、提及控制
微信 浏览器扫码登录,自动保存凭证
企业微信 Bot ID/Secret

改完配置自动重启网关,不用手动 hermes gateway restart。凭证写到 ~/.hermes/.env,行为配置写到 ~/.hermes/config.yaml

用量分析

Token 用量总览(输入/输出分开统计)、会话数和日均、费用估算、缓存命中率、模型使用分布图、30 天趋势图。之前这些数据只能翻日志或者自己写脚本算,现在一目了然。

定时任务管理

直接在 Web 界面创建、编辑、暂停、恢复、删除 cron 任务。还能一键触发立即执行。比起在命令行里写 cron 表达式舒服多了。

模型管理

自动从各 Provider 端点拉取可用模型列表(调 /v1/models),支持添加、修改、删除 Provider,内置 OpenAI Codex 和 Nous Portal 的 OAuth 登录。还能自动检测非标准 API 路径(比如 /v4)。

多 Profile 和网关管理

这是给重度用户准备的。可以创建多个 Hermes Profile,每个 Profile 独立配置和缓存。支持克隆、导入(.tar.gz)、导出备份。每个 Profile 可以独立启停网关,自动处理端口冲突。

文件浏览器

远程浏览 Hermes 后端的文件系统(本地/Docker/SSH/Singularity),支持上传、下载、重命名、复制、移动、删除、新建目录,还能在线预览文件内容带语法高亮。

群聊

多 Agent 聊天室,通过 Socket.IO 实时通信。@提及某个 Agent 就能触发它回复,超长对话自动压缩上下文。支持创建房间、管理邀请码、移动端自适应。

技能和记忆管理

浏览已安装的 Skills,查看详情和附件文件。管理用户笔记和 Profile。

日志查看

Agent 日志、网关日志、错误日志分类展示,支持按级别、文件、关键词过滤。HTTP 访问日志有专门的格式高亮。

Web 终端

内嵌终端(基于 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 {
    listen 443 ssl;
    server_name hermes.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8648;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

注意 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 基本是必装的。解决了三个核心痛点:

  1. 可视化:Token 用量、费用、会话历史这些数据之前只能靠命令行和翻文件,现在全是图表和表格。
  2. 集中管理:8 个平台的配置不用再逐个编辑 YAML 和 .env,一个页面搞定,改完自动重启。
  3. 远程控制:装在服务器上通过浏览器管理,不需要 SSH 上去操作。

3070 颗星、19 天、功能完整度到这个程度——作者的执行力很强。MIT 协议,随便用。

想试试的直接跑:

npm install -g hermes-web-ui && hermes-web-ui start

作者: itech001
来源: 公众号:AI人工智能时代
主页: https://www.theaiera.cn,每日分享最前沿的AI新闻和技术。

本文首发于 AI人工智能时代,转载请注明出处。

posted @ 2026-04-30 21:14  iTech  阅读(208)  评论(0)    收藏  举报