让 NAS 里的 Hermes Agent 常驻微信:TaoToken 统一 Key 打通本地到远程管理
1. 为什么要把 Hermes Agent 常驻在 NAS 上很多人第一次接触 AI Agent都是在浏览器里开一个网页问几句关掉下次再重新打开。这种用法本身没问题但它有个前提你得主动去找它。而真正让 Agent 变得有用的转折点是它变成一个常驻服务——你不需要专门打开某个页面它就在那里随时能通过你日常用的聊天工具触达。Hermes 就是这样一个开源 AI Agent 项目。它支持终端、Web 控制台和消息平台三种交互入口可以长期运行在一台在线设备上把来自不同入口的消息交给同一个 Agent 处理。而 NAS 恰好是家里最适合承担这个角色的设备它本来就 24 小时在线已经具备 Docker、网络服务和远程管理能力不需要你再单独准备一台专用电脑。我这次用的是一台刷好飞牛 NAS ARM 版的 RK3566 小主机。它的性能不算强但正好可以用来验证一个很实际的问题像这种低功耗小主机能不能稳定承担 Agent 的常驻入口角色。整个落地路径我拆成四层来验证——Hermes 本体能不能跑起来、模型能不能接上、微信能不能变成日常入口、人在外面能不能远程管理 Web 控制台。这四层相互配合但每一层都可以单独验证出问题时也容易定位。这篇文章会给出可复制的 Hermes 配置片段、TaoToken 统一 Key 与 API 通道的 endpoint 和鉴权填写方式以及用微信收发消息验证 Agent 常驻的完整检查清单。如果你手上已经有 NAS、小主机或 N1 这类长期在线的设备希望把 AI Agent 变成日常服务这套路径可以直接跟做。2. TaoToken 统一 Key 与 API 通道前置准备在把 Hermes 跑起来之前有一个容易被忽略但很关键的点模型接入的通道。原文里用的是 DeepSeek 官方 Key这当然可以但如果你后续想换模型、想在多个 Agent 之间共用一套鉴权、或者想让本地和远程管理走同一条 API 通道那么用一个统一的 Key 管理入口会省很多事。我这次用的是 TaoToken 来做这件事。TaoToken 的定位是统一的大模型 API 通道官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。它的价值在于你只需要维护一套 Key就能在 Hermes、Cline、Claude Code 等不同工具之间复用同一套鉴权配置不用每换一个工具就重新申请一遍 Key、重新填一遍 endpoint。具体到 Hermes 这边你需要准备三样东西Base URL、API Key、Model ID。这三件套是后面所有配置的基础缺一不可。Base URL 填 TaoToken 的 API 入口地址API Key 在控制台的 API Keys 页面生成Model ID 则根据你想用的模型来填。如果你还没生成 Key可以先到 https://taotoken.net/api-keys 创建一个生成后复制保存好后面配置 Hermes 时会用到。这里有个细节值得提前说清楚Hermes 初始化向导里会让你选择 provider。如果你直接用 DeepSeek 官方就选 DeepSeek 并填官方 Key如果你想走 TaoToken 统一通道就在自定义 provider 里填 TaoToken 的 Base URL 和 Key。两种方式都能跑通区别在于后续换模型时走统一通道只需要改 Model ID不用重新申请 Key。对于打算长期跑、可能会换模型的场景统一通道更省心。另外如果你后续打算用 Coding Plan 做长期编码或 Agent 任务可以在 https://taotoken.net/coding-plan 了解套餐如果只是想先验证模型对话效果可以直接用模型对话页面 https://taotoken.net/chat 试一下。接入文档在 https://taotoken.net/doc 里面有各工具的详细配置说明遇到不确定的字段可以对照查。3. 可复制的 Hermes 配置片段与部署命令这一节给出可以直接复制的配置片段和部署命令。整个部署分两步先用脚本把 Hermes 本体跑起来并完成初始化再配置消息平台接入微信。先确认飞牛 NAS 的 Docker 服务已经开启然后在【系统设置】→【SSH】里把 SSH 打开。接着在电脑上按 Win X 选择终端管理员打开 PowerShell用 ssh 连上 NASssh n1192.168.50.212连上后切换到 root 用户输入密码时不显示sudo -i然后执行部署脚本完成 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脚本启动后直接回车进入初始化向导等待镜像拉取完成。拉取完成后选择快速开始Quick setup。进入 Select provider 后如果你走 TaoToken 统一通道选择自定义 provider 并填入以下三件套{ base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, model: deepseek-chat }如果你直接用 DeepSeek 官方就在 provider 里选 DeepSeek然后到 https://platform.deepseek.com/api_keys 创建一个 Key 填进去模型保持默认的 deepseek-chat。消息平台这一步先选第二项暂时跳过这样可以先把模型与 Hermes 本体单独验证不把微信配置问题混进来。初始化完成后运行 Hermes 做一次实际对话hermes启动后用一条简单问题确认它能否正常回答你好你是谁你当前运行在什么操作系统上接入的是什么模型如果它能返回当前运行在 Docker 容器中并识别到接入的模型说明容器运行 模型接入 基础对话这一段已经跑通。输入/exit退出然后打开 Web 控制台验证http://192.168.50.212:9119终端能聊天只是一个入口9119 页面能否打开决定了后面远程管理是否有意义。到这里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 发一条消息验证微信侧是否已经能触达 Agent。此时消息已经能触达但当前用户还需要完成配对审批。这个步骤说明微信连接成功和用户获得使用权限是两件事。回到菜单选择选项 10 执行容器内 Hermes 原生命令输入审批授权命令hermes pairing approve weixin QKHBWHAJ审批命令执行成功后这个微信用户就获得了配对授权。再发一条消息验证完整链路你好你是谁请你介绍一下你自己你都能干什么如果消息能正常返回说明 微信 → Hermes → 模型 → 微信回复 这条链已经跑通。4. 验证请求与成功结果检查清单配置完成后怎么确认整条链路真的通了我整理了一份检查清单按顺序逐项验证哪一步卡住就停在哪一步排查不要跳步。第一项容器运行状态。在 SSH 终端执行docker ps确认 Hermes 容器处于 Up 状态。如果容器没起来先看docker logs里的报错常见的是镜像拉取失败或端口占用。第二项终端对话。运行hermes后发一条消息确认能收到回复。如果终端里能对话说明模型接入没问题如果终端里就不通先排查 Base URL 和 Key 是否正确。第三项Web 控制台。浏览器打开http://你的NAS_IP:9119确认页面能正常加载。如果页面打不开但终端能对话检查 9119 端口是否被防火墙拦截或者容器端口映射是否正确。第四项微信触达。给 Hermes 发一条微信消息确认消息能到达 Agent。如果消息发出后没有任何反应检查微信网关是否配置成功、服务是否重启过。第五项配对审批。如果消息能到达但收不到回复大概率是用户还没完成配对审批。执行hermes pairing approve weixin 你的配对码完成授权。第六项完整链路。审批通过后再发一条消息确认能收到回复。到这里微信 → Hermes → 模型 → 微信回复 这条链就完整了。第七项公网 WebUI可选。如果你配置了 cpolar用公网地址访问 9119 页面确认能打开。注意这一项不影响微信消息链微信本身不依赖公网隧道。实测下来最容易卡住的是第五项配对审批。很多人看到消息发出去了、Agent 没回复就以为微信没连上其实只是用户权限没批。把连接成功和获得权限分开看排查思路会清晰很多。5. 常见报错排查401、local proxy failed、reading choices配置过程中会遇到几类典型报错这里逐个说清楚原因和排查方向。401 Unauthorized。这个最常见基本是 Key 的问题。先确认 API Key 有没有复制完整前后有没有多余空格。如果你走 TaoToken 统一通道确认 Base URL 填的是https://taotoken.net/api不要多加路径。如果 Key 是在别的工具里能用的、在 Hermes 里报 401检查一下是不是把 Key 填到了错误的 provider 字段里。还有一种情况是 Key 过期或被禁用到控制台重新生成一个再试。local proxy failed。这个报错通常出现在网络请求发不出去的时候。先确认 NAS 本身能正常访问外网在终端里curl https://taotoken.net/api看能不能通。如果 NAS 网络正常但 Hermes 容器里不通检查容器的网络模式是不是 bridge以及 DNS 配置是否正确。有些 NAS 的 Docker 默认 DNS 有问题可以在容器配置里手动指定 DNS。reading choices 相关报错。这类报错一般出现在模型返回格式不符合预期的时候。常见原因是 Model ID 填错了比如填了一个不存在的模型名或者填了带路径的完整名称。确认 Model ID 只填模型标识本身比如deepseek-chat不要带前缀。如果换了模型后出现这个报错先换回默认模型验证通道是否正常再逐步排查新模型的兼容性。OAuth 相关报错。如果你用的是需要 OAuth 授权的 provider报错通常和 token 刷新有关。检查授权是否过期重新走一遍授权流程。如果用的是 API Key 方式一般不会遇到 OAuth 问题。微信消息无回复。前面说过先区分消息没到达和到达了没权限。消息没到达就查网关配置到达了没回复就查配对审批。还有一个容易忽略的点群聊消息默认是禁用的如果你在群里 它没反应那是正常的私聊测试。排查时有个通用思路把链路拆成容器 → 模型 → 微信 → 公网四段每段单独验证。终端能对话说明容器和模型没问题微信能触达说明网关没问题公网能打开说明隧道没问题。哪一段断了就查哪一段不要一上来就怀疑整个配置。6. 远程管理与长期常驻的落地建议本地部署和微信接入完成后对于只打算通过微信调用 Agent 的人来说其实已经可以停下了。公网访问属于后续管理需求不是必须项。但如果你需要人在外面时打开 Web 控制台查看状态、调整设置可以再加一层内网穿透。这里用 cpolar 把 NAS 本地的 9119 端口映射到公网。在 SSH 终端执行安装命令sudo curl https://get.cpolar.sh | sh安装完成后查看服务状态sudo systemctl status cpolar状态显示 active (running) 就说明正常启动。浏览器访问http://你的NAS_IP:9200打开 cpolar Web UI登录后进入隧道管理把隧道指向 Hermes 的 9119 页面。创建完成后在在线隧道列表里能看到生成的公网地址。如果只是临时进入控制台随机地址够用如果准备长期保存书签可以配置固定二级子域名。在 cpolar 的预留页面保留一个二级子域名然后回到隧道编辑页把域名类型改为二级子域名填入保留的名称更新即可。地址越稳定越适合长期使用但也越应该考虑谁能打开这个控制台所以建议再加一层 HttpAuth。在隧道编辑页展开高级选项找到 HttpAuth 配置项填写用户名和密码格式是用户名:密码中间用英文冒号。设置完成后再次访问公网地址会先弹出认证窗口认证通过才能进入 Hermes WebUI。安全提醒HttpAuth 只是基础访问认证适合给个人测试环境增加一层保护。公网访问地址不要随意公开密码尽量设置复杂一些不要用 admin:123456 这类弱密码。回到常驻这件事本身整条链可以拆成四层Hermes 负责 Agent 本身和任务处理模型提供能力微信把 Agent 变成日常消息入口cpolar 只负责把 9119 Web 控制台提供到外部网络。这几层相互配合但不互相替代。先在终端确认 Hermes 能正常运行并识别模型再打开 9119 Web 控制台随后接入微信并通过配对审批完成真实对话。到了这一步即使不做公网穿透Hermes 已经可以作为一个常驻 AI 助手使用。如果你后续想扩展重点不应该是再接更多平台而是根据自己真正会反复使用的任务逐步增加值得长期保留的能力。一台原本就 24 小时在线的小设备多了一个持续运行、可以从微信随时调用的 Agent这才是这套方案真正的价值所在。需要生成 Key 或查看接入文档可以到 https://taotoken.net/api-keys 和 https://taotoken.net/doc 对照操作。

