每月5万次额度不够用?飞书API过度调用问题终于解决了
最近有个朋友找到我,说他在飞书开发者后台发现了一个严重问题:/open-apis/bot/v3/info 这个接口每分钟被调用好几百次,每个月 5 万次的免费额度眼看就要用光了!

问题是怎么发现的
朋友在飞书开发者后台的「API 调用统计」里看到,bot/v3/info 这个接口的调用量异常高:
| 指标 | 数值 |
| 日调用次数 | 43200+ 次 |
| 每分钟调用 | ~300 次 |
| 月消耗估算 | 接近 5 万次上限 |
他都懵了:我就一个机器人,怎么调用这么频繁?
问题根因分析
我帮他排查了 OpenClaw 的飞书扩展代码,发现问题出在两个地方:
1. 状态检查触发 API 调用
每次查询机器人状态时,都会调用 probeFeishu() 函数去请求飞书的 bot info 接口。这个函数在以下场景会被调用:
- 启动机器人时获取 OpenID
- 外部系统查询状态时
- WebSocket 断线重连时
2. 缺乏缓存机制
原来的代码是「每次调用都发请求」,没有任何缓存。哪怕连续查询 10 次状态,就会产生 10 次 API 调用。
解决方案:5分钟缓存机制
我给 probe.ts 加了一个简单的缓存层:
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
核心逻辑很简单:
- 首次调用 → 请求飞书 API → 缓存结果
- 5 分钟内再次调用 → 直接返回缓存(不发起新请求)
- 失败结果也缓存 → 避免失败时重复请求
修改后的效果
| 对比项 | 修改前 | 修改后 |
|---|---|---|
| 每次状态查询 | 调用 API | 直接返回缓存 |
| 失败重试 | 无限重试 | 缓存 5 分钟 |
| 月消耗估算 | 50000+ 次 | ~300 次 |
简单算一笔账:每 5 分钟最多调用 1 次,一天 24 小时 = 288 次/月,一年才 3500 次左右。原来的 5 万/月额度,根本用不完!
适用场景
这个方案特别适合以下情况:
- 使用 OpenClaw 飞书扩展的用户
- 自己开发飞书机器人,频繁调用 bot info 接口
- API 额度告急,想优化调用次数
总结
飞书 API 过度调用的问题,本质上是缺乏缓存机制导致的。解决方案也很简单:给接口调用加个缓存。
有时候,最简单的优化反而是最有效的。
延伸阅读:
一行命令干翻5个API!阿里云百炼CLI开源,Agent水电煤之战正式开打
5月29日,阿里云干了一件让 Agent 开发者集体高潮的事——百炼核心能力正式 CLI 化,一行命令就能让 AI Ag...
20亿用户握手!PayPal钱包正式接入微信支付,老外来华扫码时代到了
5月27日,支付圈传出来一个让人眼前一亮的消息:腾讯财付通全球与 PayPal World 正式达成合作,PayPal ...
支付宝杭州扔下王炸:3亿笔智能体支付已跑通,AI付Token Pay四件套定义新范式
5月26日下午,支付宝在杭州未来科技城国际会议中心办了一场叫"AI 支付生态大会"的活动。表面看是常规的产品发布会,实际...
渗透圈一夜变天!Xalgorix 22阶段全自动 AI 攻击平台开源,国产模型直接接
渗透测试这行最累的是什么?不是写报告,是重复劳动——侦察、目录爆破、注入点测试、SSRF 验证、CORS 检查……一个标...
Claude Mythos 企业版挖出超1万高危漏洞:Anthropic 联手13家巨头建AI安全联盟
Anthropic 最近搞了个大动作,但这次不是发新模型那么简单。4月7日,它联合了一串你可能做梦都想不到会站在一起的公...