用 WorkBuddy 的 Auto 模式在 Mac 上部署 Hermes Agent,遇到 auxiliary_client 反复报 401 错误,折腾了一整晚。把排查过程和经验教训分享出来,希望能帮到遇到同样问题的朋友。
目标:在 iMac (2014, macOS 11.6 Big Sur) 上部署 Hermes Agent v0.9.0,配置 DeepSeek 作为辅助模型,通过 iLink Bot 接入微信网关。
环境信息:
部署方式:全程使用 WorkBuddy 的 Auto 模式进行,AI 自主执行安装、配置、调试。
这一步很顺利:
bash
复制
# 克隆仓库并安装
git clone https://github.com/xxx/hermes.git ~/hermes_full
cd ~/hermes_full
python3 -m venv venv
source venv/bin/activate
pip install -e .
# 配置 DeepSeek API Key
hermes config set providers.deepseek.api_key sk-xxx安装完成,hermes CLI 正常可用。
配置 iLink Bot 微信网关:
bash
复制
hermes gateway configure \
--ilink-bot-token "your_token" \
--ilink-bot-endpoint "wss://ilink-bot.example.com/ws"bash
复制
hermes gateway start
hermes auth register --email your@email.com --password yourpass
hermes auth loginCLI 和网关都正常启动,主模型(用于对话的模型)工作正常。
网关启动后,后台辅助模型客户端 auxiliary_client 初始化失败,日志中反复出现:
ERROR auxiliary_client | HTTP 401: Authentication failed for model provider 'deepseek/custom/main'这个错误导致:
bash
复制
# 在 ~/.hermes/.env 中设置
DEEPSEEK_API_KEY=sk-xxx
# 在 launchd plist 中设置环境变量
<key>EnvironmentVariables</key>
<dict>
<key>DEEPSEEK_API_KEY</key>
<string>sk-xxx</string>
</dict>结果:❌ 无效,仍然 401。
在 ~/.hermes/config.yaml 中显式配置:
yaml
复制
providers:
deepseek:
api_key: sk-xxx
base_url: https://api.deepseek.com/v1
default_model: deepseek-chat结果:❌ 无效。
修改 agent/auxiliary_client.py,在初始化时直接传入 api_key:
python
复制
client = AsyncOpenAI(
api_key="sk-xxx",
base_url="https://api.deepseek.com/v1"
)结果:❌ 仍然 401。说明问题不在 key 的传递上,而是 provider 注册逻辑本身。
深入阅读 auxiliary_client.py 和 provider 注册相关代码,发现:
deepseek/custom/main 查找已注册的 providerbash
复制
hermes gateway stop
hermes chat "你好"CLI 模式下 DeepSeek 模型调用正常,说明 API Key 本身没问题。
结论:问题出在网关模式下 auxiliary_client 的 provider 注册逻辑,与 API Key 的正确性无关。
经过一整晚的排查,判断这是一个 Hermes Agent 代码层面的 bug:
custom/main → provider 路径拼接可能有问题,导致找不到正确的 provider 实例wasted 很多时间在「key 没传对」这个方向上。应该先在 CLI 模式下确认 key 可用,再去看网关代码。
AI 反复试错会快速消耗积分。建议:
Hermes 的网关进程不能通过 CLI 和 launchd 同时管理,否则会抢占 WebSocket 连接。
iMac 2014 的 8GB 内存同时跑 Hermes 网关 + WorkBuddy 比较吃力,建议升级内存。
hermes chat 等命令行模式,等 bug 修复再开网关虽然最终没解决 Hermes 的 bug,但 WorkBuddy 的 Auto 模式在整个过程中表现还是不错的:
省积分建议:遇到这种需要深入排查代码的问题,可以让 AI 做一次全面分析后给出结论,而不是反复试错。
部署环境:macOS 11.6 / Python 3.11 / Hermes Agent v0.9.0 / WorkBuddy Auto 模式 发布日期:2026-04-15
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。