50.000 volte al mese? Le chiamate eccessive dell'API sono state finalmente risolte.
Recentemente, un amico è venuto da me e ha detto che ha trovato un problema serio nel backstage dello sviluppatore del libro volante: /open-apis/bot/v3/info, questa interfaccia è chiamata centinaia di volte al minuto, e 50.000 volte al mese sta per esaurire!

Come l'hai scoperto?
Gli amici nel backstage "API Call Statistics" del Flying Book Developer hanno visto un numero eccezionalmente elevato di chiamate per questa interfaccia:
| Indicatori | Valore |
| Numero di chiamate giornaliere | 43200+ volte |
| Chiama ogni minuto | - 300 volte. |
| Consumo mensile stimato | Vicino a 50.000 volte. |
Se n'e' andato, sono un robot. Come posso chiamare così spesso?
Le cause principali del problema
Ho controllato il codice di estensione del flybook di OpenClaw e l'ho trovato in due posti:
1. Stato check trigger chiamata API
La funzione sondaFeishu() chiama l'interfaccia botinfo per i libri volanti ogni volta che chiedi lo stato del robot. Questa funzione è chiamata nei seguenti scenari:
- Ricevi OpenID all'avvio
- Quando lo stato di query del sistema esterno
- Quando WebSocket è scollegato
2. Mancanza di un meccanismo di cache
Il codice originale era "chiedi ogni chiamata", e non c'era cache. Anche se chiedi uno stato di 10 volte, avrai 10 chiamate API.
Soluzioni: meccanismo di cache da 5 minuti
Ho aggiunto una semplice cache alle sonde.ts:
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
La logica fondamentale è semplice:
- Prima chiamata # Richiesta di libri volanti API #
- Richiama tra 5 minuti. cache posteriore diretta (nessuna nuova richiesta avviata)
- Il fallimento anche intasato. → Evitare ripetute richieste quando il fallimento
Effetti modificati
| Contrasto | Prima di modificare | modificato |
|---|---|---|
| Ogni domanda di stato | Chiama API | Cache dirette |
| Non ha riprovato | Rettifica illimitata | Cache 5 minuti |
| Consumo mensile stimato | 50000+ volte | - 300 volte. |
E' semplice.: un massimo di 1 chiamata per 5 minuti, 24 ore al giorno = 288 volte al mese, circa 3.500 volte all'anno. L'originale limite di 50mila dollari al mese, non scapperà!
Applicare la scena
Questo programma è particolarmente indicato per:
- Gli utenti si sono estesi con OpenClaw
- Sviluppare il proprio robot di book volante e chiamare l'interfaccia botinfo frequentemente
- La scala API è urgente e vuole ottimizzare il numero di chiamate
Sintesi
Il problema di sovralocalizzazione dell'API di Flying Book è essenzialmente causato dalla mancanza di un meccanismo di cache. La soluzione è semplice: chiamare l'interfaccia con una cache.
A volte l'ottimizzazione più semplice è il più efficace.