前几天我在一堆 Hermes 网页端里,翻到了国内大佬做的 Hermes Web UI

我上手后的感觉很直接:这个项目是真的好用。

界面更符合国内用户的习惯,很多原本要进终端敲的配置,现在直接在网页里就能完成,整个使用门槛一下子就下来了。

我之前已经写过一篇基于原生系统的安装教程,受到大家的好评。

后来我又想继续把它搬到飞牛 NAS 上,结果来来回回折腾了好几次,始终差一口气。

好在作者后来把 Docker 镜像仓库也安排上了。

这下就舒服了。

飞牛 NAS 用户,终于也能比较顺畅地把 Hermes-Web-UI 跑起来了。

在这里也认真感谢一下 Hermes Web UI 的开发团队。

这个项目确实做得很用心,也确实解决了很多人“会装 Hermes,但是不想一直盯着终端”的痛点。

项目地址:

https://github.com/EKKOLearnAI/hermes-web-ui

开源不易,觉得好用的话,去点个 ⭐ 支持一下作者。


安装前先确认一件事

你之前如果已经按照我的部署教程在飞牛里跑过 Hermes,那么这次直接在原来的 docker-compose.yaml 配置里修改就行。

如果没有装过 Hermes,也不要担心,在 Compose 中新建一个项目,输入名称、路径,然后将下面的配置粘贴进去就行了。


开始部署

1、进入 Docker Compose 项目

打开飞牛 NAS 的 Docker -> Compose

找到你之前部署 Hermes 的那个项目,先把服务停掉:

Pasted image 20260421085859

这一步做完之后,直接编辑原来的 docker-compose.yaml


2、粘贴下面这份配置

把原来的 docker-compose.yaml 内容替换成下面这份:

services:
  hermes:
    image: nousresearch/hermes-agent:latest
    container_name: hermes
    restart: unless-stopped
    command: gateway run
    stdin_open: true
    tty: true
    ports:
      - "8642-8670:8642-8670"
    volumes:
      - /vol1/1000/docker/hermes2/data:/opt/data
    environment:
      - HERMES_HOME=/opt/data

  hermes-webui:
    build:
      context: .
      dockerfile: Dockerfile
      args:
        BASE_IMAGE: nousresearch/hermes-agent:latest
    image: ekkoye8888/hermes-web-ui:latest
    container_name: hermes-webui
    entrypoint: ["node", "dist/server/index.js"]
    depends_on:
      - hermes
    ports:
      - "6060:6060"
    volumes:
      - /vol1/1000/docker/hermes2/data:/opt/data
      - /vol1/1000/docker/hermes2/data/hermes-web-ui-data:/app/dist/data
    environment:
      - PORT=6060
      - UPSTREAM=http://hermes:8642
      - HERMES_HOME=/opt/data
      - HERMES_BIN=/opt/hermes/.venv/bin/hermes
      - AUTH_DISABLED=***
    restart: unless-stopped

将配置中的安装路径手动改成 Hermes 的安装目录:

/vol1/1000/docker/hermes2/data

注意⚠️:经常有朋友在文章下面评论 yaml 格式错误,这个我也没法控制,所以动一动你们的小手让 AI 优化一下格式就好,不要再评论这种问题


3、点击构建

配置保存后,直接点击 构建

Pasted image 20260421092157

构建完成之后,正常情况下你会看到两个容器都起来了:

  • hermes
  • hermes-webui

Pasted image 20260421092240

看到这里,说明主体已经部署完成。


4、打开 Hermes-Web-UI

启动完成后,在浏览器访问:

http://{你的飞牛IP}:6060/

首次进入时,需要输入令牌。

这个令牌可以在 hermes-webui 的日志里找到。

先打开日志:

Pasted image 20260421092514

然后找到对应那一行,把令牌复制出来填进去:

Pasted image 20260421092552

填完之后就可以进入页面了。


常见问题

这里有一个很容易碰到的情况,我这边也遇到了。

进入页面后,部分朋友会看到状态显示 未连接

这个时候直接重启一下 hermes-webui 服务,基本就能恢复。

我猜测原因是:

构建完成后两个服务会一起启动,hermes-webui 有时候启动得更快,hermes 还在初始化,它就先连了一次,结果自然就挂着未连接状态。

所以你看到这个提示时,直接做下面这个动作就行:

  • 重启 hermes-webui

当页面显示 已连接,整个链路就算通了。


WebUI 跑起来之后,后面的体验会顺很多。

以前很多操作都要进终端,现在直接在页面里就能做。

比如模型配置、对话、定时任务、多 Agent 切换,基本都能在界面里完成。

模型配置:

Pasted image 20260421093158

新增自定义配置:

Pasted image 20260421084625

配完之后,进行对话测试:

Pasted image 20260421093244

到了这一步,说明你的 Hermes-Web-UI 已经能正常使用了。


我自己的使用感受

我个人挺喜欢这种方案。

因为它把 Hermes 这件事,从“偏命令行玩家的玩具”,往“日常能长期用的工具”拉近了一大步。

尤其是放在飞牛 NAS 上之后,这种感觉会更明显。

服务常驻、页面可视化、后续维护更轻松,这才是很多家庭用户和轻度折腾党更愿意接受的状态。

你可以继续折腾高级配置。

你也可以先把它当成一个顺手的网页入口,先稳定用起来。

这两种路子,都很舒服。


结尾想说几句

如果你之前已经在飞牛 NAS 上跑通了 Hermes,那我很建议你把 Hermes-Web-UI 也补上。

这一步带来的提升很实际:

操作更轻松,维护更顺手,后续配置也更适合长期使用。

我最近越来越在意一件事:

好工具的价值,除了功能够强,还得让人愿意天天打开。

Hermes-Web-UI 就属于这一类。

它把原本偏硬核的使用过程,变得更友好、更适合日常。

所以你如果也在飞牛上养 Hermes,这个 WebUI 直接装上就对了。

装好之后,你会明显感觉到:Hermes 终于更像一个助手了。