关于 Hermes 多 Agent 共用 Nous Portal 账号 引起 429 Too Many Requests 的问题
前言
在 Hermes 多 Agent 协作任务时, 我只有一个Nous Portal 账号,
而这些 agent的 gateway 是独立的, 所以有可能在短时间内集中请求API, 被 Nous Portal 返回 429 Too Many Requests 错误码.
思路
在一个API请求完成后, 再开始下一个请求?
用 flock 文件锁 + 状态文件就够了:
~/.hermes/api_rate_limit → 内容: 上次请求的时间戳
Gateway 想调 API 时:
flock(api_rate_limit.lock)read(last_time)if now - last_time >= interval:write(now) ← 更新时间戳unlock→ 发 API 请求else:wait_time = interval - (now - last_time)unlocksleep(wait_time)→ 重试
不需要额外进程,每个 gateway 自己在调 API 前检查就行。所有 agent 共享同一个文件,flock 保证互斥读写。
最终我用了上面这个方案.
效果不错.
======
后记
对比 openclaw, 所有agent都在一个openclaw系统中, 你可以看到是在一个 config.json 中定了多个agent 的定义.
所以这些 agent 天生就接入同一个 model provider, 当使用同一个 OAuth 账号时, 当然就可以控制全局请求速率了.
评论
发表评论