Hermes Agent 从入门到上手:10分钟搭建你的 AI 智能体平台
1. 为什么我最后把 Hermes Agent 留在了本地第一次接触 Hermes Agent 的时候我其实没抱太大期待。AI 智能体平台这两年冒出来太多装完能跑、跑完能用的没几个。Hermes Agent 是 Nous Research 出的开源智能体框架简单说就是你给它一个模型 API Key它就能在本地起一个带 Web UI 的智能体平台能聊天、能调工具、能挂消息网关、能跑定时任务。适合谁适合想在自己机器上快速验证 Agent 能力、又不想被 Docker 编排和一堆环境变量折磨的开发者。我试过在 Windows WSL 里从零装一遍整个过程最花时间的不是安装本身而是搞清楚 Web UI 到底监听哪个端口、模型 Key 该填在哪一层。这篇就把这条路径完整走一遍依赖清单、可复制的安装命令、配置文件片段、启动后访问 Web UI、创建第一个智能体对话的验证动作。目标很明确——10 分钟内确认平台可用。需要提前说清楚一件事Hermes Agent 本身是框架它不绑定某一家模型服务。你可以接 Claude、OpenAI也可以接兼容 OpenAI 协议的国内模型网关。我这次演示用的是 TaoToken 的 API 作为模型后端因为它同时提供 Claude Code 和 OpenAI 兼容两种接入方式配置起来比较省事。下面所有命令和配置都可以直接抄。环境前提只有三条一台能跑 Node.js 的机器Windows 用 WSL、macOS、Linux 都行Node.js 18 以上以及一个可用的模型 API Key。不需要 Docker不需要单独装数据库Hermes 默认用本地 SQLite 存会话和记忆。2. 装 Hermes Agent 前先把模型入口配好很多人卡在第一步不是因为 Hermes 装不上而是装完之后模型调不通。所以我把顺序调一下先把模型入口准备好再装 Hermes。这样装完直接就能对话不用来回改配置。我用的模型入口是 TaoToken。它的官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 。注意 API 地址后面不加任何参数直接就是根路径。它兼容 OpenAI 的/v1/chat/completions和 Anthropic 的/v1/messages两种协议所以 Hermes 里无论选 OpenAI 还是 Claude 类型都能接。先去控制台拿 Key。打开 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 登录后在 API Keys 页面创建一个新 Key。创建时建议给它起个能认出来的名字比如hermes-local方便以后区分。Key 只在创建时完整显示一次复制下来存好。拿到 Key 之后先别急着装 Hermes用 curl 验证一下这个 Key 能不能正常调模型。这一步能省掉后面 80% 的排障时间curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的Key \ -d { model: claude-3-5-sonnet-20241022, messages: [{role: user, content: 只回复两个字可用}], max_tokens: 16 }如果返回的 JSON 里choices[0].message.content是「可用」说明 Key 和网络都没问题。如果返回 401说明 Key 复制错了或者被禁用如果返回 404检查一下 URL 是不是写成了/api/v1/chat/completions少一个v1就会 404。模型 ID 这块要注意TaoToken 的模型列表在 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 可以查到。Claude 系列用claude-3-5-sonnet-20241022这种带日期的完整 IDOpenAI 系列用gpt-4o这种短 ID。Hermes 的配置向导里会让你填模型名填错的话启动后对话会报model not found。如果你打算长期跑 Agent 任务比如定时任务、多轮工具调用可以考虑 TaoToken 的 Coding Plan它在长上下文和连续调用场景下更划算入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。不过第一次上手先用按量计费的 Key 就够了跑通再说。3. 可复制的安装与配置文件片段现在开始装 Hermes Agent。官方安装脚本是一行命令但国内网络直接跑容易卡在下载环节所以我建议先配好 npm 镜像再装。第一步确认 Node.js 版本node -v npm -v如果低于 18先升级。WSL 里可以用 nvm 装curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 20 nvm use 20第二步配 npm 镜像并安装 Hermesnpm config set registry https://registry.npmmirror.com npm install -g hermes-agent装完后跑健康检查hermes doctor你会看到一串检查项包括 Node 版本、配置文件、模型连通性。第一次跑的时候模型那项大概率是红的因为还没配 Key。第三步写配置文件。Hermes 的配置默认在~/.hermes/config.toml你也可以用hermes setup走向导但向导有时候会覆盖已有配置所以我更推荐直接写文件。下面这份是我实测能跑通的配置路径和字段名都跟当前版本一致# ~/.hermes/config.toml [model] provider openai base_url https://taotoken.net/api/v1 api_key sk-你的Key model claude-3-5-sonnet-20241022 max_tokens 4096 temperature 0.7 [web] enabled true host 0.0.0.0 port 8648 [memory] enabled true backend sqlite path ~/.hermes/memory.db [gateway] enabled false几个关键点解释一下。provider填openai是因为 TaoToken 的/v1/chat/completions走 OpenAI 协议即使底层模型是 Claude 也这么填。base_url一定要带/v1这是 OpenAI SDK 的约定少了会 404。model填你在 TaoToken 模型列表里看到的完整 ID。web.port默认就是 8648如果你机器上这个端口被占了改成 8649 之类的。如果你更习惯用 Claude 原生协议也可以把 provider 改成anthropicbase_url 改成https://taotoken.net/apimodel 不变。两种方式我都试过OpenAI 协议在 Hermes 里兼容性更好工具调用更稳。第四步装 Web UI。Hermes 本体自带命令行但 Web UI 是单独一个包npm install -g hermes-web-ui hermes-web-ui start启动成功会打印一行Web UI running at http://localhost:8648。如果你在 WSL 里跑Windows 浏览器直接访问http://localhost:8648就能打开WSL2 会自动做端口转发。4. 启动后验证 Web UI 与首个智能体对话Web UI 起来之后先别急着建 Agent按顺序做三个验证动作确认整条链路是通的。第一个动作打开http://localhost:8648你应该看到一个左侧栏 中间对话区的面板。左侧栏顶部有「Agents」「Sessions」「Skills」「Settings」几个入口。如果页面白屏按 F12 看 Console大概率是hermes-web-ui没连上后端检查hermes主进程有没有在跑。第二个动作进 Settings确认模型配置读到了。这里会显示当前 provider、base_url、model。如果显示的是空或者默认值说明~/.hermes/config.toml没被读到检查文件路径和 TOML 语法。TOML 对引号很敏感字符串必须用双引号。第三个动作创建一个最小 Agent 并对话。点左侧「Agents」→「New Agent」填三个字段字段填什么说明Nametest-agent随便起后面能改Modelclaude-3-5-sonnet-20241022跟 config.toml 里一致System Prompt你是一个简洁的助手回答不超过三句话。先简单点保存后回到对话区选中test-agent输入「你好介绍一下你自己」。正常的话你会看到 SSE 流式输出字一个一个蹦出来。如果卡住不动看终端里hermes进程有没有报错。再做一个工具调用验证。在对话里输入「现在几点用工具查一下」。Hermes 内置了时间工具正常会触发一次 tool call返回当前时间。这一步能验证模型是否支持 function calling。如果模型返回的是纯文本「我无法获取时间」说明你用的模型 ID 不支持工具调用换gpt-4o或claude-3-5-sonnet再试。到这里平台就算跑通了。整个过程如果网络顺利从装 Node 到发出第一条消息10 分钟是够的。我实测下来最慢的一步是npm install -g hermes-agent配了镜像之后大概 40 秒。5. 报错排查401、local proxy failed 与 reading choices这一节把我踩过的坑列出来你遇到报错直接对号入座。401 Unauthorized。这是最常见的。原因有三个Key 复制时带了空格、Key 被禁用、或者base_url和provider不匹配。排查方法先用第 2 节那条 curl 命令单独测 Keycurl 通了说明 Key 没问题问题在 Hermes 配置。重点检查config.toml里api_key那行有没有多余引号嵌套比如api_key sk-xxx这种。local proxy failed / connection refused。这个报错通常出现在你本地开了某个网络工具Hermes 的请求被拦了。解决方法是检查环境变量HTTP_PROXY和HTTPS_PROXY如果设了但代理没开请求就会 refused。临时清掉unset HTTP_PROXY unset HTTPS_PROXY hermes restartError reading choices / choices is undefined。这个报错说明模型返回的 JSON 结构跟 Hermes 预期的不一样。常见原因是base_url少写了/v1请求打到了根路径返回的是 HTML 而不是 JSON。检查base_url https://taotoken.net/api/v1这一行。另一个原因是模型 ID 写错了服务端返回了错误对象里面没有choices字段。用 curl 单独测一下你填的那个 model ID。OAuth token expired。如果你在 Hermes 里配了 Claude 的 OAuth 登录而不是 API Key会碰到这个。OAuth token 有效期短过期后要重新授权。我的建议是本地开发直接用 API Key别用 OAuth省心。TaoToken 的 Key 是长期有效的不存在过期问题。Web UI 打不开端口 8648 被占用。先查谁占了lsof -i :8648如果是别的进程改config.toml里的web.port为 8649然后hermes restart和hermes-web-ui restart。注意两个服务都要重启只重启一个不生效。Agent 回复到一半断了。看终端有没有max_tokens exceeded。Hermes 默认max_tokens可能偏小在config.toml里调到 4096 或 8192。另外 TaoToken 的 Claude 模型单次输出上限跟模型本身有关claude-3-5-sonnet支持到 8192填大了也没用。如果你用的是 Cline MCP 或者 Codex 的auth.json方式接入记住三件套必须同时对上Base URL 填https://taotoken.net/api/v1Key 填sk-开头那串Model ID 填完整带日期的版本号。这三个任何一个不对都会报上面那些错。6. 跑通之后下一步可以做什么平台跑通只是起点。Hermes 真正有意思的地方在于它的记忆系统和技能市场。你可以在 Web UI 的 Skills 页面搜关键词找到合适的技能直接装比如网页抓取、文件处理、定时总结。装完的技能会出现在 Agent 的工具列表里对话时模型会自动调用。如果你想让 Agent 常驻跑任务比如每天早上总结一次新闻可以在 Web UI 的 Cron 页面配一个定时任务Cron 表达式写0 9 * * *任务内容写你的 prompt。任务触发时 Hermes 会自己调模型执行结果存在会话历史里。模型入口这块如果你后面要跑大量 Agent 任务按量计费的 Key 可能会比预期贵。TaoToken 的 Coding Plan 在连续调用场景下有更划算的计费方式入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有各种协议的完整示例。API Keys 管理在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 需要新建或吊销 Key 的时候去那里。最后说一个我自己的习惯每次改完config.toml先跑hermes doctor再重启服务。doctor 会告诉你哪一项配置没生效比直接重启然后对着报错猜要快得多。这个习惯帮我省了不少来回折腾的时间。

