ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Hermes Agent 完整使用教程:CLI、MCP 与 Gateway 配置到 TaoToken

Hermes Agent 完整使用教程:CLI、MCP 与 Gateway 配置到 TaoToken 1. 为什么第一次用 Hermes Agent 会卡在“连不上模型”Hermes Agent 是一个把 CLI、Gateway、MCP、cron 揉在一起的 agent 运行时。它能读写文件、跑终端命令、定时执行任务还能通过 MCP 把外部系统接成工具。适合谁适合已经厌倦了“聊天窗口里复制粘贴代码”的开发者尤其是想让 agent 长期在线、按计划干活的人。但第一次上手十有八九会卡在同一个地方模型通道。你装完 CLI敲hermes进去发一句“总结当前目录”结果要么转圈要么报401要么提示local proxy failed。原因不复杂——Hermes 默认要你配一个 provider而 provider 的 base URL、API Key、模型 ID 三件套对新手来说就是第一道墙。我试过的路径是把 Hermes 的 endpoint 和鉴权统一改到 TaoToken 的 API 通道上一个 Key 管住 CLI、MCP 触发的模型调用、以及 Gateway 转发。这样你不需要在.env里堆五六个不同厂商的 Key也不用担心某个 provider 突然限流。这篇教程按三条主线走CLI 安装与初始化、MCP 工具接入、Gateway 转发配置。最后用一个 cron 定时任务跑通端到端调用证明整条链路是活的。每一步都给可复制的命令和配置片段你照着敲就行。先明确一个概念Hermes 的“模型调用”发生在 agent 层不管你是从 CLI 发起的还是 Gateway 从消息平台转发进来的还是 cron 在后台触发的最终都要走 provider 配置。所以只要把 provider 这一层统一到 TaoToken后面所有入口都自动生效。这就是为什么值得先花十分钟把通道配好而不是每个入口单独折腾。TaoToken 在这里的角色是统一 Key/API 通道官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。你拿到一个 Key填进 Hermes 的.env再把 base URL 指过去模型 ID 用通道支持的名称就通了。2. 前置准备拿到 TaoToken Key 并理解 Hermes 的配置分层在动 Hermes 之前先把 TaoToken 这边的准备工作做完。打开 https://taotoken.net/api-keys 创建一个 API Key。这个 Key 就是后面.env里的核心凭证。创建时建议起个能认出来的名字比如hermes-dev方便以后轮换。拿到 Key 之后先别急着改 Hermes。你要理解 Hermes 的配置分两层这决定了你该把东西写在哪第一层是~/.hermes/.env放的是 API Key、base URL、平台 token 这类环境变量。它管的是“连哪个通道、用什么凭证”。第二层是~/.hermes/config.yaml放的是结构化行为配置比如 MCP server 声明、toolset 默认值、gateway 平台开关。它管的是“agent 怎么干活”。模型相关的三件套——Base URL、Key、Model ID——全部落在.env里。这是最容易搞混的地方很多人以为模型要在config.yaml里配结果改了半天没生效。记住provider 凭证走.env。如果你还没装 Hermes先装。官方脚本最快curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash source ~/.bashrc hermes version如果你打算改仓库源码用开发安装git clone https://github.com/NousResearch/hermes-agent.git cd hermes-agent uv venv venv --python 3.11 source venv/bin/activate uv pip install -e .[all,dev]装完先跑一次hermes doctor它会告诉你哪些依赖缺了、配置目录在哪。默认配置目录是~/.hermes/你需要关注的三个文件是config.yaml、.env、SOUL.md。SOUL.md是 Hermes 的长期风格文件先不用动。现在打开.env把 TaoToken 的三件套写进去。下面这段是核心路径和变量名要和 Hermes 实际读取的一致# ~/.hermes/.env OPENAI_API_KEY你的_TaoToken_Key OPENAI_BASE_URLhttps://taotoken.net/api这里用OPENAI_*前缀是因为 Hermes 的 OpenAI 兼容 provider 会读这两个变量。TaoToken 的 API 入口是 OpenAI 兼容格式所以 base URL 填https://taotoken.net/api注意结尾不要多加/v1Hermes 会自己拼路径。如果你填成https://taotoken.net/api/v1很可能出现 404 或者路径重复。模型 ID 不在.env里写死而是通过hermes model或者会话内的/model来选。但你要知道通道支持哪些模型名。可以在 https://taotoken.net/doc 查当前可用的模型列表或者直接在模型对话页 https://taotoken.net/models 里试一下哪个模型名能通。配完之后验证一下环境变量有没有被读到hermes status如果它显示当前 provider 是 openai 兼容、base URL 指向 taotoken说明.env生效了。如果还显示默认的 openrouter检查你是不是把变量名写错了或者.env文件路径不对。这一步做完你手里就有了一个统一的模型通道。接下来 CLI、MCP、Gateway 全都复用这个通道不需要重复配 Key。3. 可复制配置CLI 初始化、MCP 声明与 Gateway 转发这一节是全文的核心给三份可直接复制的配置。先做 CLI 初始化再配 MCP最后配 Gateway。3.1 CLI 初始化与模型选择首次安装后跑一次 setuphermes setup它会引导你选 provider、terminal backend、gateway 平台、toolset。provider 这一步选 OpenAI 兼容它会去读你.env里的OPENAI_API_KEY和OPENAI_BASE_URL。如果你在 setup 里被要求填 base URL直接填https://taotoken.net/api。setup 完成后进 CLIhermes进去先跑/model看看当前模型是什么。然后切到通道支持的模型/model custom:你的模型ID比如通道里如果有claude-sonnet这类名称就填对应的 ID。切完发一句带动作的任务别发“你好”阅读当前目录结构并总结这个仓库的核心组成。如果 Hermes 开始调用 file 或 terminal 工具说明 CLI 这条链路通了。你可以用/verbose观察工具输出用/usage看 token 消耗。3.2 MCP 服务声明片段MCP 是把外部系统接成 Hermes 工具的方式。配置文件是~/.hermes/config.yaml注意键名是mcp_servers不是mcp.servers。这是很多人踩的坑写错了 MCP 根本不加载。下面是一个 stdio 类型的 MCP 声明接的是文件系统服务# ~/.hermes/config.yaml mcp_servers: filesystem: command: npx args: [-y, modelcontextprotocol/server-filesystem, /home/user/projects] tools: include: [read_file, write_file, list_directory] prompts: false resources: false再给一个 HTTP 类型的 MCP 声明接内部 APImcp_servers: company_api: url: https://mcp.internal.example.com headers: Authorization: Bearer 你的内部token tools: include: [query_orders, get_user]改完配置后在 CLI 里执行/reload-mcp然后/tools list看新工具有没有出现。如果没出现先检查mcp_servers键名再检查npx命令在不在 PATH 里。stdio 类型的 MCP 依赖本地命令命令不存在就会静默失败。这里有个原则内置工具够用就别上 MCP只是流程复杂就用 skill确实要接外部系统才用 MCP。MCP 开太多会让工具列表膨胀模型选择工具时更容易出错。3.3 Gateway 转发配置Gateway 让 Hermes 通过消息平台长期在线。核心命令hermes gateway setup hermes gateway run平台 token 写在.env里比如 Telegram# ~/.hermes/.env TELEGRAM_BOT_TOKEN你的bot_token TELEGRAM_ALLOWED_USERS你的用户ID授权控制必须做别开放所有用户。TELEGRAM_ALLOWED_USERS填你的用户 ID只有你能触发 agent。Gateway 跑起来后进入对应聊天执行/sethome。这一步很关键cron 和后台任务的结果才知道发去哪里。没有 home channel定时任务跑完你收不到通知。Gateway 的模型调用同样走.env里的 TaoToken 通道不需要额外配。这就是统一通道的好处CLI 配一次Gateway 自动继承。4. 验证请求用 cron 定时任务跑通端到端调用配置写完不算通要有一个真实的端到端动作来验证。最合适的是 cron 定时任务因为它同时经过 provider 通道、agent 调度、工具调用和 Gateway 通知四条链路。先创建一个 cron job。Hermes 的 cron 不是系统计划任务而是在新 session 里跑一个 agent 任务。所以 prompt 必须完全自包含不能依赖当前会话的上下文。hermes cron create */5 * * * * 读取 /home/user/projects/status.txt 的内容如果里面有 ERROR 字样把内容发送到 home channel如果没有 ERROR回复 [SILENT]。 --name error-watch这条 cron 每 5 分钟跑一次。注意 prompt 里显式约定了[SILENT]这样没有异常时不会刷屏。这是自动化任务的一个好模式脚本负责抓数据agent 负责判断和总结。创建后在 CLI 里查看/cron list手动触发一次不用等 5 分钟/cron run job_id观察输出。如果 agent 成功读取文件、判断内容、并决定是否发送说明整条链路通了。你可以故意在status.txt里写一行ERROR: disk full再手动触发看 home channel 有没有收到消息。如果这一步成功你实际上验证了TaoToken 通道能调通模型、Hermes 的 provider 配置正确、cron 调度正常、Gateway 通知可达。这比单纯在 CLI 里聊两句有说服力得多。再验证一个后台任务/background 总结这个仓库的工具系统并写一份建议。后台任务会把当前任务异步化不阻塞你的会话。跑完后用/status看结果。到这里CLI、MCP、Gateway、cron 四条线都跑通了。你可以把 cron 的 prompt 换成自己的监控逻辑比如检查构建状态、汇总日志、定时生成报告。5. 常见报错排查401、local proxy failed、reading choices、OAuth配通道的过程中报错基本集中在几个固定位置。下面按真实报错对照排查。401 Unauthorized最常见。原因通常是.env里的OPENAI_API_KEY没被读到或者 Key 填错了。先跑hermes status确认 provider 和 base URL。然后检查.env文件路径是不是~/.hermes/.env变量名是不是OPENAI_API_KEY。如果你在 setup 里选了别的 provider它可能读的是OPENROUTER_API_KEY那就把 Key 填到对应变量里或者重新 setup 选 OpenAI 兼容。local proxy failed这个报错通常出现在 base URL 指向了本地地址但本地没有服务在跑。检查OPENAI_BASE_URL是不是被改成了http://localhost:xxxx。如果你要用 TaoToken应该是https://taotoken.net/api。另外检查有没有残留的代理环境变量比如HTTP_PROXY它们会干扰请求。reading choices 相关报错这类报错说明请求发出去了但返回的 JSON 结构不符合预期。常见原因是 base URL 路径拼错比如填了https://taotoken.net/api/v1导致路径重复返回的不是标准 chat completions 结构。把 base URL 改回https://taotoken.net/api让 Hermes 自己拼/v1/chat/completions。OAuth 相关报错如果你在 MCP 或 Gateway 里用了需要 OAuth 的服务报错会提示 token 过期或 scope 不足。MCP 的 HTTP 类型如果带Authorizationheader检查 token 有没有过期。Gateway 的平台 token 如果失效重新生成并更新.env然后hermes gateway stop再hermes gateway start。MCP 工具不出现先确认config.yaml里键名是mcp_servers。然后确认 stdio 类型的command在 PATH 里存在。最后执行/reload-mcp。三步都做了还不出现用/verbose看加载日志。cron 跑了但没收到通知检查有没有执行/sethome。没有 home channelcron 结果无处可发。另外检查 prompt 里有没有[SILENT]约定如果 agent 判断为静默它就不会发消息。排查时不要一上来就删整个~/.hermes。大多数问题都能局部定位先看hermes doctor再看hermes status然后看具体报错属于哪一层。安装层、provider 层、tool 层、MCP 层、Gateway 层逐层排除。6. 把通道固定下来长期使用与 CTA跑通之后建议做几件事让长期使用更稳。第一用 profile 隔离环境。工作、个人、实验分开别混在一个实例里hermes profile create work --clone hermes profile use workprofile 隔离的是整套 Hermes home包括配置、技能、会话、memory、gateway 状态。这样你换项目时不会互相污染。第二重要规则写进AGENTS.md别依赖聊天记录。项目约束、测试要求、架构规则写一次之后每次会话自动带上。但别写成百科全书太长会稀释重点、增加成本。第三长会话定期看/usage必要时/compress。Hermes 依赖稳定的系统提示前缀来命中缓存频繁改模型、改系统提示、改上下文文件会提高成本。第四对不可信代码用隔离环境优先 Docker 这类方案而不是默认本地 terminal。如果你还没拿到 Key去 https://taotoken.net/api-keys 创建一个。接入文档在 https://taotoken.net/doc 里面有完整的 base URL 和模型 ID 说明。想先试模型通不通用模型对话页 https://taotoken.net/models 。如果你打算长期跑编码和 Agent 任务Coding Plan 页面 https://taotoken.net/coding-plan 有更细的通道说明。把.env里的三件套固定下来——Base URL 填https://taotoken.net/apiKey 填你的 TaoToken KeyModel ID 用通道支持的名称——CLI、MCP、Gateway、cron 全部复用这一套。以后换模型只改 Model ID换 Key 只改一处不用每个入口重新配。
返回列表