编辑 ~/.hermes/.env,添加:
ARK_API_KEY=你的API-Key
编辑 ~/.hermes/config.yaml,找到文件顶部的 model: 部分,替换为以下内容:
model:
default: glm-4.7 # 模型 ID,见下方模型列表
provider: custom
base_url: https://ark.cn-beijing.volces.com/api/coding/v3 # 注意带 /coding/
api_key: ${ARK_API_KEY} # 引用 .env 中的环境变量
providers: {}
fallback_providers: []以下是一份完整的 config.yaml 示例,供参考(仅展示需要修改的顶部区域,其余配置保持不变):
# -------- 顶部:模型配置 --------
model:
default: glm-4.7
provider: custom
base_url: https://ark.cn-beijing.volces.com/api/coding/v3
api_key: ${ARK_API_KEY}
providers: {}
fallback_providers: []
credential_pool_strategies: {}
# -------- 以下为其他配置,保持不变 --------
toolsets:
- hermes-cli
agent:
max_turns: 90
# ... 其余省略重要:Coding Plan 的 base_url 必须带
/coding/。如果误用https://ark.cn-beijing.volces.com/api/v3(不带 coding),请求会走 按量计费 而非套餐额度。
# 终止旧进程
kill -9 $(pgrep -f 'hermes_cli.main gateway')
# 重新启动
cd ~/.hermes/hermes-agent
./venv/bin/python -m hermes_cli.main gateway run --replace &切换模型只需修改 config.yaml 中 default: 的值,不需要重启 gateway。
| 模型 | Model ID | 说明 |
|---|---|---|
| Auto 智能调度 | ark-code-latest |
方舟自动选择最优模型,推荐日常使用 |
| Doubao-Seed-2.0-Code | doubao-seed-2.0-code |
豆包代码专用模型 |
| Doubao-Seed-2.0-Pro | doubao-seed-2.0-pro |
豆包 Pro 版,支持多模态 |
| Doubao-Seed-2.0-Lite | doubao-seed-2.0-lite |
豆包轻量版,速度快 |
| Doubao-Seed-Code | doubao-seed-code |
豆包代码模型(初代) |
| GLM-4.7 | glm-4.7 |
智谱编程优化版 |
| DeepSeek-V3.2 | deepseek-v3.2 |
DeepSeek 旗舰模型 |
| Kimi-K2.5 | kimi-k2.5 |
Kimi 编程模型(替代已下线的 K2-Thinking) |
| MiniMax-M2.5 | minimax-m2.5 |
MiniMax 模型 |
Gateway 有一个 gateway_notify_interval(默认 600 秒)配置,agent 运行期间每隔该时间向飞书发一次心跳。如果 agent 卡在 API 重试循环中(如模型 max_tokens 参数超出限制),通知会一直发送。
解决方法:确认所用模型的 output token 上限,并检查 ~/.hermes/hermes-agent/tools/session_search_tool.py 中的 MAX_SUMMARY_TOKENS 是否超出该限制。
- Context Window(上下文窗口)= 输入 + 输出的总 token 量,如 128K、256K
max_tokens(API 参数)= 模型单次回复最多生成的 token 数
两者是不同概念。DeepSeek 的 max_tokens 上限为 8192,而 GLM-4.7 可达 128K。
curl -s https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你的API-Key" \
-d '{"model":"glm-4.7","messages":[{"role":"user","content":"你好,回复OK即可"}],"max_tokens":10}'返回 HTTP 200 且 content 包含回复内容即为成功。