相关新闻

Opus 5.5 + Claude Code 生成可交互 Canvas 动画:从粒子效果到地铁线路图

Opus 5.5 + Claude Code 生成可交互 Canvas 动画:从粒子效果到地铁线路图

1. 这波刷屏到底发生了什么 前几天我正刷着信息流,突然发现首页被一批画风极其统一的视频给占了。点进去一看,清一色是那种带点物理模拟、粒子效果、甚至能实时交互的网页动画,有的像流体,有的像粒子星系,还有的干脆把…

2026/9/30 19:52:40 阅读更多 →
生成式召回实战:从向量检索到序列生成的搜索范式跃迁

生成式召回实战:从向量检索到序列生成的搜索范式跃迁

先聊个真实的场景。做交易搜索的都知道,前几年大家拼的是向量检索,把 Query Embedding 和 Item Embedding 算得明明白白,谁的内积算得快、谁的双塔调得准,谁就能在业务上拿到一点提升。但这两年风向变了:“召回”这个词…

2026/9/30 19:52:40 阅读更多 →
Opus 5.5 + HTML Canvas:用代码生成视频的完整实操指南

Opus 5.5 + HTML Canvas:用代码生成视频的完整实操指南

1. 刷屏背后:Opus 5.5 到底把视频这件事变成了什么样先说结论:这波刷屏的核心,不是"AI 会做视频了"这么简单,而是视频的生产方式从"剪辑软件里拖时间线"变成了"写一段 HTML Canvas 代码,让浏…

