50 тысяч раз в месяц? Чрезмерные звонки API, наконец, были решены.
Недавно ко мне пришел друг и сказал, что нашёл серьёзную проблему за кулисами разработчика летающих книг: /open-apis/bot/v3/info, этот интерфейс называется сотни раз в минуту, а 50 000 раз в месяц он иссякнет!

Как ты узнал?
Друзья за кулисами Flying Book Developer увидели исключительно большое количество вызовов для этого интерфейса:
| Показатели | ценность |
| Количество ежедневных звонков | 43200+ раз |
| Звоните каждую минуту | 300 раз |
| Расчетное ежемесячное потребление | Около 50 тысяч раз. |
Он ушел: Я робот. Как я могу так часто звонить?
Коренные причины проблемы
Я запустил код расширения флайбука OpenClaw и нашел его в двух местах:
1.Проверка статуса вызова API
Функция probeFeishu() вызывает интерфейс botinfo для летающих книг каждый раз, когда вы спрашиваете о статусе робота. Эта функция называется в следующих сценариях:
- 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 раз |
Все просто.Максимально 1 звонок за 5 минут, 24 часа в день = 288 раз в месяц, примерно 3500 раз в год. Оригинальный лимит в 50 штук в месяц, он не закончится!
Сцена применения
Эта программа особенно подходит для:
- Продление пользователей с помощью OpenClaw
- Создайте собственного робота-летателя и часто звоните в интерфейс botinfo
- Шкала API актуальна и хочет оптимизировать количество звонков
Резюме
Проблема перераспределения Flying Book API вызвана отсутствием механизма кэширования. Решение простое: вызовите интерфейс с кэшем.
Иногда самая простая оптимизация является наиболее эффективной.