OpenClaw 接飞书总断线?我用模型轮转彻底治好了,一分钱没花

0 阅读1分钟

OpenClaw 接飞书总断线?我用模型轮转彻底治好了,一分钱没花

先说背景

最近在搞一个飞书机器人,用 OpenClaw 做 Agent 核心,接飞书 webhook 自动回复消息。

逻辑很简单,效果也确实猛——但有个问题快把我逼疯了:隔一会儿就断线

飞书那边显示超时无响应,日志一看,全是 429 Too Many Requestsrate limit exceeded

我用的免费额度,Groq 每天 14,400 次请求听着很多对吧?但飞书群里十几个人同时 @机器人,高峰期一小时就能把某个 Provider 的额度打穿。额度一到,直接挂,飞书那边就是"机器人无响应"。

为什么会断线

排查下来原因很清楚:

  1. 单 Provider 额度有上限——Groq 14,400 次/天、Cerebras 100 万 token/天、SambaNova 20 万 token/天,单独用哪个都扛不住持续调用
  2. OpenClaw 默认只走一个 endpoint——挂了就是挂了,没有 fallback
  3. 飞书 webhook 超时 5 秒——Provider 一慢或一报错,飞书直接判定断线

所以核心问题不是某个模型不行,而是没有自动切换机制。一个挂了得有下一个顶上,对飞书来说就是"永远有响应"。

解题思路

我需要一个东西做两件事:

  • 把多个免费 Provider 聚合起来,对外暴露一个 API 地址
  • 某个 Provider 额度用完或报错时,自动切到下一个

找了一圈,发现一个开源工具刚好干这事——OpenRelay,本地跑一个代理服务,聚合 29 个免费 Provider,模型池自动轮转。

实操步骤

1. 装模型轮转工具

一行命令,macOS:

curl -L -o openrelay https://github.com/romgX/openrelay/releases/latest/download/openrelay-macos-arm64 && chmod +x openrelay && ./openrelay

Windows:

Invoke-WebRequest -Uri "https://github.com/romgX/openrelay/releases/latest/download/openrelay-windows-x64.exe" -OutFile openrelay.exe; .\openrelay.exe

跑起来后本地 http://localhost:18765 就是 API 入口,兼容 OpenAI 格式,不需要任何配置。

2. 让 OpenClaw 走本地代理

export ANTHROPIC_BASE_URL=http://localhost:18765
export ANTHROPIC_API_KEY=unused

然后正常启动 OpenClaw 就行。所有请求走本地轮转服务,Provider 挂一个自动切下一个。

3. 飞书那边不用改

飞书 webhook 调 OpenClaw,OpenClaw 调本地代理,代理调免费 Provider。对飞书来说,API 地址没变,只是背后多了 29 个模型兜底。

跑了三天的数据

指标之前(单 Provider)之后(轮转)
日均断线次数8-12 次0 次
飞书超时率~15%< 1%
花费$0$0

免费 Provider 的额度加起来其实非常可观:

Provider免费额度速度
Groq14,400 次/天750 tokens/秒
Cerebras100 万 token/天2000 tokens/秒
SambaNova20 万 token/天Llama 405B
Gemini免费100 万上下文
OpenRouter50 次/天30+ 模型

轮着用,我这个飞书群的量根本打不穿。

踩坑提醒

一定要后台运行。我第一天忘了 nohup,ssh 断了轮转服务就跟着挂了,飞书又开始断线。加上 nohup ./openrelay & 就稳了。

另外纯本地运行,凭据不出本机,比把 key 交给第三方中转服务安全得多。

最后

核心就一句话:别用单个免费 Provider 硬扛,用模型池轮转把 29 个 Provider 的额度叠起来。对飞书这种对响应时间敏感的场景,自动切换比什么都重要。

工具开源,感兴趣自己看:OpenRelay - GitHub


讨论:你们用 OpenClaw 接企业 IM(飞书/钉钉/企微)的时候,有没有遇到类似的断线问题?都怎么处理的?