Hermes
Hermes Agent 是 Nous Research 开源的终端 AI Agent。它可以通过 Custom Endpoint 指向 /v1 Chat API 接入 XInfera。
开始之前
请先准备:
- 本地已安装 Hermes Agent。
- 已在 XInfera 控制台创建 API Key。
- 已选择当前 API 密钥可访问的模型 ID。可以在 模型广场查看,或调用
GET /v1/models。
安装 Hermes Agent
请根据 Hermes Agent 官方说明完成安装。
安装完成后,确认命令可用:
hermes --version
如果提示 command not found,请重启终端,并确认安装路径已经加入 PATH。
方式一:配置 Custom Endpoint(推荐)
如果你希望配置由 Hermes 保存,并在之后的会话中继续使用,推荐通过 Hermes Agent 的模型配置流程完成接入。
第 1 步:打开模型配置
运行:
hermes model
第 2 步:添加 XInfera Custom Endpoint
在交互式菜单中选择 custom endpoint 选项,然后填写:
| 字段 | 值 |
|---|---|
| Endpoint / Base URL | https://api.xinfera.cn/v1 |
| API Key | sk-YOUR_API_KEY |
| Model | GET /v1/models 返回的模型 ID,例如 deepseek-v4-flash |
填写完成后保存配置。
第 3 步:验证配置
启动 Hermes Agent:
hermes
发送一个短提示词:
用一句话确认 XInfera 已连接。
如果请求成功,说明 Custom Endpoint 配置已生效。
方式二:配置 config.yaml
如果你希望直接编辑配置文件、而不是走 hermes model 交互流程,可以通过 config.yaml 接入 XInfera。
Hermes 的配置目录为 ~/.hermes/:
| 文件 | 用途 |
|---|---|
~/.hermes/config.yaml | 模型、provider 和行为设置 |
~/.hermes/.env | API Key 等密钥 |
第 1 步:创建配置目录
Linux / macOS / WSL2
mkdir -p ~/.hermes
touch ~/.hermes/config.yaml ~/.hermes/.env
第 2 步:添加 XInfera provider 配置
打开 ~/.hermes/config.yaml,添加或合并下面的配置。如果文件中已有其他设置,请合并这些块,不要覆盖整个文件。
custom_providers:
- name: xinfera
base_url: https://api.xinfera.cn/v1
key_env: XINFERA_API_KEY
model:
default: deepseek-v4-flash
provider: custom:xinfera
将 deepseek-v4-flash 替换为 GET /v1/models 返回的模型 ID。
打开 ~/.hermes/.env,写入 key_env 引用的 API Key。Hermes 要求密钥放在 .env,不要写入 config.yaml。
XINFERA_API_KEY=sk-YOUR_API_KEY
第 3 步:验证配置
启动 Hermes Agent:
hermes
发送一个短提示词:
用一句话确认 XInfera 已连接。
如果请求成功,说明 config.yaml 配置已生效。
常见问题
1. hermes command not found
Hermes Agent 未正确安装,或可执行文件不在 PATH 中。请重新安装、重启终端,并运行 hermes --version 验证。Windows 用户请在 WSL2 中运行 Hermes Agent。
2. 401 Unauthorized
检查 ~/.hermes/.env 中的 API Key(XINFERA_API_KEY),并移除交互式表单或 config.yaml 中多余的空格和引号。
3. 404 endpoint 错误
Custom Endpoint 配置请使用 https://api.xinfera.cn/v1。除非 Hermes 明确要求不带 /v1 的 provider endpoint,否则不要使用 https://api.xinfera.cn。
4. 模型不可用或 Agent 动作失败
使用同一个 API 密钥调用 GET /v1/models,选择返回结果里的模型 ID。如果普通对话可用,但 Agent 动作失败,请切换到推理、工具调用或长上下文能力更强的模型。