全部命令在 PowerShell(管理员) 里跑。每条命令前面带
① ② ③编号,照着顺序复制粘贴即可。
打开 https://nodejs.org/ ,下 Node 22 LTS 或更新,全部默认安装。
装完新开 PowerShell,验证:
node -v
npm -v
输出像 v22.x.x 和 10.x.x 就行。
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
hermes --version
期望看到一行类似:
Hermes Agent v0.18.2 (2026.7.7.2) · upstream f8361d29 · local a0972b97 (+3 carried commits)
找到 Hermes 的配置目录
Hermes 把配置文件放在用户目录下:
& $hermes config path # → C:\Users\Administrator\AppData\Local\hermes\config.yaml
& $hermes config env-path # → C:\Users\Administrator\AppData\Local\hermes\.env
如果两个文件还不存在,先用 wizard 走一遍把 .env 模板生成出来(也可以直接复制下面的内容):
# 第一次才需要;会让 .env 缺失告警消失
& $hermes setup --quick
# 不愿意交互的,直接拷贝模板即可
copy "$hermes\..\hermes-agent\.env.example" "$env:LOCALAPPDATA\hermes\.env" /Y
copy "$hermes\..\hermes-agent\cli-config.yaml.example" "$env:LOCALAPPDATA\hermes\config.yaml" /Y
Tip:
hermes setup --quick只会补缺失项,已经填好的键不会动,可以放心重跑。
https://api.ai-pioneer.cn/v1sk-ZDUcMtXm 开头在 .env 末尾追加下面这一段(其它 provider 的注释行不用删,留着以后切别的备用):
$envFile = "$env:LOCALAPPDATA\hermes\.env"
$baseUrl = "https://api.ai-pioneer.cn/v1"
$apiKey = "替换sk-擎创云 API密钥"
@"
# =============================
# ai-pioneer PROVIDER (擎创云)
# =============================
ai-pioneer_BASE_URL=$baseUrl
ai-pioneer_API_KEY=$apiKey
"@ | Add-Content -Path $envFile -Encoding UTF8
config.yaml 用 YAML 直接读环境变量:
$cfg = "$env:LOCALAPPDATA\hermes\config.yaml"
$yaml = @"
# =============================
# 擎创云(OpenAI 兼容)
# =============================
providers:
ai-pioneer:
base_url: "https://api.ai-pioneer.cn/v1"
api_key: "${ai-pioneer_API_KEY}"
models:
- id: "claude-opus-4-8"
name: "Claude Opus 4.8"
- id: "deepseek-v4-flash"
name: "DeepSeek V4 Flash"
- id: "deepseek-v4-pro"
name: "DeepSeek V4 Pro"
- id: "glm-5.2"
name: "GLM 5.2"
- id: "MiniMax-M3"
name: "MiniMax-M3"
model:
provider: "custom" # 任意 OpenAI 兼容端点都走 custom
base_url: "https://api.ai-pioneer.cn/v1"
api_key: "${ai-pioneer_API_KEY}"
default: "deepseek-v4-flash"
"@ | Add-Content -Path $cfg -Encoding UTF8
Hermes 会按顺序解析:环境变量 →
config.yaml→ 命令行--model/--provider覆盖。所以这里把 Key 放到.env、URL 放config.yaml,切换起来最干净。
期望看到 doctor 不再报 .env file missing:
& $hermes doctor
跑一句最便宜的模型试链路:
& $hermes chat --model "deepseek-v4-flash" --message "用一句话中文自我介绍,证明连接成功"
日志里有 status=200、模型返回中文,就算通。如果返回空,去 https://api.ai-pioneer.cn充钱或换正式 Key。
直接走 custom provider 不带 --model:
& $hermes chat -m "glm-5.2" -z "你好"
不进交互模式,单轮返回:
& $hermes chat --model "MiniMax-M3" --message "ping"
# 改完再写回 config.yaml,或者用 hermes config set
& $hermes config set model.default deepseek-v4-pro
& $hermes config set model.default MiniMax-M3
& $hermes config set model.default claude-opus-4-8
& $hermes config set model.default glm-5.2
& $hermes chat --model glm-5.2 -z "你好"
& $hermes chat --model claude-opus-4-8 -z "你好"
& $hermes chat --model MiniMax-M3 -z "hi"
& $hermes config show | Select-String -Pattern "default|provider|base_url"
或者直接读文件:
Select-String -Path "$env:LOCALAPPDATA\hermes\config.yaml" -Pattern "default:|provider:|base_url:"
用 ③ 那一段 YAML,把 providers.ai-pioneer.models 数组里加一行:
- id: "新模型id"
name: "显示名"
加完跑一下:
& $hermes doctor
& $hermes chat --model "新模型id" -z "ping"
| 报错 | 处理 |
|---|---|
hermes: command not found |
把 C:\Users\Administrator\AppData\Local\hermes\hermes-agent\venv\Scripts 加到 PATH,或每次用全路径 |
.env file missing |
回到 ② 跑 hermes setup --quick 或手动 copy .env.example .env |
Provider "custom" not found |
升到 v0.18.0+;老版本只认识 openrouter 等内置名 |
fetch failed / ECONNREFUSED |
清代理:$env:HTTP_PROXY=''; $env:HTTPS_PROXY=''; $env:ALL_PROXY=''; $env:NO_PROXY='*',再重试 |
status=200 但回复空 |
余额不足,去 https://api.ai-pioneer.cn 充值或换正式 Key |