现在越来越多爱好者会把 AI Agent 部署在家用 NAS 设备上运行,本地部署不仅可以自主把控数据,还能够实现 7×24 小时持续执行各类自动化任务,体验十分不错。但本地部署也会遇到一个很现实的痛点:AI Agent 运行在家庭内网环境,离开家里网络之后,就无法便捷访问管理面板。

日常出差、外出的时候,如果想要调整模型配置、查看 Agent 运行日志、确认任务执行状态,传统的方案大多要配置 VPN、做端口映射,不仅操作门槛高,盲目做端口暴露还会带来不小的网络安全风险。

我在飞牛 NAS 上部署 Hermes Agent 之后,同样遇到了远程管理的难题,经过实际测试对比,尝试使用内网穿透的方案来解决外网访问的需求。本文完整记录实操全过程,从容器部署 Hermes,到配置穿透隧道实现公网 HTTPS 访问,把整个踩坑与落地的过程分享出来,给同样想本地部署 AI Agent、又有远程管理需求的朋友做一份参考。

在飞牛上把 Hermes Agent + Hermes-Web-UI 跑起来

飞牛上我们以 docker-compose 方式部署一键 Hermes Agent + Hermes-Web-UI

docker-compose 方式 部署的脚步内容

可以直接复制以下 docker-compose.yml 部署脚本内容

services:
  hermes:
    image: ekkoye8888/hermes-web-ui:latest
    container_name: hermes-webui
    restart: unless-stopped
    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_XAI_CALLBACK_BIND_HOST: 0.0.0.0
      HERMES_ALLOW_ROOT_GATEWAY: "1"

几个配置顺便解释一下:

  • ./hermes_data 是相对路径,跟着 yml 文件走,不用写死绝对路径
  • 6060:6060,浏览器访问 hermes-web-ui 的本地端口号

部署 Hermes 容器

打开飞牛的 DockerCompose

几个配置顺便解释一下:

  • ./hermes_data 是相对路径,跟着 yml 文件走,不用写死绝对路径
  • 6060:6060,浏览器访问 hermes-web-ui 的本地端口号

部署 Hermes 容器

打开飞牛的 DockerCompose

点击新建项目 新增项目,输入项目名,如 hermes

点击路径,新建一个文件夹,如 hermes 文件夹,然后选择新增的 hermes 文件夹,再确认

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

输入项目名,如 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

隧道添加完成后,就可以通过公网访问了

收尾

本文完整记录了在飞牛 NAS 上部署 Hermes AI Agent 并通过零讯内网穿透实现公网远程管理的全过程。方案采用三层架构:Hermes Agent 负责 7×24 小时任务执行,Web UI 提供可视化管理入口,零讯客户端建立 HTTPS 隧道解决跨网络访问问题。相比 VPN 回连和路由器端口映射,该方案无需固定公网 IP、无需额外维护证书,仅暴露 Web UI 端口,实施成本低且安全边界清晰。需要注意的是,公网暴露场景下应叠加 IP 白名单或 BasicAuth 等访问控制策略,进一步缩小可访问范围。整体而言,这套 "容器化部署 + 内网穿透 + HTTPS 隧道" 的组合,为内网 AI Agent 及各类内部服务的远程管理提供了一个便捷且安全的工程实践路径。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