这几天折腾爱马仕快魔楞了,感觉比龙虾适合我,比我想象中的好用太多了,如果是 Openclaw 是一个工作流的强力助手,那么 Hermes Agent 更加贴近大众生活的使用方式。通过不断理解学习总结我每天的对话,可以总结出我后面做的东西与前面的关联性,省去了太多的麻烦了。
本来是 codex、cc 的重度用户,但是最近配置的时候踩坑死活配置不上,以前用的 快连的vpn,但是现在由于特殊原因,快连 down 了,切了备用机场使用 clash,他的工作模式就不像前者一样直接一套打包弄好。
我在 WSL 里跑 Hermes,Windows 宿主机开了 Clash,也开了“允许局域网连接”和“虚拟网卡”。而且在 WSL 里已经确认能通过 127.0.0.1:7897 正常访问外网。
按理说网络应该没问题,但 Hermes 还是连不上模型接口。后来发现,问题不在 WSL,也不在 Clash,本质上是终端有代理,不代表 Hermes 服务进程也有代理
Hermes 的 gateway 是由 systemd --user 拉起来的,不是直接继承当前 shell 环境。所以即使在终端里已经设置了:
HTTP_PROXY=http://127.0.0.1:7897
HTTPS_PROXY=http://127.0.0.1:7897
Hermes 的 gateway 进程也可能根本拿不到这些变量。这就会出现一种很迷惑的现象:
- WSL 里
curl能联网 - Hermes 却依旧访问模型失败
解决办法
给 hermes-gateway.service 写一个 systemd override,把代理环境变量显式注进去。
先创建目录:
mkdir -p ~/.config/systemd/user/hermes-gateway.service.d/
然后写入这个文件路径:
~/.config/systemd/user/hermes-gateway.service.d/override.conf
内容如下:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7897"
Environment="HTTPS_PROXY=http://127.0.0.1:7897"
Environment="http_proxy=http://127.0.0.1:7897"
Environment="https_proxy=http://127.0.0.1:7897"
Environment="ALL_PROXY=http://127.0.0.1:7897"
Environment="NO_PROXY=localhost,127.0.0.1"
然后执行:
systemctl --user daemon-reload
systemctl --user restart hermes-gateway.service
就欧克了。这个问题我让小米的模型自己改了很多次,都没有成功,后面通过不断的讨论对话才修改成功的。
5 个帖子 - 5 位参与者