ai:platformy:opencode:opencode-quota

OpenCode Quota

Vytvořeno: 10.5.2026 | Aktualizováno: 10.05.2026 07:38

OpenCode Quota je plugin pro OpenCode, který zobrazuje přehled kvót, limitů a tokenové spotřeby napříč providery. Hodí se hlavně pro rychlou kontrolu, kolik zbývá z GPT / OpenAI subscription nebo jiných podporovaných plánů, aniž by bylo potřeba chodit do webového rozhraní poskytovatele.

V mém případě stačilo přidat plugin do opencode.json:

{
  "plugin": [
    "@slkiser/opencode-quota"
  ]
}

Podle dokumentace OpenCode pluginů se npm pluginy zapisují do pole plugin v konfiguraci. OpenCode je potom při startu automaticky stáhne a načte.

Oficiální README pluginu doporučuje pro běžnou instalaci také příkaz:

npx @slkiser/opencode-quota init

Ten umí doplnit chybějící konfigurační položky a projít volby UI. Pro základní použití slash commandu ale v této instalaci fungoval už samotný záznam v opencode.json.

Compact status line v TUI nestačí zapnout jen server pluginem v opencode.json. Podle README pluginu a podle OpenCode session k nastavení quota status line bylo potřeba doplnit ještě dvě věci:

  • TUI plugin v ~/.config/opencode/tui.json.
  • Sidecar konfiguraci v ~/.config/opencode/opencode-quota/quota-toast.json.

Soubor ~/.config/opencode/tui.json:

{
  "$schema": "https://opencode.ai/tui.json",
  "plugin": ["@slkiser/opencode-quota"]
}

Soubor ~/.config/opencode/opencode-quota/quota-toast.json:

{
  "enabledProviders": "auto",
  "enableToast": false,
  "tuiSidebarPanel": {
    "enabled": false
  },
  "tuiCompactStatus": {
    "enabled": true,
    "homeBottom": true,
    "sessionPrompt": true
  }
}

Tím se vypnuly popup toasty i sidebar panel a zapnul se jen compact status line:

  • homeBottom: true — kvóta se má zobrazit dole na úvodní/home obrazovce TUI.
  • sessionPrompt: true — kvóta se má zobrazit i u promptu v session.

Po změně konfigurace je potřeba restartovat OpenCode TUI. Ověření v session proběhlo přes /quota_status a validaci JSON konfiguračních souborů přes node. Diagnostika ukázala, že TUI plugin je načtený z ~/.config/opencode/tui.json a provider OpenAI byl dostupný.

Důležité: tahle konfigurace řeší jen terminálové TUI. Ve Web UI se TUI status line nezobrazí. Ve webovém rozhraní zůstávají použitelné slash příkazy jako /quota nebo /quota_status, ale compact status line je TUI prvek.

Plugin přidává několik způsobů zobrazení kvót a tokenové spotřeby:

  • /quota — detailní quota report.
  • /quota_status — diagnostika konfigurace, providerů, autentizace a pricing dat.
  • /pricing_refresh — obnovení lokálních pricing dat.
  • /tokens_today, /tokens_weekly, /tokens_monthly a další tokenové reporty.
  • Volitelně sidebar panel, popup toasty nebo compact status line v TUI.

Podporované providery se podle README postupně rozšiřují. Pro moje použití je podstatné hlavně sledování GPT / OpenAI limitů, případně dalších providerů napojených v OpenCode.

Při testování jsem řešil stav, kdy se po spuštění /quota ve webovém rozhraní výstup sice vykreslil, ale UI zároveň zobrazilo dialog s chybou. Kontext je v OpenCode session k chybě /quota.

Závěr z debugování:

  • konfigurace plugin: ["@slkiser/opencode-quota"] byla správně;
  • na testovaném stroji běžel OpenCode 1.14.46 a plugin @slkiser/opencode-quota ve verzi 3.7.1;
  • plugin po zpracování příkazu používá sentinel chybu __QUOTA_COMMAND_HANDLED__, aby zabránil pokračování běžného command flow a spuštění LLM;
  • Web/Desktop UI tuhle sentinel chybu může zobrazit jako uživatelskou chybu typu „Failed to send command“, i když samotný výstup pluginu už byl vykreslený.

Nejde tedy o chybu mojí konfigurace, ale o vedlejší efekt toho, jak plugin obchází chybějící first-class mechanismus pro „command handled, no LLM reply“. Podobný problém popisuje upstream issue Desktop shows plugin sentinel errors, TUI does not a související požadavek Add noReply option to command.execute.before hook.

Praktický závěr:

  • v TUI by se tahle chyba typicky zobrazovat neměla;
  • ve Web/Desktop UI může být dialog jen kosmetický problém, pokud se výstup /quota normálně vykreslí;
  • čisté řešení závisí na upstream podpoře mechanismu typu noReply / preventDefault pro plugin hook command.execute.before.

OpenCode Quota dává smysl zapnout, pokud:

  • často přepínáš mezi providery a chceš rychle vidět aktuální limity;
  • potřebuješ hlídat GPT / OpenAI subscription přímo z OpenCode;
  • chceš tokenové reporty bez ručního procházení lokální historie;
  • ladíš autentizaci nebo quota zdroje přes /quota_status.

Pokud jde jen o základní kontrolu limitů, začal bych minimální konfigurací v opencode.json a případné další UI prvky řešil až podle potřeby.

  • ai/platformy/opencode/opencode-quota.txt
  • Poslední úprava: 10.05.2026 07:38
  • autor: Petr Nosek