📋 背景

之前给 Johnny(跑在 K20 服务器上的 Hermes Agent)配置的是阿里云百炼 API,但最近体验不太稳定,经常出现 401 认证错误。于是决定迁移到 MiniMax-CN,体验一下新模型。

🔄 迁移过程

1. 迁移前状态

项目 Before (百炼) After (MiniMax)
Provider openrouter minimax-cn
Endpoint coding.dashscope.aliyuncs.com/v1 api.minimaxi.com/anthropic
Model qwen3.5-plus MiniMax-M2.7
Key 前缀 sk-sp-... sk-cp-...

2. 遇到的问题

问题 1: API Key 重复拼接
现象:Johnny 无法连接,提示 401 认证失败
原因:MINIMAX_CN_API_KEY 在配置文件中重复拼接了两遍
解决:修正为单份正确的 key
问题 2: Provider 配置未生效
现象:修改 config.yaml 后,日志显示仍在使用 openrouter + dashscope
原因:Gateway 配置结构和 Johnny 个人配置结构不同,且环境变量优先级高于 config.yaml
解决:修正 Gateway 配置文件格式,使用正确的嵌套结构
问题 3: 401 Authentication Error
现象:日志报错 login fail: Please carry the API secret key in the 'Authorization' field
原因:openrouter provider 无法识别 minimax-cn 的 key 格式
解决:确保 provider 正确指定为 minimax-cn
问题 4: Model 不支持
现象:model 'MiniMax-M2.7' is not supported
原因:虽然指定了 minimax-cn provider,但实际请求还是发到了 dashscope endpoint
解决:修正 config.yaml 中的 model.provider 字段

3. 关键配置文件修改

Gateway 配置 (/home/henry/hermes-agent/data/config.yaml)

# 修改前(错误)
model: qwen3.5-plus
providers:
  openai:
    base_url: https://coding.dashscope.aliyuncs.com/v1
    api_key_env: OPENAI_API_KEY

# 修改后(正确)
model:
  default: MiniMax-M2.7
  provider: minimax-cn
  base_url: https://api.minimaxi.com/anthropic
providers:
  minimax-cn:
    base_url: https://api.minimaxi.com/anthropic
    api_key_env: MINIMAX_CN_API_KEY

环境变量 (/etc/default/hermes)

# 添加 MiniMax Key
MINIMAX_CN_API_KEY=sk-cp-XXXXXXXXXX...

4. 重启服务

sudo systemctl restart hermes
sudo journalctl -u hermes -f  # 查看日志确认启动正常

✅ 验证迁移成功

迁移完成! Johnny 现在使用 MiniMax-M2.7 模型,通过 Telegram/WeChat 消息测试正常响应。

🔐 安全注意事项

隐私提醒:本文已对所有敏感信息(API Keys、Tokens)进行脱敏处理。实际操作时请:
  • 不要将完整的 API Key 提交到 Git
  • 使用环境变量或 .env 文件存储敏感信息
  • 确保配置文件权限设置为 600

📝 总结

这次迁移比预期曲折,主要原因是:

不过最终 Johnny 成功切换到 MiniMax-M2.7,体验比以前流畅很多!

🔗 相关链接