50 000 kertaa kuussa? API:n liialliset puhelut on vihdoin ratkaistu.
Äskettäin eräs ystävä tuli luokseni ja sanoi löytäneensä vakavan ongelman lentävän kirjan kehittäjän takahuoneesta: /open-apis/bot/v3/info, tämä käyttöliittymä on nimeltään satoja kertoja minuutissa, ja 50000 kertaa kuukaudessa se loppuu!

Miten sait tietää?
Ystävät "API Call Statistics" backstage Flying Book Kehittäjä näki poikkeuksellisen paljon puheluja tämän käyttöliittymän:
| Indikaattorit | Arvo |
| Päivittäisten puheluiden määrä | 43200+ kertaa |
| Soita joka minuutti. | - 300 kertaa |
| Arvioitu kuukausikulutus | Melkein 50 000 kertaa. |
Olen robotti. Miten voin soittaa niin usein?
Ongelman perimmäiset syyt
Löysin OpenClaw'n jatkokoodin kahdesta paikasta:
1. Tilatarkistus laukaisi API-puhelu
The prodentFeishu() funktio kutsuu botinfo käyttöliittymän lentäviä kirjoja aina kun kysyt robotti tila. Tätä funktiota kutsutaan seuraavissa skenaarioissa:
- Avaa tunniste käynnistettäessä
- Kun ulkoinen järjestelmä kyselyn tila
- Kun WebSocket on kytketty pois päältä
2. Välimuistimekanismin puute
Alkuperäinen koodi oli "Kysy joka puhelulta," eikä siellä ollut kätköä. Vaikka pyydät tilaa 10 kertaa, sinulla on 10 API-puhelut.
Ratkaisut: 5 minuutin välimuistimekanismi
Lisäsin anturiin yksinkertaisen välimuistin:
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
Peruslogiikka on yksinkertainen:
- Ensimmäinen puhelu Pyydän lentokirjaa API:
- Soita uudestaan viiden minuutin päästä. ○ Direct back cache (no new request initiated)
- Epäonnistuminen on myös tukossa. → Vältä toistuvia pyyntöjä epäonnistumisen yhteydessä
Muutetut vaikutukset
| Kontrasti | Ennen muokkaa | muutettu |
|---|---|---|
| Jokainen tilakysely | Soita API:hen. | Suora välimuisti |
| Ei onnistunut yrittää uudelleen | Rajoittamaton uudelleen | Välimuisti 5 Minuuttia |
| Arvioitu kuukausikulutus | 50000+ kertaa | - 300 kertaa |
Se on yksinkertaista.: Enintään 1 puhelu 5 minuutissa, 24 tuntia vuorokaudessa = 288 kertaa kuukaudessa, noin 3 500 kertaa vuodessa. Alkuperäinen 50 tonnin kuukausiraja ei lopu!
Toteuta kohtaus
Ohjelma soveltuu erityisesti
- Käyttäjät laajennettu OpenClaw
- Kehitä oma lentävä kirja robotti ja soita botinfo käyttöliittymään usein
- API-asteikko on kiireellinen ja haluaa optimoida puheluiden määrän
Yhteenveto
Flying Book API:n ylijako-ongelma johtuu pääasiassa välimuistin puutteesta. Ratkaisu on yksinkertainen: soita käyttöliittymään välimuistilla.
Joskus yksinkertaisin optimointi on tehokkain.