相关新闻

AnyPS5跨平台图像处理工具:架构设计与工程实践指南

AnyPS5跨平台图像处理工具:架构设计与工程实践指南

1. 从“AnyPS5”这个标题说起:一个跨平台图像处理工具的设计思路第一次看到“AnyPS5”这个标题,我脑子里蹦出来的第一反应是——这大概率是一个把图像处理能力做成“随处可用”的项目。名字里的“Any”暗示了跨平台、跨设备、跨环境的通用性,…

2026/10/11 7:09:38 阅读更多 →
原生JS日期时间选择器:零依赖、易封装的轻量实现解析

原生JS日期时间选择器:零依赖、易封装的轻量实现解析

简介:一份基于JavaScript原生实现的日期时间选择器代码包,面向前端开发者,用于在表单、日程管理或后台系统中快速嵌入轻量级、无依赖的日期时间选择功能。压缩包共3个文件,包含一个JS主逻辑文件、一个HTML入口页面和一个CSS样式表…

2026/10/11 7:09:38 阅读更多 →
CD42b抗体全场景解析:流式标记、功能阻断与疾病模型

CD42b抗体全场景解析:流式标记、功能阻断与疾病模型

做血小板研究的人,十有八九都跟CD42b打过交道。这个靶点听起来像是流式细胞术里一个普通的表面标记,但真正深入了解之后你会发现,CD42b抗体绝不只是“认出血小板”那么简单。它既可以当标志物,把血小板从复杂样本里精准地圈出来&a…