2026/9/30 19:52:40 阅读更多 →

最新新闻

从 DALL-E 3 精灵图到动画 GIF:Gif-PT 系统提示词与 FFT 帧对齐调试全解析

从 DALL-E 3 精灵图到动画 GIF:Gif-PT 系统提示词与 FFT 帧对齐调试全解析

提示工程 【免费下载链接】GPTs leaked prompts of GPTs 项目地址: https://gitcode.com/GitHub_Trending/gp/GPTs 点击查看 免费下载 Gif-PT 是一款利用 DALL-E 3 生成精灵图(spritesheet)、再借助代码解释器切帧并合成动画 GIF 的 GPT 应用…

2026/10/1 2:02:46 阅读更多 →
FlashAttention Hopper(SM90)前向 Kernel 的 R2P 掩码优化:基于 SASS 指令分析的性能调查

FlashAttention Hopper(SM90)前向 Kernel 的 R2P 掩码优化:基于 SASS 指令分析的性能调查

人工智能大模型算子库 【免费下载链接】flash-attention Fast and memory-efficient exact attention 项目地址: https://gitcode.com/GitHub_Trending/fl/flash-attention 点击查看 免费下载 导读 本文以 FlashAttention 仓库中 AI/SM90_R2P_MASKING_SASS.md 的 …

