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

hermes使用公益站api报403错误的解决方式
hermes使用公益站api报403错误的解决方式
问题原因:

公益站 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就行了!

2 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文