OpenClaw 接飞书总断线?我用模型轮转彻底治好了,一分钱没花
先说背景
最近在搞一个飞书机器人,用 OpenClaw 做 Agent 核心,接飞书 webhook 自动回复消息。
逻辑很简单,效果也确实猛——但有个问题快把我逼疯了:隔一会儿就断线。
飞书那边显示超时无响应,日志一看,全是 429 Too Many Requests 和 rate limit exceeded。
我用的免费额度,Groq 每天 14,400 次请求听着很多对吧?但飞书群里十几个人同时 @机器人,高峰期一小时就能把某个 Provider 的额度打穿。额度一到,直接挂,飞书那边就是"机器人无响应"。
为什么会断线
排查下来原因很清楚:
- 单 Provider 额度有上限——Groq 14,400 次/天、Cerebras 100 万 token/天、SambaNova 20 万 token/天,单独用哪个都扛不住持续调用
- OpenClaw 默认只走一个 endpoint——挂了就是挂了,没有 fallback
- 飞书 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 | 免费额度 | 速度 |
|---|---|---|
| Groq | 14,400 次/天 | 750 tokens/秒 |
| Cerebras | 100 万 token/天 | 2000 tokens/秒 |
| SambaNova | 20 万 token/天 | Llama 405B |
| Gemini | 免费 | 100 万上下文 |
| OpenRouter | 50 次/天 | 30+ 模型 |
轮着用,我这个飞书群的量根本打不穿。
踩坑提醒
一定要后台运行。我第一天忘了 nohup,ssh 断了轮转服务就跟着挂了,飞书又开始断线。加上 nohup ./openrelay & 就稳了。
另外纯本地运行,凭据不出本机,比把 key 交给第三方中转服务安全得多。
最后
核心就一句话:别用单个免费 Provider 硬扛,用模型池轮转把 29 个 Provider 的额度叠起来。对飞书这种对响应时间敏感的场景,自动切换比什么都重要。
工具开源,感兴趣自己看:OpenRelay - GitHub
讨论:你们用 OpenClaw 接企业 IM(飞书/钉钉/企微)的时候,有没有遇到类似的断线问题?都怎么处理的?