Home
avatar

麒麟剑

拒绝被厂商绑架:模型无关架构与多模型配置实战

拒绝被厂商绑架:模型无关架构与多模型配置实战

一个残酷的事实:大多数 AI 编码工具把你锁死在某一家模型上。Claude 涨价?你没得选。GPT 出新版?你等厂商适配。你的整个工作流,绑在别人的定价策略和路线图里。

Hermes Agent 的设计哲学恰恰相反——模型无关(model-agnostic)。框架是框架,模型是模型,谁便宜、谁好用、谁本地能跑,你就用谁。Claude / GPT / Gemini / DeepSeek / Ollama,一句话切过去,你的记忆、技能、工具全都不动。

这才是”数字员工军团”该有的底气:员工是你的,脑子可以随时换。

为什么”模型无关”是护城河

Hermes 模型服务商配置:云端与本地模型 API Key 配置及测试 ▲ Hermes 模型服务商配置:云端与本地模型 API Key 配置及测试

把模型当成可替换的”计算单元”,而不是产品本身,带来三个实打实的好处:

  1. 不被涨价绑架:某家 API 提价,切到另一家,工作流零中断。
  2. 任务匹配最优模型:难推理用 Opus, cheap 提取用 Flash,本地敏感数据用 Ollama——各取所长。
  3. 数据主权:敏感任务走本地模型,数据不出机。

下面以 Astral API Platformhttps://api.chatallais.com)为例,走一遍「注册拿 Key → 在 Hermes Desktop 里填好」的完整流程。

第一步:注册并创建 API Key

打开 https://api.chatallais.com 注册账号,登录后进入左侧 常规 → API 密钥,点击右上角 「+ 创建 API 密钥」。给密钥起个名字(比如 Hermes),创建成功后复制完整的 sk- 开头密钥——只显示一次,务必当场保存

在 Astral API Platform 创建并复制 API 密钥

第二步:在 Hermes Desktop 添加自定义服务商

回到 Hermes Desktop,按界面提示选择「添加自定义服务商」,逐项填入:

字段填写内容
名称Astral(或任意你喜欢的名字)
接口格式OpenAI 兼容
Base URLhttps://api.chatallais.com/v1
API Key粘贴上一步复制的 sk- 密钥
默认模型先填 deepseek-v4-flash,再点 「刷新模型列表」 确认可用

填好后点击 「添加并选中」,Hermes 就会用这个服务商作为默认模型来源。

在 Hermes Desktop 添加 Astral 自定义服务商并填入 API Key

💡 小提示:Base URL 末尾的 /v1 不要漏;如果刷新模型列表失败,先检查网络能否访问 api.chatallais.com,再确认 API Key 是否复制完整。配置成功后,直接 新建一条任务 就能开始第一句对话了。

Hermes 列出的支持 provider:

Provider说明
Nous Portal官方聚合网关,300+ 模型,订阅 token 9 折
OpenRouter聚合多家,按模型选
OpenAIGPT 系列
AnthropicClaude 系列
GoogleGemini 系列
xAIGrok 系列
MiniMax国产模型
Zhipu / GLM智谱
Kimi / Moonshot月之暗面
任意 OpenAI-compatible含 Ollama / vLLM / llam.cpp / SGLang 本地

⚠️ 版本/模型目录以最新官方文档为准:https://hermes-agent.nousresearch.com/docs 。简报标注当前版本推断 ≈ v0.14.x(README 无显式语义版本号)。

切换模型的四种姿势

调用层面就四种,够日常用了(简报 §7):

# 1. 交互式选 provider + model
hermes model

# 2. 直接写配置键
hermes config set model anthropic/claude-opus-4.7

# 3. 会话内切换(双界面通用)
/model anthropic/claude-sonnet-4.6 --global    # 全局生效
/model openai/gpt-5 --once                     # 仅下一轮
/model google/gemini-3-pro --session           # 仅当前会话

# 4. 启动即指定
hermes chat --model openrouter/meta-llama/llama-3.1-70b-instruct

/model 的三个作用域要分清:--global 改配置文件永久生效;--once 只改下一轮;--session 只改当前会话。临时试一个模型用 --once 最安全。

config.yaml 主模型键

主模型在 model 段配置:

model:
  provider: nous            # nous | openrouter | openai | anthropic | google | custom ...
  default: anthropic/claude-sonnet-4.6
  base_url: https://inference-api.nousresearch.com/v1
  context_length: 131072

provider 决定走哪条 API 路径,defaultprovider/model-id 格式,base_url 自定义端点(Nous Portal 默认值如上),context_length 必须和模型真实上下文对齐——本地模型尤其重要,见下文坑。