2026/10/1 2:02:46 阅读更多 →
越省越费?杰文斯悖论揭示效率提升背后的能耗反弹

越省越费?杰文斯悖论揭示效率提升背后的能耗反弹

先别急着把这篇文章关了。我一开始看到“Jev”这个词也懵:这到底是个库?是个算法?还是某位网友的外号?后来翻了上下文才发现,大家口中的 Jev,大概率是 Jevons Paradox(杰文斯悖论)的…

2026/10/1 2:02:46 阅读更多 →
从Node-RED到标准语法:用Go构建可维护的规则引擎

从Node-RED到标准语法:用Go构建可维护的规则引擎

如果用一句话概括我这一段时间做的事:我把项目里的规则判定层,从 Node-RED 的拖拽流里整个拆了出来,重新建模成一套基于标准语法的规则描述,然后用 Go 先做出了一个可运行的规则引擎运行时。这篇东西就是完整的设计思路、落地细节…

2026/10/1 2:02:46 阅读更多 →
Python多线程破解RAR/ZIP/7Z压缩包密码:原理与实战

Python多线程破解RAR/ZIP/7Z压缩包密码:原理与实战

简介:这份多线程可视化压缩包解密源码,主要面向多种主流压缩格式的密码破解场景,适合具备基础的安全测试者,也可帮助普通用户找回遗忘的压缩包密码。源码内置常见密码压缩表,密码表用尽后自动切换随机数遍历&#xff0…

2026/10/1 2:02:46 阅读更多 →
scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划

scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划

scriptc预编译运行时包设计解析:只用多少就链接多少的链接计划 【免费下载链接】scriptc TypeScript-to-Native Compiler 项目地址: https://gitcode.com/GitHub_Trending/sc/scriptc scriptc 是一个 TypeScript 到原生可执行文件的编译器(TypeSc…

2026/10/1 2:01:46 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →