hermes使用公益站api报403错误的解决方式

一一 2026-06-09 14:12 1

问题原因:


公益站 WAF / 中转站会检查 User-Agent,如果 Hermes 默认客户端请求头不被认可,就会返回 403。查了站内,给的解决方式是修改 run_agent.py中的配置,但我改了一个还是不行,后面发现需要修改两个地方的域名匹配。


修改方式:


步骤 1:修改 agent_init.py (位置:cd ~/.hermes/hermes-agent/agent)


在 elif 中添加公益站域名(可以搜api.kimi 就在这附近)


elif base_url_host_matches(base_url, "替换成公益站域名"):
client_kwargs["default_headers"] = {"User-Agent": "curl/8.5.0"}

步骤 2:修改 run_agent.py(位置:cd ~/.hermes/hermes-agent)


在 _apply_client_headers_for_base_url 函数里也加同样的域名匹配(可以搜api.kimi 就在这附近):


elif base_url_host_matches(base_url, "替换成公益站域名"):
self._client_kwargs["default_headers"] = {"User-Agent": "curl/8.5.0"}

两个地方的修改注意域名不要带 https:// 或 /v1,变量要与上下文保持一致(如果更新了直接贴给ai要怎么改)。


修改前最好都做个备份。如果有多个域名可以类似这样:


# 在 agent_init.py 的适当位置,例如 elif 链前或函数开头
PROXY_DOMAINS = [
"xxxapi.cc.cd",
"muyuan.do",
# 后续新站点直接加在这里
]

# 代替单独的 elif
if any(base_url_host_matches(base_url, d) for d in PROXY_DOMAINS):
client_kwargs["default_headers"] = {"User-Agent": "curl/8.5.0"}


# 在 _apply_client_headers_for_base_url 或类似函数里
PROXY_DOMAINS = [
"xxxapi.cc.cd",
"muyuan.do",
# 后续新站点直接加在这里
]

if any(base_url_host_matches(base_url, d) for d in PROXY_DOMAINS):
self._client_kwargs["default_headers"] = {"User-Agent": "curl/8.5.0"}

做完这些重启hermes就行了!

最新回复 (3)
  • 一一 楼主 06-09 14:14
    1

    其实也可以给调另一个agent让他直接帮你改了

  • 好运硬来 06-23 14:46
    2

    curl/8.5.0



    请问现在curl/8.5.0这个user-agent在hermes中还生效吗?我用的muyuan.do公益站依旧403

  • 一一 楼主 06-23 15:05
    3

    不行了


    慕鸢现在只支持claudecode或codex调用了


    并且现在只能三级用户调用了

* 帖子来源Linux.do
返回