Zobrazit stránkuStarší verzeZpětné odkazyNahoru Tato stránka je pouze pro čtení. Můžete si pouze prohlédnout zdrojový kód, ale ne ho měnit. Zeptejte se správce, pokud si myslíte, že něco není v pořádku. ====== OpenCode Quota ====== //Vytvořeno: **10.5.2026** | Aktualizováno: **~~LASTMOD~~**// [[https://github.com/slkiser/opencode-quota|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. ===== Základní konfigurace ===== V mém případě stačilo přidat plugin do ''opencode.json'': <code json> { "plugin": [ "@slkiser/opencode-quota" ] } </code> Podle [[https://opencode.ai/docs/plugins|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: <code bash> npx @slkiser/opencode-quota init </code> 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''. ===== Status lišta v TUI ===== Compact status line v TUI nestačí zapnout jen server pluginem v ''opencode.json''. Podle README pluginu a podle [[https://opencode.e-nosek.cz/L2hvbWUvYWl3b3JrL3NjcmF0Y2g/session/ses_1efa22ea2ffeFUGQoc10CpHOEM|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'': <code json> { "$schema": "https://opencode.ai/tui.json", "plugin": ["@slkiser/opencode-quota"] } </code> Soubor ''~/.config/opencode/opencode-quota/quota-toast.json'': <code json> { "enabledProviders": "auto", "enableToast": false, "tuiSidebarPanel": { "enabled": false }, "tuiCompactStatus": { "enabled": true, "homeBottom": true, "sessionPrompt": true } } </code> 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. ===== Co plugin přidává ===== 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. ===== Poznámka k Web UI chybě ===== 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 [[https://opencode.e-nosek.cz/L2hvbWUvYWl3b3JrL3NjcmF0Y2g/session/ses_1efdabea7ffeET12ByOesa2QkG|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 [[https://github.com/anomalyco/opencode/issues/13922|Desktop shows plugin sentinel errors, TUI does not]] a související požadavek [[https://github.com/anomalyco/opencode/issues/9306|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''. ===== Kdy použít ===== 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. ===== Zdroje ===== * [[https://github.com/slkiser/opencode-quota|slkiser/opencode-quota – GitHub repozitář pluginu]] * [[https://opencode.ai/docs/plugins|OpenCode dokumentace pluginů]] * [[https://github.com/anomalyco/opencode/issues/13922|anomalyco/opencode#13922 – Desktop shows plugin sentinel errors, TUI does not]] * [[https://github.com/anomalyco/opencode/issues/9306|anomalyco/opencode#9306 – Add noReply option to command.execute.before hook]] * [[https://opencode.e-nosek.cz/L2hvbWUvYWl3b3JrL3NjcmF0Y2g/session/ses_1efa22ea2ffeFUGQoc10CpHOEM|OpenCode session k nastavení quota status line]] * [[https://opencode.e-nosek.cz/L2hvbWUvYWl3b3JrL3NjcmF0Y2g/session/ses_1efdabea7ffeET12ByOesa2QkG|OpenCode session k debugování chyby /quota]] ai/platformy/opencode/opencode-quota.txt Poslední úprava: 10.05.2026 07:38autor: Petr Nosek