2026/10/11 7:09:38 阅读更多 →

最新新闻

告别语义漂移:用 BM25 与向量检索打造个人日记的混合召回(Hybrid Search)

告别语义漂移:用 BM25 与向量检索打造个人日记的混合召回(Hybrid Search)

秋雨淅淅沥沥下了一整天,空气里泛着潮湿的泥土香气。我坐在书房里,试图从这几年积攒的上千篇日记与手账随笔中,找出一年前在某家咖啡馆尝过的“桂花乌龙生椰拿铁”。 我在私有 RAG 助手里键入了这几个字,屏幕很快吐出了一堆相关记…

2026/10/11 7:52:03 阅读更多 →
轻薄笔记本上的显存天平:Q4_K_M 与 Q8_0 量化实测与生活化选型指南

轻薄笔记本上的显存天平:Q4_K_M 与 Q8_0 量化实测与生活化选型指南

秋风吹得窗台上的绿植沙沙作响,泡上一壶热白茶,把轻薄笔记本放在膝头,是在这个季节里最舒适的姿势。对于喜欢在本地掌控一切数据的开发者来说,轻薄本的安静与便携是一种难得的惬意。但这份惬意往往在打开模型下载列表的一瞬间&…

2026/10/11 7:52:03 阅读更多 →
【计算机毕业设计单片机案例】基于WIFI的自行车骑行速度里程定位远程监测装置设计 基于单片机的骑行速度里程与GPS定位联合采集系统设计(030205)

