现在的NAS可不只是用来存储文件和下载,它也能承载一些轻量的在线服务。我觉得AI Agent就是一个很有趣的选择:虽然模型要依赖外部API,但Agent可以在你的设备上常驻,所有的控制和设置也都集中在这台机器上。今天我想分享的是我用飞牛NAS ARM版的RK3566小主机部署Hermes的经验。这个过程不仅是启动容器,更是确保整个使用链路跑起来。我们会先连接DeepSeek模型,再把Hermes接入微信,最后开放公网访问和基本认证。完成后,这台小主机不仅能24小时待命,还能提供AI Agent服务,随时通过微信调用,管理时再使用WebUI,外出也能方便访问。
1. Hermes是什么?为什么适合长期跑在NAS上?
Hermes是一个适合长期运行的AI Agent项目。与那种简单的网页问答方式不同,这里我们关注的是它作为常驻服务的使用。Hermes可以一直在NAS上运行,通过不同的入口进行调用。
对NAS用户来说,这种方式的好处挺多:设备可以长期在线,不用每次都启动环境;所有配置和运行状态集中管理;后续还能通过微信或Web控制台来调用服务。
我觉得重点应该放在实践上,我们要验证Hermes是否能在ARM小主机上顺利运行,能否调用DeepSeek,以及能否通过微信进行交互,同时还能通过WebUI进行外网访问。

在这篇文章中,我的目标很明确:把Hermes作为一项长期运行的AI Agent服务。平时我可以用终端或者Web控制台来操作,之后再加入微信,让调用入口变得更加便捷。NAS本身适合长时间运行Docker,这比临时在个人电脑上启动要合适得多。
2. 在飞牛NAS上部署Hermes
这次我使用的是一台RK3566小主机,已经安装好了飞牛NAS ARM版系统。
飞牛NAS本身支持Docker,所以这里不需要额外安装Docker,只需通过SSH执行脚本即可。
2.1 开启Docker与SSH
接下来就是实际部署步骤。我们要先把Hermes在飞牛NAS上运行起来,然后再配置模型和验证Web控制台。
首先确认飞牛NAS里的Docker服务已经开启,然后进入【系统设置】启用SSH。后面的命令都要通过终端来执行。

在【系统设置】中找到并启用【SSH】:

如果你在Windows上,可以按【Win + X】打开终端(管理员),进入PowerShell:

通过SSH连接飞牛NAS,示例命令如下:
ssh n1@192.168.50.212

连接成功后切换到root用户。注意输入密码时终端不会显示字符:
sudo -i

2.2 部署Hermes
切换到root后,执行下面的一键部署脚本,并在菜单中选择安装Hermes Agent:
curl -fsSL https://gitee.com/jun-wan/script/raw/master/fnos-hermes/fnos-hermes.sh -o /tmp/fnos-hermes.sh && chmod +x /tmp/fnos-hermes.sh && /tmp/fnos-hermes.sh

按默认选项继续,进入Hermes初始化向导,等待镜像拉取完成:

镜像拉取完成后,选择快速开始(Quick setup):

接下来选择模型提供商,这里我用的是DeepSeek:

然后去DeepSeek的API Key页面创建一个Key:
https://platform.deepseek.com/api_keys

复制Key后回到终端填写。粘贴时不会显示明文:

模型保持原文默认的deepseek-chat。进入消息平台配置后,先暂时跳过,等Hermes本体跑通后再单独接入微信:

稍等片刻,看到初始化完成提示后继续:

接下来就运行Hermes进行第一次测试:

服务运行后,先问一个简单问题来确认模型和容器环境是否正常:
你好,你是谁?你当前运行在什么操作系统上,接入的是什么模型?

只要对话正常,就输入下面的指令退出当前会话,继续后面的配置:
/exit

到这里,Hermes的基础配置已经完成。你可以通过下面的地址访问Web控制台:
http://192.168.50.212:9119

3. 把Hermes接入微信
确认Hermes可用后,我们重新执行前面的部署脚本,进入消息平台配置:
curl -fsSL https://gitee.com/jun-wan/script/raw/master/fnos-hermes/fnos-hermes.sh -o /tmp/fnos-hermes.sh && chmod +x /tmp/fnos-hermes.sh && /tmp/fnos-hermes.sh
在菜单中输入6,进入聊天平台网关配置:

选择【WeiXin】作为平台:

接着按提示扫码登录:

扫码成功后按顺序使用默认的配对审批模式,禁用群聊消息,继续使用当前连接账号:

配置完成后返回消息平台菜单,选择【Done】退出:

在主菜单中选择【8】重启Hermes,让配置生效:

重启完成后,可以直接在微信端发送消息测试:

此时已经能收到回应,但根据原文配置,我们还需要完成配对审批:
hermes pairing approve weixin QKHBWHAJ
接着回到脚本菜单,选择【10】执行Hermes原生命令:

输入之前的配对审批命令,完成授权:

看到授权成功的提示,就说明这个微信用户可以继续和Hermes对话了:
你好,你是谁?请你介绍一下你自己,你都能干什么?

确认微信端的回复正常后,说明Hermes和微信已经连接。接下来就可以给它安排一些具体任务,比如我之前测试过的落地页生成:
请你给我写一个用于旅游的好看点儿的宣传落地页
效果如何(DeepSeek-chat模型):

到这里,Hermes的本地部署、模型调用和微信接入都已经顺利完成,基本的常驻AI助手链路也建立好了。
4. 让Hermes WebUI支持公网访问
前面已经完成Hermes的部署和微信接入。如果我们主要通过微信调用,其实到这里已经可以使用了。
不过,Hermes的Web控制台还是只在局域网内。如果在外面需要查看状态、调整配置或者临时访问控制台,就缺少一个远程入口。
接下来,我们将使用cpolar把飞牛NAS本地的9119端口映射到公网,让Hermes的WebUI可以从外部访问。
4.1 什么是cpolar?

cpolar可以把局域网内的Hermes WebUI映射到公网。
Hermes已经在9119端口上运行,所以只需为这个Web端口创建一个公网入口,就可以在外部设备上打开控制台。
我们继续直接在飞牛NAS上安装和配置cpolar。
4.2 安装cpolar
回到连接飞牛NAS的SSH终端,执行安装命令:
sudo curl https://get.cpolar.sh | sh
安装完成后查看cpolar服务状态:
sudo systemctl status cpolar














