50 000 fois par mois ? Les appels excessifs de l'API ont finalement été résolus.
Récemment, un ami est venu me voir et m'a dit qu'il avait trouvé un grave problème dans les coulisses du développeur de livres volants : /open-apis/bot/v3/info, cette interface s'appelle des centaines de fois par minute, et 50 000 fois par mois elle va s'épuiser !

Comment l'avez-vous découvert ?
Les amis dans les coulisses "API Call Statistics" du Flying Book Developer ont vu un nombre exceptionnellement élevé d'appels pour cette interface:
| Indicateurs | Valeur |
| Nombre d'appels quotidiens | 43200+ fois |
| Appelez chaque minute | ~ 300 fois |
| Consommation mensuelle estimée | Près de 50 000 fois. |
Je suis un robot. Comment appeler si souvent ?
Les causes profondes du problème
J'ai lancé le code d'extension de flybook d'OpenClaw et je l'ai trouvé à deux endroits :
1. Appel API du déclencheur de vérification d'état
La fonction sondeFeishu() appelle l'interface botinfo pour les livres volants chaque fois que vous demandez sur le statut du robot. Cette fonction est appelée dans les scénarios suivants:
- Obtenir OpenID au démarrage
- Lorsque l'état de la requête système externe
- Lorsque WebSocket est déconnecté
2. Absence de mécanisme de cache
Le code original était "Demandez chaque appel", et il n'y avait pas de cache. Même si vous demandez un état de 10 fois, vous aurez 10 appels API.
Solutions : mécanisme cache de 5 minutes
J'ai ajouté un cache simple à la sonde.ts:
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
La logique fondamentale est simple:
- Premier appel ♪ Demande de livres volants API ♪ Résultats de cache
- Appelez dans 5 minutes. cache arrière direct (aucune nouvelle requête n'a été lancée)
- L'échec s'est également obstrué. → Évitez les demandes répétées en cas d'échec
Effets modifiés
| Contraste | Avant de modifier | modifié |
|---|---|---|
| Chaque requête d'état | Appeler l'API | Cache directe |
| Échec de réessayer | Essai illimité | Cache 5 minutes |
| Consommation mensuelle estimée | 50000+ fois | ~ 300 fois |
C'est simple.: Un maximum de 1 appel par 5 minutes, 24 heures par jour = 288 fois par mois, environ 3 500 fois par an. La limite initiale de 50 000 $ par mois, ça ne va pas s'épuiser !
Appliquer la scène
Ce programme est particulièrement adapté pour:
- Utilisateurs étendus avec OpenClaw
- Développez votre propre robot de livre volant et appelez fréquemment l'interface botinfo
- L'échelle API est urgente et veut optimiser le nombre d'appels
Résumé
Le problème de surallocation de l'API du livre volant est essentiellement causé par l'absence d'un mécanisme de cache. La solution est simple : appelez l'interface avec un cache.
Parfois, l'optimisation la plus simple est la plus efficace.