绿联NAS私有云社区 门户 查看主题

【邪修】应用中心Hermes总不更新?手把手教你部署官方镜像和WebUI

发布者: 醉雪梅花 | 发布时间: 2026-6-11 22:51| 查看数: 264| 评论数: 6|帖子模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 醉雪梅花 于 2026-6-11 22:59 编辑

应用中心的 Hermes 总是不更新,这对于我这种喜欢尝试点新版本功能的人不能忍。加上运行久了,总感觉不顺手了。
于是一不做二不休,自己动手,通过 Docker Compose 部署官方镜像。
顺便,把网评挺不错的 Hermes-web-ui 也一并部署了。😎
本以为很容易就跑通了,没想到,还踩了几个坑。好在最后都顺利解决。正好趁此机会,写一篇 手把手喂饭 和 避坑 的 NAS 部署攻略,给需要的朋友。
01.png


为什么要把AI助手部署在NAS上?

简单说:24 小时在线、省电、方便依托 NAS 扩展其他功能。
  • 24 小时不间断运行,低功耗省电
  • 任何设备随时接入,不担心因为关机掉线,轻松布置凌晨定时任务
  • OCR、向量化、对话摘要等简单任务用NAS本地部署的小模型,节省Token
  • 运行在沙箱中,不乱动沙箱外的文件
而且因为跑在自己的NAS上,敏感数据不会泄露。


准备工作

你需要:
○ 一台绿联NAS
支持 Docker Compose 的 x 86 平台的 NAS(ARM 平台我没试过别问我)
○ 获得一个大模型 API Key
如果暂时不想花钱,可以先去例如 小米MiMo、阿里、硅基流动、智谱、MiniMax、百度千帆 等等大模型的官方网站看看,注册送一定的 API 试用额度,足够把 Hermes 配置好并体验一段时间。
顺便,我的 Xiaomi Mimo 邀请码:NA84PK,可以再白嫖 10 元额度。说实话,小米的模型还不赖。


Docker-Compose配置

注: 如果你想和 NAS 应用商店的 Hermes 同时使用,可以把新部署的 Hermes 名称改一下,比如我就把目录名、服务名、容器名都改成了 hermesopt,这样就避免了和 NAS 应用商店的那个 Hermes 冲突。
02.png
以下我都按这个思路部署,这样不管是哪种情况,都可以正常使用。如果你看着不顺眼,也可以把下面教程中的所有 hermesopt 的字段全部改回 hermes或者自己喜欢的名称。
在 NAS 存放 Docker 数据的目录新建一个文件夹,比如 /docker/hermesopt,然后创建 docker-compose.yaml。
03.png
我们把 Hermes 和 hermes-webui 在同一个 Compose 中一并部署,方便内部打通。
  1. services:
  2.   hermesopt:
  3.     image: nousresearch/hermes-agent:latest
  4.     container_name: hermesopt
  5.     restart: unless-stopped
  6.     command: gateway run
  7.     networks:
  8.       - Agents-Network
  9.     environment:
  10.       - TZ=Asia/Shanghai
  11.       - UMASK=000
  12.       - API_SERVER_ENABLED=true
  13.       - API_SERVER_HOST=0.0.0.0
  14.       - API_SERVER_PORT=8642
  15.       - API_SERVER_KEY=你的API密钥
  16.     stdin_open: true
  17.     tty: true
  18.     volumes:
  19.       - ./opt/data:/opt/data
  20.     ports:
  21.       - "8642:8642"
  22.     deploy:
  23.       resources:
  24.         limits:
  25.           memory: 4G
  26.           cpus: "2.0"
  27.     healthcheck:
  28.       test: ["CMD", "curl", "-f", "http://localhost:8642/health"]
  29.       interval: 10s
  30.       timeout: 5s
  31.       retries: 5

  32.   hermes-webui:
  33.     image: ekkoye8888/hermes-web-ui:latest
  34.     container_name: hermes-webui
  35.     restart: unless-stopped
  36.     networks:
  37.       - Agents-Network
  38.     ports:
  39.       - "6060:6060"
  40.     environment:
  41.       - PORT=6060
  42.       - HERMES_HOME=/home/agent/.hermes
  43.       - HERMES_BIN=/opt/hermes/.venv/bin/hermes
  44.       - HERMES_WEB_UI_MANAGED_GATEWAY=1
  45.       - TZ=Asia/Shanghai
  46.     volumes:
  47.       - ./opt/data:/home/agent/.hermes
  48.       - ./hermes_webui_data:/home/agent/.hermes-web-ui
  49.     depends_on:
  50.       hermesopt:
  51.         condition: service_healthy
  52.     deploy:
  53.       resources:
  54.         limits:
  55.           memory: 512M
  56.           cpus: "0.5"

  57. networks:
  58.   Agents-Network:
  59.     driver: bridge