【计算机毕业设计单片机案例】基于WIFI的自行车骑行速度里程定位远程监测装置设计 基于单片机的骑行速度里程与GPS定位联合采集系统设计(030205)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/11 7:52:03 阅读更多 →
WorkBuddy FDE:90天从需求到真实用户交付路径

WorkBuddy FDE:90天从需求到真实用户交付路径

1. 这不是“从0到1”,而是“从一句话到真用户”的真实压缩路径“WorkBuddy FDE”这个名称本身就很说明问题——它不叫“WorkBuddy Pro”或“WorkBuddy AI”,而是一个带明确角色后缀的缩写。FDE,即 Frontend Developer(前端开发者&…

2026/10/11 7:52:03 阅读更多 →
从模糊需求到90天上线:WorkBuddy FDE方法论实战手册

从模糊需求到90天上线:WorkBuddy FDE方法论实战手册

我接到 WorkBuddy 这个项目时,需求文档只有一句话:做一个能帮团队把任务理清楚的 App。没有用户画像,没有流程图,没有竞品分析,甚至没人说清楚要先做手机版还是网页版。我当时的反应是:这个项目如果直接动手…

2026/10/11 7:52:03 阅读更多 →
NMODBUS 工业通信实战:.NET 下 Modbus TCP/RTU 开发与避坑指南

NMODBUS 工业通信实战:.NET 下 Modbus TCP/RTU 开发与避坑指南

简介:NMODBUS.zip 是一套面向 C# 开发者的 MODBUS TCP/IP 通信库资源,适合刚接触工业自动化协议、需要快速与 PLC 建立数据交互的新手与中级开发者。它封装了 ModbusTcpMaster 等核心类,提供读写保持寄存器、线圈以及数据转换、异常处理等常用…

2026/10/11 7:51:03 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →