Repository navigation
Description
Bug : 429 quotidiens sur OpenCode Go malgré une conso locale faible — abonnements payants
Environnement
- OpenCode (CLI) + abonnement OpenCode Go payant (8,90 €/mois)
- Machine : Arch/CachyOS, session opencode en tant qu'agent build
- Modèle par défaut au moment des incidents :
opencode-go/qwen3.8-max
(opencode.jsonc→model), utilisé viaopencode.ai/zen/go/v1/messages - Plugin de retry :
opencode-sticky-retry(maxAttempts 6, honorRetryAfter)
Symptômes
Depuis le 2026-09-05, rafales de réponses HTTP 429 (Too Many Requests / rate
limit) avec Retry-After très long, provoquant des sessions abortées
(MessageAbortedError, "Aborted") en plein travail. Au total, 109 × 429
observés dans le journal du 05/09 → 06/09, en grappes :
2026-09-05T06:59: 10 fichiers 429 successifs sur ~20 s2026-09-05T20:24-20:27: 4 × 4292026-09-06T09:48-09:55: 6 × 429,retryAfterMs≈ 51 000 000 ms (~14,2 h)
puis le reste du répertoire de la journée- Autres valeurs
retryAfterMs: ~12 500 000 ms (~3,5 h)
Exemple de trace (extrait du journal opencode.log) :
[sticky-retry] retrying after 60000ms url=https://opencode.ai/zen/go/v1/messages
method=POST status=429 attempt=1 retryAfterMs=51105000
[sticky-retry] retrying after 60000ms url=https://opencode.ai/zen/go/v1/messages
method=POST status=429 attempt=2 retryAfterMs=51044000
[sticky-retry] retrying after 60000ms url=https://opencode.ai/zen/go/v1/messages
method=POST status=429 attempt=3 retryAfterMs=50954000
message=process ... error=Aborted
Incohérence observée (le point clé)
Alors que l'outil local opencode-quota (estimation depuis opencode.db,
table de prix publique) affiche :
- 5 h : 2,34 $ / 12 $ (19 %)
- semaine : 2,06 $ / 30 $ (6 %)
…la somme du champ cost enregistré dans la base locale (message.data.cost,
valeur renvoyée par l'API) pour les 5 dernières heures est de ~8,38 $, dont :
qwen3.8-max: 6,69 $ (287 messages)qwen3.8-flash: 1,59 $ (717 messages)mistral-small-latest: 0,10 $
→ L'estimation locale (table de prix fixe dans le script) est ~3,6 fois
inférieure au coût réel remonté par l'API. Deux options :
- soit la table de prix locale est périmée (les prix GO ont changé ?),
- soit le champ
costde l'API inclut des surcoûts non documentés
(raisonnement/cache/prélèvement par requête), et le plafond est atteint
bien plus vite que ce que le client annonce.
Résultat pour l'utilisateur
- Climat de confiance rompu : on paie, on travaille, puis rafale de 429 qui
tue la session (« zen » / modèles gratuits : aucun problème, fonctionne
parfaitement). - Le client ne révèle pas la véritable proximité du plafond → l'échéance
12 $/5 hne colle pas au vécu (2,34 $ affichés mais 429 quasi quotidiens).
Questions / demandes
- Les limites GO sont-elles en $/période glissante ou en requêtes/5 h
(la page opencode.ai/go indique : Qwen3.8 Flash = 7 600 req/5 h) ? Le
Retry-Afterde ~14 h est-il cohérent avec ces fenêtres ? - Pourquoi le champ
costde l'API (persisté en base) est ~3,6× supérieur à
l'estimation issue des prix publics ? Ces tarifs ont-ils changé ? - Peut-on exposer la consommation réelle (dollars ET requêtes) côté client,
avec marge avertie AVANT le 429, pour que le plafond ne soit plus une
surprise en pleine session ? - Un 429 avec
Retry-Afterde plusieurs heures est-il sensé être retenté
(le plugin retentait toutes les 60 s pendant 6 fois par requête, en
parralèle d'autres requêtes) ? Proposer une gestion plus claire
(abandon immédiat + message explicite « plafond GO atteint, réessaye dans
~14 h »).
Éléments annexes
- Journal :
/home/lm/.local/share/opencode/log/opencode.log(lignes
status=429,retryAfterMs,Aborted,stream error). - Base :
/home/lm/.local/share/opencode/opencode.db.
Rapport préparé le 2026-09-06. L'utilisateur considère l'annulation de son
abonnement Go si le problème n'est pas traité.
Activity
github-actions commentedon Sep 6, 2026
This issue doesn't fully meet our contributing guidelines.
What needs to be fixed:
[FEATURE]:and include the required verification checkbox.Please edit this issue to address the above within 2 hours, or it will be automatically closed.
This issue might be a duplicate of existing issues. Please check:
If you believe this was flagged incorrectly, please let a maintainer know.
github-actions commentedon Sep 6, 2026
This issue has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.
Feel free to open a new issue that follows our issue templates.