一、先说说,为啥要折腾这一套?
现在很多人喜欢把 AI Agent 跑在自己家的 NAS 或者内网服务器上------模型调用便宜、数据不出网、想怎么折腾就怎么折腾。挺香的。
但有个很现实的问题:Agent 在内网,你人却经常不在内网。 比如你在出差,突然想改一下模型配置;或者在地铁上,想用手机瞄一眼 Agent 有没有在好好干活;又或者同事要帮你排查 Gateway 挂了没------这时候你就会发现,光靠内网 IP 是真不方便。
常规做法无非是 VPN 拨回家、SSH 端口转发、路由器开端口......每种都要折腾一圈,有的还不安全。
那有没有一种及简单/又安全同时又能随时随地访问家里的 Agent 的方式? ZeroNews 就能很好的解决这个问题,简单说,它就是一个内网穿透平台 。你在 NAS 或内网机器上装一个 ZeroNews 客户端(Agent),就能把 Hermes Agent 的web UI 快速映射成一个带 HTTPS 证书的公网域名------外面的人用浏览器打开这个域名,流量会安全地转回你内网的服务。
本文以 飞牛NAS 设备为列,讲述如何在飞牛NAS上已容器方式安装运行 Hermes Agent + Hermes Web UI + ZeroNews, 帮你搭建远程可管理的 Hermes AI Agent
二、Hermes Agent 和 Hermes Web UI,到底是啥?
Hermes Agent 是什么
Hermes Agent(大家常说的「爱马仕」)是 Nous Research 开源的 AI Agent 框架。别把它当普通聊天机器人------它能长期运行在后台,自己调工具、记住上下文,读文件、跑命令、搜网页、发消息、按时间表自动执行任务 都能干。
它支持 Telegram、Discord、Slack 等 20+ 消息平台接入,内置文件操作、Shell、浏览器等工具,还有记忆和技能系统让 Agent 越用越懂你。模型方面对接 OpenRouter、Anthropic、OpenAI 等主流 Provider,也支持 MCP 扩展和子 Agent 并行处理复杂任务。
但它本质上是个后台程序,得靠 CLI 交互,运行状态和日志也不直观。这时候就需要 Hermes Web UI 了------把配置、监控搬到浏览器里,随时改模型 API Key,不用天天 SSH 进容器。
Hermes Web UI 是什么
Hermes Web UI 是社区维护的 Web 管理面板,镜像 ekkoye8888/hermes-web-ui,浏览器默认通过 http://<NAS IP>:6060 即可访问。

它主要帮你做这几件事:
- 在网页里跟 Agent 对话、调试模型和工具;
- 查看和恢复历史会话;配置 API Key、切换模型和 Profile;
- 监控 Gateway 及 Telegram/Discord 等渠道是否在线;
- 管理定时任务、Skills 和 Memory;查看 Token 用量;配置消息渠道接入。
它也是远程管理的入口------Web UI ,默认开在 6060 端口,后面用 ZeroNews 映射出去,出门在外用浏览器或 Hermes Desktop 都能连
三、加上 ZeroNews,能多干点啥?
Hermes Web UI 默认只能通过内网 IP 访问------人在家没问题,一出门就够不着了。
ZeroNews 解决的就是这个:让你在外面也能安全连回 家里的 Hermes Web UI

ZeroNews 是一个内网穿透平台,它可以把 Hermes-Web-UI 映射成一个公网可访问的 HTTPS 域名地址,比如 https://hermes-nas.xxx.takin.cc。之后不管你在公司、地铁还是酒店,打开这个链接就能管理家里的 Agent,不用 VPN,也不用路由器开端口,简单/安全又省事。
它具体能帮你做这些事:
- 没公网 IP 也能用 --- 家庭宽带、公司内网都行,ZeroNews 客户端主动连出去,不依赖固定 IP
- 自动 HTTPS --- 证书平台签发和续期,不用在 NAS 上配 Nginx 或 Let's Encrypt
- 精准映射 --- 只暴露 Web UI 的 6060 端口,不是把整个 NAS 扔到公网上
- 多端访问 --- 手机浏览器、笔记本、Hermes Desktop 都能通过这个域名连进来
- 零改造 --- Hermes 容器配置不用动,加个 ZeroNews 客户端、控制台点几下映射就完事
接下来我们开始部署
四 、 在飞牛上把 Hermes Agent + Hermes-Web-UI 跑起来
在飞牛上我们以 docker-compose 方式部署一键 Hermes Agent + Hermes-Web-UI
以 docker-compose 方式 部署的脚步内容
可以直接复制以下 docker-compose.yml 部署脚本内容
services:
hermes-agent:
image: nousresearch/hermes-agent:latest
container_name: hermes-agent
restart: unless-stopped
volumes:
- ./hermes_data:/opt/data
environment:
HERMES_UID: "1000"
HERMES_GID: "1000"
command: ["gateway", "run"]
hermes-webui:
image: ekkoye8888/hermes-web-ui:latest
container_name: hermes-webui
restart: unless-stopped
depends_on:
- hermes-agent
ports:
- "6060:6060"
- "8651:8651"
- "56121:56121"
volumes:
- ./hermes_data:/home/agent/.hermes
- ./hermes_data/hermes-web-ui:/home/agent/.hermes-web-ui
environment:
PORT: "6060"
HERMES_HOME: /home/agent/.hermes
HERMES_BIN: /opt/hermes/.venv/bin/hermes
HERMES_WEB_UI_MANAGED_GATEWAY: "0"
HERMES_WEB_UI_XAI_CALLBACK_BIND_HOST: 0.0.0.0
HERMES_ALLOW_ROOT_GATEWAY: "1"
PATH: /opt/hermes/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
stdin_open: true
tty: true
几个配置顺便解释一下:
- ./hermes_data 是相对路径,跟着 yml 文件走,不用写死绝对路径
- 6060:6060,浏览器访问 hermes-web-ui 的本地端口号
部署 Hermes 容器
- 打开飞牛的 Docker → Compose

