3. 跑起来:接云端 API 或本地模型
这是什么:模型提供商(provider) = Hermes Agent 背后真正干活的 LLM;本地模型 = 跑在你自己机器上、不联网的 OpenAI 兼容端点。
为什么用:装好 Hermes 只是空壳,不接模型它连「你好」都回不了。而选云端还是本地,是隐私、费用、速度的取舍,值得花五分钟想清楚。
如何用:本章先用 hermes model 接一家云端 API 跑通对话,再演示接本地 Ollama 的完整流程。
3.1 第一步:选提供商
hermes model
这条命令是完整的提供商向导:能新增提供商、跑 OAuth、要 API Key、配自建端点。
⚠️ 高频踩坑:
hermes model和会话里的/model不是一回事。
hermes model(终端里跑)→ 完整向导,能新增提供商、跑 OAuth/model(会话里敲)→ 只能在已配好的提供商间切换想加新提供商,先
/quit退出再回终端跑。
常用提供商速查:
| 提供商 | 需要什么 | 备注 |
|---|---|---|
| Nous Portal | OAuth 登录 | 官方推荐,覆盖 300+ 模型和工具 |
| OpenRouter | API Key | 一个 Key 打通几十家模型 |
| Anthropic | OAuth 或 API Key | Claude 直连 |
| OpenAI Codex | 设备码登录 | 用 ChatGPT / Codex 订阅 |
| Google AI Studio | GOOGLE_API_KEY |
Gemini |
| DeepSeek / Kimi / MiniMax / 智谱 | 对应 API Key | 国内直连 |
| Ollama Cloud / LM Studio | OLLAMA_API_KEY / LM_BASE_URL |
托管或本地 |
| Custom Endpoint | Base URL + Key | 任意 OpenAI 兼容端点 |
3.2 云端路线:最快三分钟
hermes setup --portal
一条命令:浏览器 OAuth 登录 → Nous 变成默认提供商 → Tool Gateway 打开(搜索、图像、TTS、云浏览器全走订阅)。
不想订阅 Nous?走 OpenRouter:
hermes model
# 选 OpenRouter → 粘贴 sk-or-... → 挑一个模型 → 保存
配完验证:hermes config get model.default。
3.3 本地路线:Ollama 全流程
本地跑的意思是:每句话都不出本机,也不花一分 API 费。代价是得有显卡,模型能力弱于云端。
① 装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama --version
curl http://localhost:11434/api/tags # 应返回 {"models":[]}
② 拉一个模型
ollama pull gemma4:31b
🔑 工具调用是命门。Hermes 靠工具调用才能改文件、跑命令。一旦要动手,必须选支持工具调用的模型。
③ 配置 Hermes
hermes setup
选 Custom Endpoint,Base URL 填 http://localhost:11434/v1,API Key 留空,Model 填你拉下来的模型名。也可直接改 ~/.hermes/config.yaml:
model:
default: "gemma4:31b"
provider: "custom"
base_url: "http://localhost:11434/v1"
④ 上下文窗口要调大
Ollama 默认只有 2048 token,对 Agent 太小:
cat > /tmp/Modelfile << 'EOF'
FROM gemma4:31b
PARAMETER num_ctx 16384
EOF
ollama create gemma4-16k -f /tmp/Modelfile
再把配置里的模型名换成 gemma4-16k。
📏 硬门槛:上下文至少 64K token。 低于这个数启动时直接拒绝——它需要这么大的工作记忆维持多步工具调用。
⑤ 纯 CPU 太慢?放宽超时
# ~/.hermes/.env
HERMES_API_TIMEOUT=1800
3.4 第一次对话
hermes # 经典 CLI
hermes --tui # 新版终端 UI,带浮层和鼠标选择
启动后你会看到(示意):
Hermes · model: gemma4:16k (custom)
tools: terminal, file, web | skills: 42 loaded
>
给个容易验证的指令,比如「列出当前目录下的 Python 文件,数一下每个有几行代码」。成功后你会看到它调工具、拿结果、再汇总。敲 / 弹出命令补全:
| 命令 | 作用 |
|---|---|
/help |
看全部命令 |
/tools |
列出可用工具 |
/model / /skills |
切换模型 / 浏览技能 |
/compress |
压缩上下文 |
/usage |
看用量限额 |
多行输入按 Alt+Enter。
3.5 验证会话记忆
关掉,再回来:
hermes --continue # 短写:hermes -c
能接上刚才的对话,说明会话持久化正常。这一步别跳过——它是后面多 profile、多设备的地基。
3.6 花钱对比与混合策略
| 提供商 | 单次会话(约 10 万输入 + 2 万输出) | 每天用的月度成本 |
|---|---|---|
| Anthropic Claude Sonnet | ~$0.80 | ~$24 |
| OpenRouter(GPT-4o) | ~$0.60 | ~$18 |
| Ollama(本地) | $0.00 | $0.00 |
省钱最佳姿势不是二选一,而是本地跑日常、遇硬骨头再回退云端:
model:
default: "gemma4:31b"
provider: "custom"
base_url: "http://localhost:11434/v1"
fallback_providers:
- provider: openrouter
model: anthropic/claude-sonnet-4
本地连续失败几次,Hermes 会自动切云端。
动手改
- 跑一次
hermes model配好模型,再用hermes config get读出模型名。 - 起一次对话,让它读一个真实文件并回答其中一行——确认工具调用真通了。
- 退出后用
hermes -c恢复会话;再试hermes -z "用一句话介绍你自己",体验单次调用。
小结
hermes model= 完整提供商向导;会话里的/model只能切已配好的- 云端最快路径:
hermes setup --portal(一个订阅覆盖模型 + 工具) - 本地路径:Ollama → 拉模型 → Custom Endpoint(
http://localhost:11434/v1) - 上下文必须 ≥ 64K,这是启动硬门槛;纯 CPU 记得设
HERMES_API_TIMEOUT - 进场
hermes/hermes --tui,恢复hermes -c,脚本单次hermes -z - 最省钱:本地默认 +
fallback_providers云端兜底
下一章:技能 Skills:会自我进化的 Agent 🐸