Uma lanterna para as suas cotas de IA.
O QuotaLantern fica na bandeja do sistema e mostra quanto você já usou da janela mais cheia entre Codex, Claude, Gemini e outros. Se a leitura está velha ou não chegou, o anel avisa em vez de mostrar zero.
- Arco. 42% da sessão de 5 h do Codex já foi usado.
- Cor. Verde: abaixo do aviso de 85%. Os dois níveis são ajustáveis.
- Centro. O Facho, marca do app. Só aparece com leitura válida.
Abra a janela e veja cada provedor.
No menu da bandeja, Open Overview mostra o anel maior e um card por provedor: a barra de cada janela, quando ela reseta, de onde veio o dado e há quanto tempo foi lido.
Como ler o anel
O ícone é desenhado num grid de 32 pixels e continua legível a 16. Cada estado tem uma forma própria, então dá para diferenciar sem depender da cor.
| 16 / 24 px | Estado | Quando aparece |
|---|---|---|
| Verde | Leitura recente abaixo do aviso, 85% por padrão. | |
| Âmbar | Entre o aviso e o nível crítico. | |
| Vermelho | No nível crítico ou acima, 95% por padrão. | |
| Pontilhado com traço | Sem leitura válida, com erro ou só com custo em moeda. | |
| Tracejado com relógio | Leitura de cache ou com mais de 10 minutos. |
Com vários provedores, o anel mostra a janela mais cheia entre as leituras recentes, e o menu diz qual é. Custos de API aparecem em moeda nos cards e nunca entram no anel. Matriz completa de ícones.
O que ele lê, e quanto disso foi testado
Ter código para um serviço não garante suporte. A última coluna diz o que foi verificado até agora. Uma instalação nova liga só o Codex.
| Adaptador | Mede | Verificação |
|---|---|---|
| Codex | limite do plano | Verificado offline. É o único usado na sugestão de folga. |
| Kiro | créditos do plano | Parcial. Dado inválido não vira 0%; falta testar com conta real. |
| OpenAI API, Claude API | custo em moeda | Escala de moeda e paginação completa testadas offline. |
| Gemini API | uso da API | Experimental. Pede chave e projeto explícitos no ambiente. |
| Claude, Gemini, Grok, Cursor, GLM (z.ai), OpenCode Go, Zen | limite do plano | Código presente. Cobertura e permissão de cada serviço ainda sem qualificação. |
| Codex Resets | anúncios globais | Opcional e desligado por padrão. Resets do Codex para todos os planos pagos, publicados por um serviço de terceiros sem vínculo com a OpenAI. Nunca entram no anel. |
Os termos de cada serviço continuam valendo, separados da licença MIT deste projeto.
Instalar
A instalação é local, a partir do código. O instalador confere as dependências, não baixa nada e não liga nenhum provedor.
- Requer Python 3.12 ou mais novo, GTK 3, Ayatana AppIndicator, libnotify e flock.
- Com
--dry-runele só mostra o plano. - Início automático só com
--enable-autostart. - Configurações e provedores ligados são mantidos. O comando de rollback aparece no fim.
- O comando antigo
codexbar-linuxcontinua funcionando.
# 1. pacotes do sistema sudo apt install python3-gi gir1.2-gtk-3.0 \ gir1.2-ayatanaappindicator3-0.1 gir1.2-notify-0.7 # 2. código git clone https://github.com/caiolombello/quotalantern.git cd quotalantern # 3. ver o plano, instalar e abrir bash install.sh --dry-run bash install.sh quotalantern
Privacidade e limites
No seu computador
- Sem telemetria. O app só conversa com os serviços que você ligar.
- Credenciais no lugar. Cada adaptador lê a credencial onde o provedor já guarda. O instalador não copia nenhuma.
- OpenCode Go. Usa uma sessão OAuth própria, numa pasta privada. Disconnect apaga só essa sessão.
- Opcional. Os anúncios de reset do codex-resets.com só são consultados com a opção ligada, no máximo a cada 15 minutos, sem enviar dados da conta.
- Arquivos privados. Configuração, estado e histórico são gravados só para o seu usuário.
- Este site. Não usa cookies nem carrega nada de outro domínio.
Testado e pendente
- Testado. Suíte offline no CI com Python 3.12 e 3.14, sem rede nem arquivos reais.
- Testado. KDE Plasma no Wayland: janela, ícone, bandeja e notificação.
- Pendente. GNOME e telas HiDPI.
- Pendente. Revisão visual nativa pixel a pixel e tooltip ao passar o mouse.
- Pendente. Permissão e cobertura de cada serviço.