复制代码
这段 yaml 中,有几处需要注意的地方:
(1)创建了预留的 Docker 内部网络
我顺便创建了Docker内部网络Agents-Network,方便与其他 Docker 间通信。这是个预留措施,如果不需要,也可以删掉。
(2)Hermes 的密匙
记得改一下,以后如果想用官方的 Dashboard,在登录时会用到。
(3)Hermes 的映射目录设置
Hermes 的 volumes 字段是目录映射,冒号前面是本地 NAS 路径,冒号后面是容器内路径。
./opt/data 代表把容器的 /opt/data (默认用户数据目录)映射到 NAS 的 Docker 数据目录/opt/data 下,这样可以使数据持久化写到本地,不然容器一旦重启所有数据就没了。
. 代表你设置的 Docker 数据目录,是简写方式,完整的写法也可以,比如我的就是:/volume1/docker/hermesopt/opt/data。
现在,我们只映射了/opt/data 目录,Hermes 就只能访问这个目录。如果有其他协作目录需要 Hermes 能读写,也可以按这个写法加进去(可选)。比如,我专门添加了另一个目录/volume2/AgentWork。
04.png
(4)关于路径设置的小聪明:
因为 Hermes 默认都是认容器路径/opt/data/……,这时如果你给他甩过去一个本地 NAS 路径比如/volume1/docker/hermes/data/……他会懵。
所以为了方便,你可以看到 Compose 里,我把 NAS 路径改为了./opt/data(完整写法是:/volume1/docker/hermesopt/opt/data),也就是 NAS 路径中故意多了/opt/data 两级目录。
这样我把 NAS 路径甩给 Hermes 时,只需要复制路径→粘贴到对话框→再把前面的/volume1/docker/hermesopt 删掉,不就和 Hermes 的容器内路径完全一样了。
05.png
我真是个大聪明。你就说这算不算邪修?😎
(4)hermes-webui 的配置
hermes-webui 的 volumes 字段需要注意挂载 Hermes 的数据目录 ./opt/data(注意是容器内路径,不是映射的 NAS 路径),这样,webui 才能读写 hermes 的数据。
06.png
WebUI 的数据目录为了和 Hermes 的区分开,放在了与/opt 目录同级,也就是./hermes_webui_data。
配置完成后,点击 立即部署。
两个镜像都比较大,会下载很长时间,不要着急,挂着慢慢等。实在不行,搞点黑科技。


部署成功后,初始化Hermes

