第43篇:Nous 工具网关——300+ 模型入口
Hermes 功能详解第43篇:Nous Tool Gateway。一站式模型与工具服务。
第43篇:Nous 工具网关——300+ 模型入口
兄弟们,今天咱们聊点省心的。你有没有过这种经历:想换个模型试试,结果发现要挨个去注册、充值、配API Key,折腾半天还没开始写代码就累了?
Hermes 这次直接给你开了个“后门”——Nous Portal,一个订阅,300+ 模型随便挑。装好 Hermes 后,一行命令搞定登录和配置:
hermes setup --portal
跑完这条,Nous 就成了你的默认供应商。想看看当前接入了哪些模型?再敲一条:
hermes portal info
想看得更全一点,还可以跑:
hermes status --full # 完整系统状态(Tool Gateway 只是其中一节)
而且订阅用户还有额外福利:用其他按量计费的供应商时,永久打9折。这波不亏。
模型槽位:主模型 vs 辅助模型
Hermes 把模型分成了两类:
- 主模型(Main model):负责“思考”。你发的每句话、工具调用的每个循环、流式输出的每个字,都走它。
- 辅助模型(Auxiliary models):干杂活的。比如上下文压缩、图片分析、网页摘要、审批打分、MCP工具路由、会话标题生成、技能搜索——一共11个槽位,每个都能单独指定模型。
默认情况下,所有辅助任务都是 auto,意思就是“主模型能干的活我也干”。但如果你想省钱或者提速,完全可以给某个杂活单独换个便宜的小模型。
在仪表盘里配模型
打开 Dashboard,点侧边栏的 Models,你会看到两个区域:
- Model Settings——顶部面板,给各个槽位分配模型。
- Usage analytics——按使用量排名的卡片,显示每个模型的 token 消耗、费用和能力标签。
主模型那行,点 Change 打开选择器。左边是已认证的供应商(没配过 Key 的不会出现),右边是精选模型列表——注意,这不是供应商的原始 /models 接口全量转储(OpenRouter 那个接口能返回400多个模型,包括 TTS、图像生成器、重排序器这些非智能体模型),而是 Hermes 针对该供应商推荐的智能体模型。
选好模型,点 Switch,Hermes 会把它写进 ~/.hermes/config.yaml。注意:这只对新会话生效。已经打开的聊天窗口还是用原来的模型。想热切换?在会话里用 /model 斜杠命令。
中途换模型的代价
如果你在活跃会话中途换模型,Hermes 会估算你的下一条消息是否需要对新的模型窗口做“预检上下文压缩”。如果会话已经接近或超过新模型的压缩阈值,切换回复里会带警告。
但更关键的是:中途换模型会重置提示缓存。因为缓存是按模型区分的,一旦换了模型,下一条消息就得按全价重新读一遍整个对话(本来缓存能打75%~90%的折扣)。长会话里,这一下重读的费用可能比两个模型之间的单价差还大。所以——能早换就早换,最好开新会话再换。
图像模型的小补充
Krea 3(能生成也能编辑已有图片,最多 4 张参考图,带 thinking 和 resolution 控制)、Krea 2(Medium、Large、Medium Turbo,最多支持 10 张风格参考图,还能选 Enhance 放大)和 Nous Portal 自家的图像模型,现在都躺在同一个 Nous Subscription 选择器里,不再单开一行。每个模型只出现一次,选 Krea 的 id(比如 krea-2-medium)时请求会走 Krea 网关而不是 FAL,配置上还是 image_gen.provider: nous 加个模型 id 就完事。注意 Krea 和 Portal 的模型需要付费订阅,免费工具池只覆盖 FAL 那批。
这一行 Nous Subscription 现在一口气横跨了 FAL 目录、原生 Krea 模型和 Nous Portal 图像模型:Krea 3、FLUX 2、GPT Image、Nano Banana、Seedream、Ideogram、Recraft、Qwen、Krea 2 等等。模型只在 hermes tools 里选一次,那里显示的是实时列表。
关于这个模型选择,有几个点要记牢:
- 模型只在
hermes tools→ Image Generation 里选一次,存进config.yaml的image_gen.model。 - 之后每次
image_generate调用都用这个存好的模型——这个工具没有 model 参数,所以没法按次覆盖。 - 不设置的话,付费订阅默认用 Krea 3,免费工具池默认用 FLUX 2 Klein 9B。
- 存下来的 id 决定请求走哪个网关:原生 Krea id(
krea-3、krea-2-medium、krea-2-large、krea-2-medium-turbo)走 Krea 网关,FAL 目录 id 走 FAL,其他任何 id 走 Nous Portal。配置上依旧只是image_gen.provider: nous加模型 id。 - 如果 Krea 网关在开工前就拒了请求(连不上,或者网关自己重试完还是 429),Hermes 会自动改用 FAL 默认模型重跑一遍,结果里会带
fallback_from说明这一点;想关掉就设image_gen.krea.fallback_to_fal: false。带源图的请求永远不会走这个回退。 - 通过 FAL 走的 Krea id(
fal-ai/krea/v2/...)仍然留在直连 FAL.ai 那一行。
模型 id、速度、价格都在 Image Generation 页面。这个集合一直在变——hermes tools → Image Generation 里能看到当前实时列表。
多个连接器账号
连接器(Connectors)指的是 Gmail 这类托管应用,Agent 通过 Nous 工具网关去访问它们(详见 Tool Search → Connectors)。同一个应用你可以连两个或更多账号,比如一个 Gmail home、一个 Gmail work。
- 命名。 每个账号的名字是 1 到 32 个字符:小写字母、数字或
-,开头必须是字母或数字。没命名的账号会显示应用自己的账号标签。 - 没有默认账号。 任何账号都不是默认。当你让 Agent 用某个有多个命名账号的应用时,它必须问清楚是哪一个。
- 新账号由 Agent 命名。 它会根据你说的话取名字,拿不准就问你。取完会告诉你它选的名字,比如“Hermes 把这个 Gmail 账号命名为 work,随时可以改名。”桌面端、TUI 和经典 CLI 都会显示这一行。
- 改名。 随时可以自己改,也可以让 Agent 改。改名需要 Nous Portal 版本支持;不支持时你会看到“This Nous Portal cannot rename connector accounts yet.”
- 重连不删东西。 重连一个坏掉的账号,会用同名的新账号替换它,旧账号保留为 retired(已禁用)。retired 账号仍然列出来,只是折叠起来。
- 删除是你的事。 账号只能你自己删,一次删一个。Agent 永远不会替你删。
一旦某个连接器有两个或更多活跃账号,该连接器的每个工具都会多一个 connector_alias 字段,可选值就是你的账号名。当所有活跃账号都已命名时,这个字段必填;有未命名账号时可选。
如果多个账号都已命名而 Agent 漏了这个字段,或者填了一个不存在的名字,调用就会失败,错误信息里会列出合法名字。结果里会报告它运行在哪个 account 下(前提是该账号已命名);未命名账号则不带这个字段。
账号可以在这些地方管理:
- 桌面端的 Connectors 页面。
- TUI:
/connectors(见 Slash Commands)。 - CLI:
hermes connectors(见 CLI Commands)。 - Nous Portal。
混用自己的 Key 和网关(仅限网页工具)
网页搜索和网页提取可以各自选自己的路线。在桌面端打开 Capabilities → Tools → Web Search & Scraping:Nous Subscription 那一行上的 Use for Search / Use for Extract 会把对应能力走网关,而直连行(比如 Firecrawl)上的同款按钮则走你自己的 Key。顶部的 Search: / Extract: 小标签会显示当前各自走哪条路。在 config.yaml 里,托管选择就是对应能力键上的值 nous:
web:
search_backend: firecrawl # 用你的 FIRECRAWL_API_KEY
extract_backend: nous # Nous Tool Gateway(托管的 Firecrawl)
给整个工具选 Nous Subscription(或者跑一遍 hermes tools)会清掉这两个按能力的键,搜索和提取就都回到网关上。
数据训练分级的坑
有些模型(比如 muse-spark-1.2-contributor)因为供应商可能拿你的数据训练,所以价格便宜。交互式选择时会有确认弹窗,但无人值守的启动路径(比如 Kanban worker、cron agent)没法弹窗问人,所以默认直接拒绝。
如果你能接受无人值守任务的数据被训练,可以记录一个持久确认:
hermes config set security.allow_data_training_tiers_noninteractive true
Hermes 每次无人值守启动时仍会打印完整的数据政策警告和确认键,方便审计。想撤销就:
hermes config unset security.allow_data_training_tiers_noninteractive
小提醒:model: 的两种形态
新装的 Hermes,config.yaml 里 model 是空字符串 "",表示“还没配置”。第一次跑 hermes setup 或 hermes model 时,它会自动升级成带 provider、default、base_url、api_mode 的字典结构。如果你哪天看到 config.yaml 里是空字符串,跑一下 hermes model 或者在 Dashboard 里点 Change,它会帮你写回字典格式。
好了,去试试 Nous Portal 吧,300多个模型入口,一键接入,省下的时间够你多写两个 Agent 了。
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features/tool-gateway