Hermes Agent

通过 hermes model 向导或 ~/.hermes/config.yaml,将本服务配置为 Hermes 的命名自定义服务商。

1. 准备 API Key、模型和接口类型

  1. 1在 API Key 页面创建密钥。
  2. 2在模型定价页面复制准确的模型 ID。
  3. 3根据模型实际接口选择 Hermes transport 和 Base URL。
模型接口Hermes transportBase URL
/v1/chat/completionschat_completionshttps://ikun.love/v1
/v1/responsescodex_responseshttps://ikun.love/v1
/v1/messagesanthropic_messageshttps://ikun.love

2. 推荐:使用 hermes model 向导

在 Hermes 会话外的系统终端运行完整服务商配置向导:

终端
hermes model
  1. 1选择 Custom endpoint。
  2. 2输入与接口匹配的 Base URL。
  3. 3输入 API Key 和准确模型 ID。
  4. 4选择 API compatibility mode:Chat Completions 使用 chat_completions,Responses 使用 codex_responses,Anthropic Messages 使用 anthropic_messages。
  5. 5保存并退出向导。

3. 手动配置

3.1 保存密钥

系统密钥文件
Windows%USERPROFILE%\.hermes\.env
macOS / Linux~/.hermes/.env
.env
ALLTOKEN_API_KEY=此处替换为 API Key

也可以让 Hermes 将密钥写入自己的 .env:

终端
hermes config set ALLTOKEN_API_KEY "此处替换为 API Key"

3.2 编辑 config.yaml

以下示例按 Chat Completions 编写。Responses 模型请把 transport 改为 codex_responses;Anthropic Messages 模型还要把 api 改为不带 /v1 的服务根地址。

~/.hermes/config.yaml
providers:
  alltokenapi:
    api: https://ikun.love/v1
    key_env: ALLTOKEN_API_KEY
    transport: chat_completions
    default_model: 此处替换为准确的模型 ID

model:
  provider: custom:alltokenapi
  default: 此处替换为准确的模型 ID

将配置合并到现有 config.yaml,不要覆盖终端、工具、Gateway 或其他服务商设置。

如果希望端点不请求 /models,可在服务商配置中增加:

config.yaml
providers:
  alltokenapi:
    discover_models: false

如果希望在配置中直接引用环境变量,也支持:

config.yaml
providers:
  alltokenapi:
    api_key: ${ALLTOKEN_API_KEY}

不过 key_env: ALLTOKEN_API_KEY 更适合当前 providers 格式。${VAR} 和 ${env:VAR} 都能解析;变量缺失时 Hermes 会保留占位符并记录警告,而不是静默使用空值。

4. 验证配置

先确认当前配置和密钥文件路径,再检查服务商与最终模型路由。

配置检查
hermes config path
hermes config env-path
hermes config check
hermes config get providers.alltokenapi --json
hermes config get model --json
hermes status

最后执行一次最小请求,并到使用日志确认实际模型、接口和请求状态。

最小请求
hermes -z "只回复 OK"
打开使用日志

5. 配置何时生效

  • 新启动的 CLI 会话会读取新配置。
  • 已经运行的会话继续使用创建时的模型;会话内可用 /model 切换已配置服务商。
  • Messaging Gateway 的新会话读取新默认模型。

需要强制所有会话重新读取时,运行:

终端
hermes gateway restart

6. 常见问题

404 或接口路径错误

  • chat_completions 和 codex_responses 的 api 通常以 /v1 结尾。
  • anthropic_messages 使用服务根地址,由 Hermes 拼接 /v1/messages。
  • transport 留空时 Hermes 会尝试按 URL 自动判断,但中转地址通常无法可靠反映协议,建议显式设置。

Hermes 仍使用旧服务商

  • model.provider 必须为 custom:alltokenapi,不是 alltokenapi 或 custom。
  • model.default 与 providers.alltokenapi.default_model 应使用相同的准确模型 ID。
  • 已运行会话不会自动切换,启动新会话或使用 /model。

认证失败

  • 运行 hermes config env-path,确认密钥写入当前 Profile 的 .env。
  • 检查 key_env 拼写与 .env 中的变量名一致。
  • 如果 Hermes 以服务方式运行,重启 Gateway 以重新载入密钥环境。

普通对话成功但 Agent 工具调用失败

  • 确认模型支持 Tool Calling。
  • 确认 transport 与模型实际接口一致。
  • Responses 接口必须使用 codex_responses,不能用 chat_completions 侥幸兼容。

7. 官方参考