看到这个界面,就是部署成功了。
07.png
我们转到容器界面,找到 hermesopt 这个容器,进入 /bin/bash 终端,点击确认。
08.png
在终端输入 hermes setup,回车,开始初始化设置。
09.png
会让我们选择初始化方式。
10.png
第一个 Quick Setup 是快速初始化,会让我们跳转到官方的网页授权,官方会帮你配齐包括模型、AI 搜索在内的几乎所有工具。
有钱又不想手动配置的同学可以直接用这个。当然他也有免费模式。点击合适的套餐,就能自动配置好。只是速度有点慢。
11.png
但我是个想要掌握一切的用户,所以我选择第二个 Full Setup,完整初始化。
第一步是选择大语言模型,我们刚才准备了哪个供应商的 API Key,就选哪个。我有 MiMo 送的 Token Plan,所以我这里演示的模型供应商选择的是 Xiaomi MiMo。
12.png
选择供应商后,会让我们输入 key, 我们直接复制供应商提供的 key,然后在终端点击鼠标右键,选择粘贴。
13.png
然后选择这个模型供应商提供的模型,每个模型的能力和计价方式可能不同,选择适合自己的。这里我选择 mimo-v2.5。
14.png
大语言模型配置好,选择一个“终端后端”(Terminal Backend)。简单来说,就是告诉 Hermes:当它需要执行一个 Shell 命令时,应该把这个命令送到哪里去运行。
最安全、最简单的选择是:Keep current (local)  。因为容器内部就是一个完整的 Linux 环境,Hermes 已经可以正常使用 local 模式执行命令(比如读写我刚才挂载的 /volume2/AgentWork 目录)。
!!!这里 不要 因为 Hermes 通过 Docker 部署就选择 Docker,因为 Hermes 可能会尝试去连接不存在的资源,导致执行命令失败。
15.png
下一步是选择一个通信终端,用来随时联系 Hermes 。
目前我觉得常用 IM 中,飞书对 Hermes 的支持最好,我也建议你选择飞书。但是如果你不喜欢飞书,也可以选择自己喜欢的平台,常见的微信、QQ、钉钉、iMessage 等也都支持。
16.png
选择后会进入鉴权流程,跟着流程走很快就能连接好。
下面选择 CLI 工具,这是 Hermes 的能力来源。
上下键选择,空格键激活/取消,回车键全部确认。
这里我建议保持默认,因为默认覆盖了大多数使用场景,以后如果需要调整,可以再回到终端用 Hermes setup 命令重新改。
17.png
下一个是选择 Hermes 内置浏览器,第一个无头浏览器是最简单轻量的,不需要任何配置,可以先选它体验。Camofox 功能更完整但更重一些(抓有反爬设计的网页更好用点)。
18.png
其他的是一些收费的云浏览器,以后可以再根据自己需求选用。
下一个选择图像生成功能的服务商,如果没有生图需求和 API Key 就先跳过。需要的时候再选。
19.png
语音模型,建议选第一个免费的,不用配置。我没用过,如果你需要且觉得推荐的 Microsoft Edge TTS 效果不好,以后再试其他的。
20.png
下一个选 AI 搜索服务商,建议先选 Tavily,每月有 1000 次免费 API 额度,够用了。
21.png
需要去 Tavily 官网先注册一下,获得一个 API Key,复制后在这里选择 Tavily,粘贴 Key,回车,搞定。
22.png
到这里就全部配置完成了。
我们可以直接在命令行输入 hermes 进入 对话界面,试一试说句“你好”,感受一下 Token 燃烧的感觉。需要退出聊天时按 Ctrl+C 就可以回到命令行。
23.png
或者直接关掉终端窗口,从飞书联系 Hermes。


如何访问和使用 Hermes WebUI

正常来说,刚才部署成功后,Hermes WebUI 会和 Hermes 容器一起启动。
在浏览器打开 http://你的NAS IP:6060,输入默认账号 admin / 123456,就可以进入主界面了。第一次登录建议改掉默认密码。
这是个非常全面的 Hermes 前端控制台,在这里可以轻松查看和修改对话、记忆、用量、定时任务、模型、技能等信息,再也不用去配置文件里敲代码了。
还可以在这里一键切换模型。
整个界面很直观,我就不详细介绍了。可以自己研究。
24.png



下篇预告

到这里,就可以与 Hermes 正常对话和设置了。但是,NAS 端其实还有一个问题要解决好,就是人机协作的问题。
NAS 的底层通常是 Debian 一类的 Linux 系统,对用户权限设置的要求很高。这个问题反映到 Hermes 这里,就成了大问题。
因为 Hermes 的权限和我们用户的权限是不一样的,如果我们手动修改了 Hermes 的文件,Hermes 就会失去对这个文件的读写权限,造成配置出错、任务终止的问题。
所以,我们还需要把协作问题处理好。这个咱们下篇文章再说。


我是设计虱聊科技——坚持创作有深度、高质量的作品、致力于分享干货、抵制标题党和网络垃圾,是我的座右铭。让我们共同打造互联网内容创作和知识分享的一股清流!ヾ(◍°∇°◍)ノ゙

最新评论

I2o9Sz发表于  昨天 16:03
期待你的下一篇,我来抄作业了,绿联官方版本更新太慢
醉雪梅花发表于  昨天 16:31
I2o9Sz 发表于 2026-6-12 16:03
期待你的下一篇,我来抄作业了,绿联官方版本更新太慢

感谢喜欢,下周发。😜
BRG0Pb发表于  昨天 20:12
厉害
醉雪梅花发表于  昨天 21:49

😁反正折腾部署了,就记录一下。
J2Lrc5发表于  5 小时前
之前自己就部署了,懒得折腾就用的应用中心的,不过这个教程不错啊
醉雪梅花发表于  3 小时前
J2Lrc5 发表于 2026-6-13 13:43
之前自己就部署了,懒得折腾就用的应用中心的,不过这个教程不错啊

感谢喜欢。应用中心的确实省心哈哈。
Copyright © 2026 绿联NAS私有云社区 版权所有 All Rights Reserved. 粤公网安备44030002002555号| 粤ICP备12028978号
关灯 在本版发帖
联系技术支持
返回顶部
快速回复 返回顶部 返回列表