50 000 ganger i måneden? APIs store samtaler er endelig løst.
Nylig kom en venn til meg og sa at han fant et alvorlig problem i bakfasen av den flygende bokutvikleren: /open-apis/bot/v3/info, dette grensesnittet kalles hundrevis av ganger i minuttet, og 50 000 ganger i måneden kommer det til å løpe ut!

Hvordan fant du ut det?
Venner i "API Call Statistics" backstage i Flying Book Developer så et usedvanlig stort antall samtaler for dette grensesnittet:
| Indikatorer | Verdi |
| Antall daglige samtaler | 43200+ ganger |
| Ring hvert minutt | 300 ganger |
| Anslått månedlig forbruk | Nært 50 000 ganger. |
Jeg er en robot. Hvordan kan jeg ringe så ofte?
Årsakene til problemet
Jeg kjørte OpenClaws utvidelseskode og fant den på to steder:
1. Statuskontroll utløser API-samtale
SondenFeishu () - funksjonen kaller botinfo-grensesnittet for flygende bøker hver gang du spør om robotstatus. Denne funksjonen kalles i følgende scenarier:
- Få OpenID ved oppstart
- Når ekstern systemspørringsstatus
- Når WebSocket er frakoblet
2. Mangel på en cachemekanisme
Den opprinnelige koden var " spør alle samtaler", og det var ingen cache. Selv om du ber om en tilstand på 10 ganger, vil du ha 10 API-samtaler.
Løsninger: 5 minutters cache mekanisme
Jeg la til en enkel cache til probe.ts:
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
Kjernelogikken er enkel:
- Første samtale Forespørsel om flygende bøker API # Cache resultater
- Ring igjen om 5 minutter. ○ Direkte tilbake cache (ingen ny forespørsel initiert)
- Mislykkelsen er også tilstoppet. Unngå gjentatte forespørsler når feil
Endringer
| Kontrast | Før endring | endret |
|---|---|---|
| Hver statusspørsel | Ring API | Direkte cache |
| Klarte ikke å prøve igjen | Ubegrenset forsøk | Cache 5 minutter |
| Anslått månedlig forbruk | 50000+ ganger | 300 ganger |
Det er enkelt.: Maksimalt 1 anrop per 5 minutter, 24 timer per dag = 288 ganger/måned, ca. 3500 ganger i året. Den originale 50 000/månedsgrensen, det vil ikke gå ut!
Bruk scene
Dette programmet er spesielt egnet til:
- Brukere utvidet med OpenClaw
- Utvikle din egen flygende bok robot og ringe botinfo grensesnittet ofte
- API-skalaen er akutt og ønsker å optimalisere antall samtaler
Sammendrag
Flying Book APIs over-allokasjon problem er i hovedsak forårsaket av mangel på en cache mekanisme. Løsningen er enkel: Ring grensesnittet med en cache.
Noen ganger er den enkleste optimalisering den mest effektive.