- 点击新建项目 新增项目
输入项目名,如 hermes
点击路径,新建一个文件夹,如 hermes 文件夹,然后选择新增的 hermes 文件夹,再确认



来源选择 创建 docker-compose.yml, 将上面的 docker-compose.yml 内容直接粘贴进来,并勾选创建项目后立即启动

然后点击确认,等 Hermes 镜像拉完,看 hermes-agent 和 hermes-webui 是不是都绿的(运行中)

先在局域网里试试
浏览器打开:http://<飞牛内网IP>:6060 ,先用默认账号密码登录,默认登录名:admin,默认密码:123456, 登录后记得修改密码

第一次登录成功后,默认是没有配置大模型的,这时候发起对话,会提示异常

所以我们需要先配置大模型,在模型配置页面,点击 添加 Provider

我选用的 DeepSeek 的 v4-flash 模型,输入 API Key,点击添加


大模型添加完成后,再回到 对话 界面,与 Hermes 对话一次,这时候就能正常交流了

Hermes-Web-UI 内网访问正常后,接下来就安装 ZeroNews 完成 Hermes-Web-UI 映射配置
五 、 安装 ZeroNews 客户端
本地能访问了,接下来装 ZeroNews,准备把 Hermes-Web-UI 面板映射出去。
复制 Token
先登录 ZeroNews 控制台

复制 快速开始 的 AuthToken , Token 是多设备共用一个

飞牛中安装 ZeroNews 客户端
打开飞牛的应用中,搜索 zeronews 应用,然后点击安装即可,点击一下步直到安装完成


ZeroNews 安装完成后,点击打开,会弹出 ZeroNews 的token 绑定界面,粘贴在ZeroNews控制台的 Token ,然后点击 绑定即可


绑定完成后,客户端状态显示 在线

同时在 ZeroNews 控制台的客户端界面,可以查看刚上线的飞牛客户端

六 、给 Hermes Web UI 加个公网 隧道
先 给 Hermes Web UI 分配一个好记忆的 域名
ZeroNews 控制台 → 自定义域名 → 添加域名

在子域名输入框中,输入一个好记忆的名称,如 hermesweb, 然后点击域名可用性检测,会在下放显示出可以选择的域名,然后选中一个就行,最后点击提交,完成域名添加


然后给 Hermes-Web-UI 添加公网隧道
- 进 隧道管理 页面 → 添加 隧道

- 隧道协议, 默认HTTPS 就行
- 带宽, 4M带宽,也可以分配多一些带宽
- 公网域名, 选择自定义域名,再选择刚创建好的 hermesweb 域名
- 绑定设备选择 fnos 客户端, 内网端口输入 hermes-web-ui 的端口号 6060


隧道添加完成后,就可以通过公网访问了
七 、测一测,确认没问题
隧道添加完成后,可以点击 域名后的小图标,直接访问 Hermes-web-ui, 也可以复制域名到浏览器中打开

登录Hermes-Web-UI 后,我们做一些简单的测试
如在对话中,做下简单交互

在模型页面可以查看/编辑当前用户的模型

查看日志

查看用量

八 、收尾
- Hermes Agent 在飞牛上 7×24 跑 Gateway,真正执行任务;
- Hermes Web UI 提供浏览器管理面板,配置、监控、调试都在网页里搞定;
- ZeroNews 把 Hermes Web UI 映射成 HTTPS 地址,让你在外面随时随地都能远程访问。
按这篇教程走下来,你得到的不是一个「暴露到公网的 NAS」,而是一个随时能连上的 Agent 管理入口,模型和会话数据还在本地,传输走 HTTPS,该开的认证开着,简单又安全。