辅助模型分层:11 槽,把成本砍到 1/50

这是省钱的核心设计。主聊天模型用贵的强的;压缩、视觉、网页提取、标题生成、审批、curator、kanban 分解这些”苦力活”,用便宜模型干(简报 §7)。

auxiliary:
  compression:
    model: ""
    provider: "auto"
    fallback_chain:
      - provider: openrouter
        model: openai/gpt-4o-mini
  vision:
    provider: "auto"
    model: "google/gemini-2.5-flash"
  web_extract:
    provider: "auto"
    model: "google/gemini-2.5-flash"
    timeout: 360
  title_generation:
    prefer_fast_model: true

辅助模型共 11 个槽位(简报 §7 列举 compression / vision / web_extract 等,其余如 approval、curator、kanban 分解器同理走廉价模型)。把压缩、网页提取这些高频辅助任务丢给 gpt-4o-mini / gemini-2.5-flash 这类便宜货,辅助成本可降至主模型的 1/50

简报 §17 的真实数据也佐证了分层省钱的威力:RTK 集成省 60–90% 上下文 token;Android+Termux 切换 Hermes+OpenRouter 后 token 支出降约 90%;夜间梦境自我改进约 $0.014/晚。

本地 / 自托管模型(Ollama)

想数据不出机、或者零 API 费,上 Ollama:

model:
  default: qwen3.5:27b
  provider: custom
  base_url: http://localhost:11434/v1

任意 OpenAI-compatible 网关也行(vLLM / llam.cpp / SGLang):

providers:
  my-gateway:
    api: https://llm.internal.example.com/v1
    api_key: sk-...
    discover_models: false
    models: [my-finetune-v2]

⚠️ num_ctx 的坑:Ollama 如果设了 num_ctx(上下文窗口),Hermes 这边的 context_length 必须填成匹配的值,否则窗口对不齐会出诡异截断或报错。

⚠️ 读超时:本地端点慢,Hermes 自动把读超时放宽到 1800s。仍超时的话,设环境变量 HERMES_STREAM_READ_TIMEOUT=1800(秒)。本地大模型第一次生成尤其慢,别急着判它死了。

Per-profile 模型

每个 profile 有独立 config.yaml(简报 §4d / §7)。这意味着你可以让主聊天用 Opus,让某个专门做研究的 profile 用 Gemini,让 kanban 分解任务路由到便宜 specialist profile。多 profile + 不同模型 = 一个军团里每个兵种配不同脑子。

⚠️ prompt-cache 陷阱:会话中切模型 = 隐形烧钱

最重要的一条,必须贴在脑门上(简报 §7):

任何会话中模型变更(包括回退、凭证池轮换),都会重置 prompt-cache 前缀,下一消息全价重读整个上下文。

Hermes 用前缀缓存省 token:系统提示 + 记忆 + 历史上下文,前缀不变就只算一次。一旦你 /model 切了模型,前缀失效,整段上下文按全价重新计费。长会话里这一下可能就是几千 token 的白花。

所以经验法则:

  • 长会话别频繁 /model。要换就在会话开始时换好。
  • 想试不同模型,用 hermes chat --model 开新会话,或 /model --once 只试一轮。
  • 固定工作流用配置文件锁死主模型,别在会话里手抖切。

⚠️ 官方不建议:Agent 内用 Hermes-4 做工具调用

Nous Portal 提供 Hermes-4-70B / 405B,但官方不推荐在 Hermes Agent 内用 Hermes-4 做工具调用(简报 §7)——它调优方向是聊天/推理,不是工具调用循环。工具调用密集的场景,选 Claude / GPT / Gemini 这类更稳。

本节能造出什么数字员工

  • 成本敏感的排产助手:主模型用便宜的,辅助苦力全走 mini/flash,月费砍一大截。
  • 数据不出机的本地 Agent:Ollama 本地跑,敏感业务零外发。
  • 多脑种军团:不同 profile 配不同模型,贵脑定方向、便宜脑干杂活。

模型无关 = 你的数字员工永远用得起、换得动。下一章讲”让它自己干活”——/goal 和定时任务,7×24 不下班。

下篇预告

第 08 章《7×24 不下班:用 /goal 与定时任务让数字员工自主干活》——设一个跨轮长期目标,让 Agent 自己循环推进;再用 cronjob 把它挂成每天定时上岗的员工。你会拿到”每天早 9 点发昨日行业简报”的完整写法。


延伸阅读

Hermes Agent 数字员工 AI智能体 自托管 Nous Research 模型配置 多模型 Ollama Nous Portal