Contribuição open source · Rust · macOS · Linux · Waybar

akitaonrails/ai-usagebar

Barra nativa de status e monitoramento de cotas de consumo em tempo real para múltiplos provedores de IA (OpenAI, Anthropic, Claude, Kimi, MiniMax).

  • 92 PRs aceitos
  • 333 commits no projeto
  • +9,1k linhas adicionadas
  • 781 estrelas no GitHub

Ver cada PR Repositório no GitHub

O projeto

O ai-usagebar mostra, na barra do sistema, quanto do plano de cada serviço de IA já foi consumido: Claude, Codex/ChatGPT, GitHub Copilot, OpenRouter, DeepSeek, Kimi, Devin e outros. Funciona como painel nativo no Linux (Omarchy, Waybar, GNOME, KDE Plasma), no macOS e no Windows, além de um painel no terminal, e avisa quando uma cota chega perto do limite.

Para quem paga vários planos de IA, o número na barra decide se a tarefa pode continuar ou se é hora de trocar de conta. E, como a ferramenta guarda chaves de acesso a esses serviços, proteger essas credenciais pesa tanto quanto mostrar o número certo. É nesses dois pontos que se concentra a maior parte das contribuições abaixo.

Destaques

Os PRs com maior efeito para quem depende do projeto no dia a dia.

  • #266mergeado em 27/09/2026

    Várias contas por provedor em mais oito serviços com chave de API

    Quem usa mais de uma chave no mesmo provedor, por exemplo para separar trabalho e uso pessoal, acompanha o consumo de cada uma sem misturar números. Configurações existentes continuam funcionando sem nenhuma alteração.

  • #325mergeado em 03/10/2026

    Erro no arquivo de configuração não exibe mais a chave de API

    Um deslize comum de digitação deixa de expor a chave de API nas telas e na saída do terminal, e a pessoa continua sabendo exatamente onde corrigir.

  • #306mergeado em 03/10/2026

    Ollama Cloud com cota mensal deixa de mostrar 0% falso na barra

    Quem tem uma conta mensal do Ollama Cloud deixa de ver percentuais de janelas que não existem no seu plano e passa a ver o consumo que de fato o limita.

Como cada PR foi feito

  • Um problema por PR

    Cada PR resolve uma coisa só, com a menor mudança possível. Isso simplifica a revisão, reduz o risco de efeito colateral e permite desfazer uma mudança sem levar outras junto.

  • O problema vira teste

    As correções chegam com testes automatizados que cobrem o caso que falhava, para o problema não voltar sem que ninguém perceba.

  • Os critérios do próprio projeto

    Formatação, análise estática e a suíte completa de testes rodam na integração contínua do projeto, e a mudança só entra depois da revisão do mantenedor.

  • Escrito para quem revisa

    A descrição de cada PR explica o problema, a mudança e como ela foi testada, para o mantenedor decidir com segurança.

Onde o trabalho se concentrou

Cada PR resolve um problema só. Agrupados pelo efeito para quem usa a ferramenta:

  • 13 PRs

    Proteção de chaves e dados

    Chaves de API fora de mensagens de erro, de arquivos legíveis por outros usuários e de outros programas, e texto vindo de fora tratado antes de chegar à tela.

  • 30 PRs

    Números confiáveis

    O que a barra mostra corresponde ao consumo real: sem percentual falso, sem linhas misturadas e com o erro certo quando algo falha.

  • 14 PRs

    Mais contas e provedores

    Várias contas por provedor, cada serviço completo em todas as plataformas e logins que se renovam sem pedir acesso de novo.

  • 27 PRs

    Experiência consistente

    Configurações respeitadas, o mesmo comportamento em todas as telas, tradução completa e documentação que aponta o caminho certo.

  • 4 PRs

    Distribuição segura

    Pacotes com assinatura e checksums verificados, e travas automáticas antes de cada release.

Cada PR, em linguagem de negócio

Clique em um PR para ver o problema, o que foi feito e o valor entregue. O link no fim de cada um leva à discussão técnica completa no GitHub.

Proteção de chaves e dados 13 PRs

  1. #473mergeado em 20/10/2026 Descoberta do Antigravity no macOS usa apenas as ferramentas do sistema Ao localizar o Antigravity no macOS, o programa chamava lsof e ps pelo nome, e uma cópia em pastas do usuário poderia rodar no lugar das do sistema; agora chama pelo caminho fixo.
    O problema
    Para ler a cota do Antigravity no macOS, o ai-usagebar precisa descobrir em qual porta o serviço local do aplicativo está escutando, e para isso executa as ferramentas lsof e ps a cada atualização. Elas eram chamadas só pelo nome, e o aplicativo da barra de menus monta o caminho de busca com as pastas do usuário (Cargo, .local e Homebrew) antes das do sistema. Um programa com esse nome em qualquer uma dessas pastas rodava a cada atualização no lugar da ferramenta do sistema.
    O que foi feito
    As duas chamadas passaram a usar o caminho completo das ferramentas do sistema, do mesmo jeito que as demais chamadas ao ps e ao Keychain no código do macOS já faziam. No Linux, a descoberta continua lendo o sistema de arquivos virtual e não executa nada, e as consultas ao cofre de senhas do Linux não mudam, porque o local da ferramenta varia entre distribuições. Um teste novo examina o código de produção do módulo e falha se houver chamada a lsof ou ps pelo nome; ele roda em qualquer plataforma, já que lê o texto do código.
    Valor entregue
    Fecha um caminho pelo qual um programa colocado numa pasta do usuário seria executado sem que quem usa a barra percebesse.
  2. #430mergeado em 15/10/2026 Chave do Cline com nome personalizado não vaza mais para outros programas Quem guardava a chave do Cline numa variável de ambiente com outro nome via o Cline como não configurado no catálogo, e essa variável era repassada aos programas que o ai-usagebar executa; agora o nome escolhido vale em todo o programa.
    O problema
    A configuração do Cline permite escolher em qual variável de ambiente fica a chave de API, recurso pensado para máquinas sem a ferramenta de terminal do Cline. Só a consulta de uso respeitava essa escolha; o ponto central que informa a variável de cada provedor seguia respondendo o nome padrão. Assim, o catálogo de provedores dava o Cline como não configurado, em desacordo com a barra, e a variável renomeada ficava fora da limpeza que tira as chaves do ambiente dos programas auxiliares, como o gh e o cofre de senhas.
    O que foi feito
    O ponto central passou a ler a variável configurada para o Cline, como já fazia com os outros provedores que oferecem essa opção. Com isso, o catálogo mostra e verifica a variável certa, e ela entra na lista de variáveis removidas do ambiente de todo programa que o ai-usagebar executa. Dois testes novos conferem o nome informado pelo catálogo e a inclusão da variável na limpeza.
    Valor entregue
    A chave do Cline fica restrita ao ai-usagebar mesmo com nome personalizado, sem chegar a outras ferramentas, e as telas que leem o catálogo passam a concordar com a barra sobre o Cline estar configurado.
  3. #402mergeado em 11/10/2026 Sessão do Antigravity lida sem repassar chaves de outros provedores Para ler a sessão do Google usada pelo Antigravity, o ai-usagebar chama o cofre de senhas do sistema, e essa chamada herdava todas as chaves de API dos outros provedores; agora elas são retiradas antes.
    O problema
    O Antigravity usa uma sessão do Google guardada no cofre de senhas do sistema, lida por ferramentas externas de sistema, no Linux e no macOS. Essas ferramentas eram iniciadas herdando todas as variáveis de ambiente onde ficam as chaves de acesso dos outros provedores, a cada atualização que recorria à sessão salva. As consultas equivalentes do Grok Bot já retiravam essas chaves.
    O que foi feito
    A chamada em cada sistema foi reorganizada para retirar as chaves antes de a consulta rodar, sem mudar o que é consultado nem como. A reorganização e a mudança de comportamento ficaram em etapas separadas, e um teste confirma a retirada no Linux e no macOS.
    Valor entregue
    As chaves de API deixam de chegar a um programa que não precisa delas, e a leitura do Antigravity passa a seguir a mesma regra das outras chamadas externas da ferramenta (Grok Bot, Claude, Codex, GitHub e agy).
  4. #399mergeado em 11/10/2026 Últimos textos vindos dos provedores tratados antes de chegar à barra Plano e modelo do Claude, saldo do Codex e custo do Ollama ainda entravam sem tratamento no texto personalizado da barra, onde um & ou < quebrava a exibição; agora todos são tratados.
    O problema
    Depois da correção para cinco provedores (PR #343), quatro marcadores de formato ainda levavam texto do provedor sem tratamento: o plano e o nome do modelo do Claude, o saldo do Codex quando a OpenAI envia algo que não é número e o custo do Ollama. O detalhe padrão do Ollama também mostrava o período de atividade sem tratamento. Qualquer um deles com & ou < chegava ao Waybar como formatação quebrada.
    O que foi feito
    Os quatro marcadores e o período do Ollama passam a ser convertidos em texto seguro no mesmo ponto em que cada provedor já trata seus nomes de plano. Com isso, o tratamento que a documentação já prometia para nomes de plano e de modelo passa a valer de fato para todos eles.
    Valor entregue
    Fecha os casos que faltavam, incluindo o Claude, último provedor com o nome do plano sem tratamento. Quem personaliza a barra deixa de vê-la quebrar por um texto inesperado do provedor nesses campos.
  5. #344mergeado em 04/10/2026 Login de contas extras do Codex sem as chaves de outros provedores Ao adicionar uma conta extra do Codex, o programa de login recebia as chaves de API de outros provedores guardadas no ambiente; agora elas são retiradas antes de ele abrir.
    O problema
    O comando que adiciona uma conta extra do Codex abre o login interativo do próprio Codex. Esse programa era iniciado herdando as variáveis de ambiente onde ficam as chaves de acesso de outros provedores. O login do Claude já retirava essas chaves; o do Codex tinha ficado de fora.
    O que foi feito
    O login do Codex passa pela mesma limpeza do Claude: a lista fixa de chaves conhecidas e os nomes de variável personalizados que o usuário configurou são retirados antes de o programa abrir. Testes novos verificam a limpeza nos dois logins.
    Valor entregue
    Reduz a exposição das chaves de API: o login do Codex deixa de receber chaves de outros provedores, como já acontecia com o login do Claude.
  6. #343mergeado em 04/10/2026 Nomes de plano e de modelo tratados antes de entrar no texto da barra Em cinco provedores, nomes de plano e de modelo entravam sem tratamento no texto personalizado da barra, e um & ou < bastava para quebrar a exibição; agora esse texto é tratado antes.
    O problema
    Quem monta o texto da barra ou do detalhe ao passar o mouse com marcadores de formato (placeholders) recebia sem tratamento os nomes de plano e de modelo de Cursor, Z.AI, OpenAI (Codex), Kilo e Ollama, em sua maioria vindos das APIs dos provedores. Como a barra lê certos caracteres como formatação, um nome com & ou < gerava um texto inválido que o Waybar rejeitava. O texto padrão desses provedores já era tratado; só o caminho personalizado ficava exposto.
    O que foi feito
    Os nomes passam a ser convertidos em texto seguro no ponto em que entram nos marcadores, o mesmo padrão já usado em Kiro, OpenRouter e Antigravity. Cada um dos cinco provedores ganhou um teste com nomes contendo & e <, que falha na versão anterior.
    Valor entregue
    Nomes de plano e de modelo desses cinco provedores deixam de quebrar ou alterar a formatação da barra de quem personalizou a exibição, e esses provedores passam a seguir a regra que outros já seguiam.
  7. #328mergeado em 03/10/2026 Chaves de contas nomeadas não vazam para outros programas As ferramentas externas que o ai-usagebar aciona recebiam chaves de contas nomeadas e de variáveis com nome personalizado; agora essas chaves também são retiradas antes de cada execução.
    O problema
    Antes de acionar ferramentas externas, como as linhas de comando do GitHub, do Grok, do Antigravity e do Claude, o programa apaga das variáveis de ambiente repassadas a elas as chaves dos provedores, para que cada chave chegue só ao seu serviço. A lista, porém, tinha só os nomes padrão e os dos provedores personalizados. Chaves de contas nomeadas e de variáveis renomeadas pelo usuário, inclusive as de gerenciamento do OpenRouter, eram repassadas a todas essas ferramentas.
    O que foi feito
    Ao carregar a configuração, o programa passa a registrar para remoção as variáveis de todas as contas nomeadas, os nomes padrão trocados pelo usuário e as chaves de gerenciamento do OpenRouter. Nomes inválidos ou já cobertos continuam ignorados, e dois testes novos falham na versão anterior.
    Valor entregue
    A regra de que cada chave só chega ao seu provedor passa a valer também para quem usa contas nomeadas ou nomes personalizados, reduzindo a exposição de credenciais a programas de terceiros.
  8. #326mergeado em 03/10/2026 Chave colada no campo errado não aparece mais em mensagens de erro Quem colava a chave de API no campo destinado ao nome da variável de ambiente via a chave repetida em duas mensagens de erro; agora elas citam só o nome do campo.
    O problema
    O campo que deveria receber o nome da variável de ambiente onde fica a chave às vezes recebe a própria chave, colada no lugar errado. O programa já evitava repetir esse valor, mas duas mensagens ainda o exibiam: a do Kimi sem credenciais e a de validação dos provedores personalizados, que impede o carregamento de toda a configuração. A chave chegava à janela de detalhes da barra, ao relatório para scripts e ao painel do terminal.
    O que foi feito
    O Kimi só cita o nome da variável quando ele é válido e, caso contrário, pede uma variável válida sem repetir o valor. O erro dos provedores personalizados nomeia o campo sem o conteúdo. Cada mensagem ganhou um teste que falha na versão anterior, e nomes válidos continuam aparecendo para orientar a correção.
    Valor entregue
    Um erro comum de preenchimento deixa de expor a chave de API nas telas, e a mensagem continua indicando qual campo corrigir.
  9. #325mergeado em 03/10/2026 Erro no arquivo de configuração não exibe mais a chave de API Um erro de digitação no arquivo de configuração fazia a mensagem de erro repetir a linha problemática, muitas vezes a da chave de API; agora ela aponta linha e coluna sem mostrar o conteúdo.
    O problema
    As mensagens de erro de leitura do arquivo de configuração citavam a linha em que a leitura parou. O erro mais comum é esquecer as aspas, e quando isso acontece numa chave de API escrita no arquivo, a linha citada é a própria chave. Ela aparecia na janela de detalhes da barra, nos avisos de todas as interfaces, no relatório para scripts, no painel do terminal, na tela de configurações e na saída de erros.
    O que foi feito
    Uma função pequena monta a mensagem só com linha, coluna e a explicação do erro, sem o conteúdo da linha, e passa a ser usada onde o arquivo é lido ou gravado, inclusive no cadastro de contas. Quando o problema é um valor do tipo errado, a mensagem continua nomeando o campo. A posição basta para achar o erro.
    Valor entregue
    Um deslize comum de digitação deixa de expor a chave de API nas telas e na saída do terminal, e a pessoa continua sabendo exatamente onde corrigir.
  10. #320mergeado em 03/10/2026 Arquivo com chave do Ollama Cloud fica restrito ao próprio usuário A proteção que restringe o arquivo de configuração ao próprio usuário quando ele guarda uma chave de API não reconhecia a chave do Ollama Cloud; agora ela recebe a mesma proteção das demais.
    O problema
    No Linux e no macOS, quando o arquivo de configuração tem uma chave de API escrita nele, o programa restringe a leitura ao próprio usuário. A chave do Ollama Cloud era a única, entre dezesseis campos de chave, fora da lista que aciona essa proteção. Um arquivo cuja única chave fosse a do Ollama mantinha a permissão com que foi criado, em geral legível por qualquer usuário da máquina.
    O que foi feito
    A chave do Ollama Cloud entra na lista que aciona a proteção. O teste novo percorre todos os provedores em vez de citar cada um, então um provedor futuro que ganhe chave no arquivo sem entrar na lista faz o teste falhar.
    Valor entregue
    Quem guarda a chave do Ollama Cloud no arquivo de configuração deixa de expô-la a outras contas da mesma máquina, e a verificação automática cobre os próximos provedores.
  11. #318mergeado em 03/10/2026 SuperGrok não exibe mais a resposta bruta de uma falha de login Com o login do SuperGrok vencido, as telas mostravam até 200 caracteres da resposta do servidor em vez da mensagem neutra já gravada em disco; agora exibem exatamente o que foi registrado.
    O problema
    Numa recusa de autenticação, o ai-usagebar grava em disco só uma mensagem neutra, porque a resposta do servidor pode trazer dados da conta. No SuperGrok, com o login do Grok Build vencido ou revogado e a barra recorrendo ao último valor salvo, a mensagem exibida ainda vinha da resposta bruta, com até 200 caracteres. Ela aparecia na janela de detalhes do Waybar, no painel do terminal e no relatório para scripts a cada nova consulta.
    O que foi feito
    As telas passam a mostrar exatamente a mensagem gravada em disco, como os outros provedores já faziam. O erro continua sendo registrado só quando um valor salvo vai para a tela. Um teste novo simula uma recusa com um e-mail na resposta e falha na versão anterior.
    Valor entregue
    Quem usa o SuperGrok não tem mais o conteúdo de uma resposta de autenticação exposto na barra, no painel ou em scripts, e o que aparece na tela passa a coincidir com o que fica registrado.
  12. #317mergeado em 03/10/2026 Formatos personalizados do Antigravity sem quebrar a barra do Waybar Um formato de barra que exibisse o grupo de modelos "Claude & GPT OSS" do Antigravity entregava ao Waybar um texto inválido; agora esses nomes e o nome do plano são tratados antes de entrar na barra.
    O problema
    A documentação oferece marcadores para exibir, num formato personalizado, os nomes dos grupos de modelos do Antigravity, e um deles se chama "Claude & GPT OSS". O texto ia sem tratamento para a barra e para a janela de detalhes, e o caractere & solto é inválido na formatação que o Waybar interpreta, por isso o texto era rejeitado. O nome do plano, que vem do próprio serviço, seguia o mesmo caminho.
    O que foi feito
    Os cinco campos de texto (o plano e os quatro nomes de grupo) passam a ser convertidos para a forma que a formatação aceita antes de entrar na barra e na janela de detalhes, o padrão que Kiro e OpenRouter já seguiam. GNOME e macOS continuam mostrando o & normalmente.
    Valor entregue
    Quem personaliza a barra pode exibir qualquer grupo de modelos sem que o Waybar rejeite o texto, e o que vem do serviço não consegue mais alterar a formatação da barra.
  13. #281mergeado em 29/09/2026 Mensagens dos comandos de conta sem códigos ocultos de terminal Os comandos que gerenciam contas passam a limpar caminhos de pastas e nomes de contas antes de exibi-los, e a junção de históricos do Claude Desktop não disputa mais o mesmo perfil com uma troca de conta.
    O problema
    Os comandos que adicionam contas, trocam de conta e juntam o histórico de conversas entre perfis do Claude Desktop imprimiam caminhos de pastas e nomes de contas sem tratamento. Um nome preparado de propósito podia carregar códigos de controle do terminal, capazes de alterar o que aparece na tela. A junção de históricos também mexia no perfil sem a trava usada pela troca de conta e pela renovação de login, e os processos podiam gravar nos mesmos arquivos ao mesmo tempo.
    O que foi feito
    Toda mensagem desses comandos passa por uma limpeza única antes de chegar ao terminal, e um teste de proteção barra qualquer mensagem nova que exiba caminho ou erro sem esse tratamento. A junção de históricos agora espera a mesma trava da troca de conta antes de mexer no perfil.
    Valor entregue
    Quem administra várias contas fica protegido contra texto que manipula o terminal e contra dois processos alterando o mesmo perfil ao mesmo tempo, o que pode corrompê-lo. O teste de proteção impede que mensagens futuras repitam o problema.

Números confiáveis 30 PRs

  1. #601mergeado em 09/11/2026 Orçamentos da Mistral no macOS sem marcador falso de tempo decorrido Na barra de menus do macOS, o orçamento de API da Mistral exibia um marcador de ritmo parado em 0% do período, embora esse orçamento não tenha ciclo de duração fixa; agora os dois orçamentos da Mistral aparecem sem o marcador, como já acontecia com o do Vibe Code.
    O problema
    Na barra de menus do macOS, cada cota pode vir com um marcador que mostra quanto do período já passou, para comparar com o consumo e saber se o uso está adiantado. A Mistral tem dois orçamentos mensais, o da API e o do Vibe Code, e nenhum deles tem ciclo de duração fixa, então o tempo decorrido não faz sentido para eles. O do Vibe Code já estava configurado sem o marcador, mas o da API herdou a configuração genérica e, como a Mistral informa duração zero, o tempo decorrido chegava como zero e virava um marcador falso em 0% na barra e no painel.
    O que foi feito
    O orçamento da API passou a ter a mesma configuração do Vibe Code, sem marcador de tempo decorrido. Os testes conferem que nenhum dos dois orçamentos exibe o marcador e cobrem também a conta da Mistral sem orçamento de API, em que só o do Vibe Code aparece, com o percentual e o rótulo preservados.
    Valor entregue
    Quem acompanha a Mistral pela barra de menus deixa de ver uma indicação de ritmo que não corresponde a nada, e os dois orçamentos passam a ser lidos só pelo consumo real.
  2. #591mergeado em 07/11/2026 Contas Kimi sem cota rotativa omitem a janela de cinco horas Em planos Kimi sem limite rotativo de requisições, a barra e o painel exibiam um falso consumo de 0%; agora a interface omite essa janela e apresenta apenas a cota ativa.
    O problema
    A API do provedor Kimi omite informações de limite rotativo em determinadas categorias de conta. Quando isso ocorria, o aplicativo continuava inserindo o marcador de cinco horas no formato padrão da barra e no painel do terminal, exibindo um valor zerado que dava a falsa impressão de cota esgotada ou recém-reiniciada. Além disso, as variáveis de substituição de texto geravam valores numéricos fixos em vez de ficarem vazias.
    O que foi feito
    A seleção do formato padrão da barra passou a verificar a existência efetiva do limite rotativo antes de incluí-lo, exibindo diretamente a cota semanal ou mensal correspondente. No painel do terminal, a coluna da janela rotativa só é adicionada se o plano possuir o limite, e as variáveis de formatação passam a retornar texto vazio quando a métrica não existe. Novos testes unitários cobrem todas as combinações de janelas suportadas pela API.
    Valor entregue
    Usuários com planos corporativos ou sem janela fixa de cinco horas visualizam exatamente as cotas vigentes, sem dados enganosos na barra do sistema.
  3. #584mergeado em 07/11/2026 Barra padrão do Kimi mostra a cota mensal no formato novo Contas Kimi no formato novo de uso exibiam a faixa semanal vazia; o PR propõe colocar a cota mensal no texto padrão da barra.
    O problema
    A barra de status mostra as cotas da conta Kimi. No formato novo de uso, a conta tem a janela de cinco horas e um pool mensal, sem cota semanal. O texto padrão ainda pedia o percentual da semana, então a barra imprimia um espaço semanal vazio e omitia o pool mensal, embora essa cota já definisse a cor. Dicas e o painel do terminal já seguiam o formato novo.
    O que foi feito
    O PR propõe, quando a conta não tem cota semanal e informa o pool mensal, montar o texto padrão com a janela de cinco horas e o percentual mensal, no mesmo rótulo que o painel do terminal já usa. Contas no formato antigo e um formato personalizado permanecem iguais. Testes automatizados conferem o texto mensal, o formato antigo inalterado e o caso em que não há janela longa.
    Valor entregue
    Quem usa Kimi no plano novo vê na barra a cota que de fato limita a conta, alinhada à cor que a barra já mostrava.
  4. #567mergeado em 03/11/2026 Plano Ultra atualiza nomenclatura e remove janela inexistente de cinco horas Contas verificadas no plano Ultra exibiam uma janela zerada de cinco horas; o PR propõe atualizar o nome dos planos e exibir apenas o consumo semanal.
    O problema
    A barra de status e os painéis de monitoramento exibem o consumo de cotas de provedores de inteligência artificial em diferentes janelas de tempo. Contas verificadas no nível superior do plano da Anthropic não possuem limite de sessão de cinco horas, contando unicamente com cotas semanais. O leitor convertia a ausência desse limite em uma sessão zerada e sem previsão de recarga, gerando indicadores vazios na barra e registros desnecessários nos relatórios de uso.
    O que foi feito
    O PR propõe tratar a janela de cinco horas como opcional, omitindo a linha de sessão em contas verificadas e exibindo o percentual semanal no formato padrão da barra. A nomenclatura dos planos também foi alinhada aos nomes oficiais Ultra e Max em todas as telas e integrações. Testes automatizados com respostas reais confirmam a remoção da janela de sessão nas contas verificadas e garantem que contas ainda sujeitas a limite temporário continuem sendo exibidas.
    Valor entregue
    Mantém as telas de monitoramento alinhadas às cotas reais contratadas e elimina indicadores vazios para quem utiliza contas verificadas.
  5. #563mergeado em 03/11/2026 Alertas de recarga gradual não repetem notificações a cada ciclo Cotas com reposição parcial disparavam alertas a cada ciclo; o PR propõe rearmar notificações apenas quando o uso cair da faixa de segurança.
    O problema
    O sistema de notificações monitora o consumo das cotas e alerta quando os limites configurados são atingidos. Em provedores com reposição contínua de créditos, cada fração devolvida desloca a data prevista de encerramento em várias horas. Esse deslocamento fazia o mecanismo interpretar cada reposição parcial como uma nova janela de tempo, disparando alertas repetidos a cada poucas horas para contas que permaneciam próximas do limite.
    O que foi feito
    O PR propõe bloquear a reativação de alertas baseada em alteração de horário quando a métrica possui reposição gradual. Nesses casos, o envio de novos avisos ocorre exclusivamente quando o percentual consumido recua abaixo da margem de histerese estabelecida pelo sistema. Um teste automatizado valida que créditos parciais e alterações de horário não geram notificações sucessivas sem a devida queda de consumo.
    Valor entregue
    Elimina notificações repetitivas em cotas de reposição contínua e mantém os avisos focados em alterações reais de consumo.
  6. #516mergeado em 27/10/2026 Pausa por limite de requisições é mantida na virada de ciclo A virada de ciclo do Cursor e do Kiro descartava o cache e forçava chamadas imediatas à rede mesmo sob pausa ativa de limite; agora a pausa de cinco minutos é respeitada sem disparar requisições.
    O problema
    Ao receber um erro de excesso de requisições da API, o ai-usagebar arma uma pausa preventiva de cinco minutos para evitar bloqueios maiores. Os módulos do Cursor e do Kiro descartam respostas em cache cuja data de renovação de créditos já passou, para não exibir cotas do ciclo anterior. Porém, esse descarte fazia o aplicativo ignorar o intervalo de espera ativo e tentar consultar a rede novamente a cada atualização, rearmando o bloqueio continuamente.
    O que foi feito
    O aplicativo passou a verificar se há um intervalo de espera ativo logo após rejeitar o cache expirado e antes de efetuar qualquer chamada de rede, tanto no Cursor quanto no Kiro. O temporizador compartilhado passa a ser exibido até que o prazo expire, sem contatar os servidores nem tentar renovar credenciais desnecessariamente, com testes cobrindo os dois provedores.
    Valor entregue
    Evita chamadas em excesso contra as APIs dos provedores e previne bloqueios prolongados de conta por repetição contínua de requisições.
  7. #502mergeado em 25/10/2026 Google Antigravity deixa de mostrar cota antiga ao lado de um erro de autenticação Com credenciais rejeitadas, a barra servia a cota antiga do cache como se fosse atual, ao lado do erro de autenticação, e o formato padrão exibia um sinal de porcentagem solto quando não havia janela de sessão; agora o erro aparece sozinho e o formato se adapta às janelas presentes.
    O problema
    O ai-usagebar acompanha a cota do Google Antigravity consultando o servidor local do editor ou o serviço remoto. Quando um deles respondia 401 ou 403, por sessão encerrada ou credencial rejeitada, a rotina caía no caminho de contingência e, se havia um cache anterior, exibia as métricas antigas marcadas como prontas: barras de cota cheias, em geral 100% nas janelas semanais, junto da mensagem de autenticação recusada. Além disso, o formato padrão da barra tinha fixos os percentuais de sessão e de semana; quando o produto reportava só janelas semanais, como na descoberta pela linha de comando, sobrava um sinal de porcentagem solto no texto.
    O que foi feito
    Rejeições de autenticação 401 e 403 passaram a marcar o cache como velho, registrar o erro e devolver a falha diretamente, sem recorrer à cota antiga, e o cache quente deixa de ser reutilizado nesse caso. O formato padrão virou uma função que escolhe o modelo conforme as janelas presentes: sessão e semana, só semana, só sessão ou nenhuma, no mesmo padrão já usado pelos provedores Ollama e Devin. Dois testes automatizados cobrem o 403 com cache quente e a escolha do formato, e o registro de mudanças documenta os dois ajustes.
    Valor entregue
    O usuário vê o erro certo quando a sessão expira, em vez de uma cota falsa que parece válida, e a barra nunca mostra um percentual pela metade.
  8. #499mergeado em 25/10/2026 Nous Research exibe carregamento em vez de erro em falhas passageiras Instabilidades passageiras de rede no Nous Research disparavam o alerta de erro no Waybar; o PR propõe exibir o estado de carregamento como nos outros provedores.
    O problema
    Durante oscilações breves de conexão ou indisponibilidades temporárias dos servidores da Nous Research, as consultas de saldo do provedor falhavam por tempo limite ou respostas de serviço sobrecarregado. Diferente dos demais vinte e nove provedores integrados ao Waybar, que exibem um estado suave de carregamento enquanto aguardam a reconexão automática, o leitor do Nous Research tratava qualquer falha como erro fatal e exibia imediatamente o ícone de aviso de falha na barra.
    O que foi feito
    O PR propõe que falhas passageiras de transporte ou instabilidades do servidor retornem o estado padrão de carregamento no widget do Waybar, alinhando o comportamento ao restante da aplicação. Erros definitivos, como credenciais de acesso expiradas ou inválidas, continuam encaminhados para o caminho de alerta visual. Um novo teste unitário hermético valida com servidor simulado que instabilidades retornam o estado de carregamento e rejeições de autenticação disparam o alerta correspondente.
    Valor entregue
    Elimina alarmes falsos de erro na barra de status do usuário durante breves oscilações de rede ao consultar o Nous Research.
  9. #478mergeado em 22/10/2026 Falha passageira do agy não derruba mais a cota do Antigravity para 0% Com só o agy conectado, quando ele demorava ou falhava ao responder, o ai-usagebar recorria à API do Google e exibia por dez minutos um uso de 0% do Gemini como leitura atual; o PR propõe manter a última leitura do próprio agy, marcada como desatualizada, até ele responder de novo.
    O problema
    Desde que o ai-usagebar passou a ler a cota direto do agy, a ferramenta de terminal do Antigravity, a API do Google ficou como reserva para quando o agy não responde. Para uma conta conectada só pelo agy, essa API devolve outra contagem, que não corresponde ao uso real. O agy, porém, pode levar mais de um minuto para responder quando parte do zero: em três medições seguidas, a consulta levou 65, 32 e 5 segundos, contra um limite de 20. Cada estouro contava como falha e suspendia novas tentativas por dez minutos, e nesse intervalo a resposta da API do Google era gravada como leitura atual. Num caso real, a barra mostrava 0% de uso nas duas cotas do Gemini enquanto o próprio agy informava 90% da cota semanal consumida; o número se corrigia sozinho e voltava a cair.
    O que foi feito
    Com a correção proposta, uma consulta sem resposta, com o agy instalado, reaproveita a última leitura do próprio agy, exibida como desatualizada, em vez de recorrer à API do Google. A leitura guardada só vale se tiver vindo do agy, for da mesma conta, não passar da idade máxima aceita e não tiver a janela de 5 horas já renovada; assim, se o agy ficar em silêncio por muito tempo, a API do Google volta a responder em até cinco horas, em vez de a barra congelar num número antigo. Quem não usa o agy, quem está com o aplicativo do Antigravity aberto e a primeira execução continuam como antes. O limite de tempo da consulta ao agy sobe de 20 para 90 segundos, o que cobre as partidas lentas medidas e não muda nada quando ele responde em 5 segundos. Dois testes novos cobrem a mudança: um mantém a leitura do agy depois de uma falha sem consultar a API do Google e falha sem a correção, e o outro garante que um número antigo da API do Google não é reaproveitado no lugar do agy. Num teste no macOS com o agy real, a leitura bateu com os 90% que ele mostrava, e a integração contínua passou no Linux, no macOS e no Windows.
    Valor entregue
    Com a mudança, quem usa o Antigravity pelo terminal deixa de ver, de tempos em tempos, a barra afirmar que nada da cota do Gemini foi usado quando ela está perto do fim.
  10. #462mergeado em 18/10/2026 Saldos e créditos do Nous Research exibem formato monetário em dólar Nos cartões e dicas de interface, as cotas do Nous Research mostravam números brutos sem unidade; agora são apresentadas com símbolo monetário em dólares.
    O problema
    O provedor Nous Research expõe créditos de assinatura, créditos adquiridos avulsos e saldo total utilizável. Nos painéis de visualização e nas dicas de contexto ao passar o mouse, essas quantias apareciam como valores numéricos puros, sem indicação de moeda, gerando ambiguidade se os números representavam unidades de crédito abstratas, requisições ou quantias financeiras.
    O que foi feito
    As linhas de crédito e as descrições de contexto passaram a formatar os valores monetários em dólares norte-americanos, padronizando casas decimais e o símbolo de moeda. Novos marcadores de formato para saldo também foram disponibilizados para a personalização de texto da barra, acompanhados de testes automatizados.
    Valor entregue
    Usuários identificam de imediato o saldo monetário restante na conta do provedor, eliminando dúvidas sobre o valor financeiro disponível.
  11. #455mergeado em 17/10/2026 Esgotar o Gemini 4 Argon não faz mais o Antigravity parecer esgotado Na barra de menus do macOS, o indicador do Antigravity mostrava 100% quando só a cota exclusiva do modelo Gemini 4 Argon tinha acabado, enquanto as cotas compartilhadas estavam em 55% e 39%; agora mostra a cota compartilhada mais cheia.
    O problema
    Nos visuais com logotipos da barra de menus do macOS e nas abas do painel, cada provedor é resumido pela sua cota mais consumida. O Antigravity tem cotas compartilhadas, usadas por modelos como Gemini Flash, Gemini Pro, Claude e GPT-OSS, e uma cota exclusiva do Gemini 4 Argon, que entrava nessa disputa como se fosse do provedor inteiro. Com ela esgotada, o indicador marcava 100% enquanto as cotas compartilhadas estavam em 55% na janela de 5 horas e 39% na semanal.
    O que foi feito
    O relatório passou a marcar as cotas exclusivas de um modelo, num campo novo que só aparece quando verdadeiro, e a barra de menus e as abas do painel passaram a tratá-las como detalhe: elas só representam o provedor quando nada compartilhado está visível. A linha própria do Argon continua no painel e segue contando para os alertas e as notificações. Testes em Rust e no painel cobrem os 55% esperados e o caso em que só a cota exclusiva sobra.
    Valor entregue
    Quem usa o Antigravity vê pela barra quanto ainda resta para os modelos que de fato usa, sem perder o aviso de que a cota exclusiva do Argon acabou.
  12. #451mergeado em 17/10/2026 Antigravity passa a ler a cota direto do agy quando ele está instalado Com só a ferramenta de terminal agy conectada, o ai-usagebar consultava a API do Google, que para essas contas devolve outra contagem e chegava a mostrar 0% do Gemini; agora pergunta primeiro ao próprio agy.
    O problema
    Quando o aplicativo do Antigravity está fechado, o ai-usagebar recorre à API do Google para saber a cota. Para uma conta conectada só pelo agy, a ferramenta de terminal do Antigravity, essa API responde com outra contagem: o canal principal traz um grupo Gemini que não corresponde ao uso real, e o canal diário nem traz o grupo. Num caso real, a barra mostrava 0% nas duas cotas do Gemini enquanto o próprio agy informava 51% e 37%.
    O que foi feito
    O ai-usagebar passou a pedir a cota ao próprio agy antes de recorrer à API do Google, com as proteções já usadas para chamá-lo: sem atualização automática, sem repassar chaves de outros provedores, com limite de tempo e sem gerar log com o endereço da conta. A resposta só vale se vier completa e dentro do tamanho máximo, e a leitura ocorre no máximo a cada 2 minutos. Testes usam um agy simulado, e a validação no macOS bateu com os números do agy real.
    Valor entregue
    Quem usa o Antigravity pelo terminal vê na barra os mesmos números que o agy mostra, e não um zero que escondia mais da metade da cota consumida.
  13. #448mergeado em 17/10/2026 Com várias sessões do agy abertas, o macOS mostra a leitura mais recente Com mais de uma sessão do agy aberta na mesma conta, o Antigravity no macOS mostrava os números da sessão que se redesenhou por último, muitas vezes os mais antigos; agora mostra a leitura mais recente da cota.
    O problema
    Cada sessão do agy, a ferramenta de terminal do Antigravity, reenvia a cota que leu por último toda vez que redesenha sua linha de status, mas só consulta a cota de novo depois de uma interação própria. Uma sessão parada continua reenviando os números do início com horário novo, e o ai-usagebar escolhia a que tinha chegado por último. Num caso real, a barra mostrava 36% da cota de 5 horas do Gemini, leitura de 17 minutos antes, enquanto a sessão em uso já via 42%; ao fechar essa sessão, a barra voltava de vez aos 36%.
    O que foi feito
    As leituras passaram a ser ordenadas pelos próprios números: a renovação de uma janela só anda para frente e, dentro da mesma janela, o consumo só cresce. O horário de chegada só desempata quando os números não permitem decidir. Uma sessão fechada mantém sua leitura enquanto ela for a mais recente e outra sessão da conta seguir aberta, sem nenhum dado novo guardado. Cinco testes novos reproduzem o caso real e as situações de empate e de troca de janela.
    Valor entregue
    Quem trabalha com várias sessões do agy ao mesmo tempo vê na barra o consumo real da cota, e não um número antigo que subestima o quanto já foi gasto.
  14. #446mergeado em 17/10/2026 Relatório para scripts não informa mais janela de duração zero Para cotas sem duração de ciclo informada, como a assinatura do Synthetic, o relatório em JSON exportava duração zero em vez de omitir o campo, contrariando o formato documentado; agora o campo é omitido.
    O problema
    O relatório em formato de máquina, usado por scripts e pelo painel da bandeja, informa a duração da janela de cada cota para que as telas calculem o ritmo de consumo e o progresso até a renovação. Quando o provedor não informa a duração do ciclo, como o Synthetic, que dá a data de renovação mas não a extensão do mês, o relatório exportava duração zero. O formato documentado manda omitir o campo nesse caso, e as telas tratam zero como valor inválido.
    O que foi feito
    Durações zero ou negativas passaram a ser tratadas como não informadas, e o campo é omitido do relatório, como já acontecia com o Kiro. As cotas com duração conhecida continuam exportando o valor normalmente. Um teste novo usa a cota de assinatura do Synthetic e confere que o campo some das seções e fica nulo na lista de métricas.
    Valor entregue
    Quem consome o relatório em scripts ou em outras telas recebe um formato coerente com a documentação e não precisa tratar um zero que significava ausência de informação.
  15. #435mergeado em 16/10/2026 Antigravity fechado não esconde mais o consumo dos modelos Gemini Com o Antigravity fechado, o ai-usagebar consultava primeiro um canal do Google que só devolve a cota dos modelos Claude e GPT, e a cota do Gemini sumia; agora consulta primeiro o canal principal, que traz os dois grupos.
    O problema
    Quando o Antigravity está fechado, o ai-usagebar busca a cota direto no serviço do Google, tentando primeiro o canal diário e depois o principal. O canal diário responde com sucesso, mas só com o grupo dos modelos Claude e GPT, sem o grupo Gemini, e o leitor aceita respostas parciais porque alguns produtos de fato informam só parte das janelas. Assim, a resposta incompleta sempre vencia: a barra mostrava 0% do grupo de terceiros enquanto a cota semanal do Gemini da conta estava em 95%.
    O que foi feito
    A consulta da cota passou a começar pelo canal principal, que devolve os dois grupos, e o canal diário ficou como alternativa em caso de falha, papel que ele já cumpria. A consulta do plano manteve a ordem original, porque o nome do plano não tem esse problema. Os testes foram ajustados à nova ordem, inclusive os de acesso recusado, e a verificação contra o serviço real passou a trazer as janelas do Gemini.
    Valor entregue
    Quem usa o Antigravity vê o consumo real do Gemini mesmo com o aplicativo fechado, e não um zero tranquilizador quando a cota semanal já está quase no fim.
  16. #432mergeado em 15/10/2026 Muse Code mostra carregando, e não erro, numa falha passageira de rede Ao acordar o computador antes de a rede voltar, o widget do Muse Code no Waybar exibia um alerta de erro, enquanto os demais provedores mostravam o estado de carregamento; agora ele faz o mesmo.
    O problema
    Quando a rede falha por um instante, como ao acordar o computador antes de a conexão voltar, numa demora para resolver o endereço ou num tempo de espera esgotado, os provedores do ai-usagebar mostram no Waybar o estado de carregamento e esperam a próxima atualização. O Muse Code não tinha esse tratamento: sem dados guardados, a falha passageira caía no caminho de erro e a barra exibia o alerta com a mensagem técnica da conexão.
    O que foi feito
    O widget do Muse Code passou a tratar falhas passageiras de rede como os outros provedores, devolvendo o estado de carregamento. Erros que não são passageiros continuam indo para o caminho de erro, com o aviso de sempre. Um teste novo simula uma conexão recusada sem dados guardados e confere que a falha é reconhecida como passageira.
    Valor entregue
    Quem usa o Muse Code no Waybar deixa de ver um alerta falso toda vez que o computador acorda, e o sinal de erro volta a significar um problema real.
  17. #401mergeado em 11/10/2026 Cor do cartão do Claude no KDE volta a refletir a cota Na visão em cartões do widget do KDE, o cartão do Claude ficava vermelho por causa de uma sessão com o contexto a 90%, com as cotas em 29%; agora a cor vem das cotas.
    O problema
    A visão em cartões do widget do KDE Plasma pinta cada cartão com a gravidade mais alta entre todas as suas linhas. As linhas de sessão do Claude Code, que medem o uso da janela de contexto e não a cota, entravam nessa conta. Com uma sessão a 90% e as cotas em 29%, o número principal indicava situação tranquila, mas o cartão do Claude ficava vermelho.
    O que foi feito
    A cor do cartão passa a seguir a mesma separação já aplicada ao número principal e aos espaços do painel: as linhas de cota decidem, e as de sessão só contam quando o provedor não tem outra. A lista de linhas dentro do cartão continua mostrando tudo.
    Valor entregue
    Fecha no KDE mais um ponto onde uma conversa longa parecia cota estourada, e o cartão passa a concordar com o número principal do próprio widget.
  18. #400mergeado em 11/10/2026 Ícone da bandeja do Windows não fica vermelho por causa de uma sessão No Windows, uma sessão do Claude Code com o contexto quase cheio deixava o ícone da bandeja vermelho mesmo com as cotas em 29%; agora a cor vem das cotas.
    O problema
    A cor do ícone na bandeja do Windows reflete a métrica mais crítica entre todos os provedores, e essa conta incluía as linhas de sessão do Claude Code, que medem o uso da janela de contexto (o limite de tamanho da conversa), não a cota. Uma sessão a 90% pintava o ícone de vermelho enquanto as cotas estavam em 29%. No app da bandeja, era o último ponto que ainda misturava sessões com cotas.
    O que foi feito
    O cálculo da cor passa a ignorar as linhas de detalhamento sempre que o provedor tem uma cota própria; sem cota, elas continuam contando, como nas outras telas. É a mesma separação já usada no Omarchy, no Linux Mint, no KDE e na barra de menus do macOS.
    Valor entregue
    O vermelho na bandeja do Windows volta a significar cota perto do fim, e uma conversa longa deixa de gerar alarme falso num simples olhar para o ícone.
  19. #394mergeado em 11/10/2026 Créditos da Nous Research exibidos sem ponto decimal sobrando Valores de crédito da Nous Research com uma fração mínima apareciam como "1." ou "0."; agora saem como números limpos.
    O problema
    Os créditos da Nous Research aparecem com até seis casas decimais, sem os zeros finais. Quando a fração era tão pequena que arredondava para zero, como um resíduo de cálculo perto de um número inteiro, todos os zeros saíam mas o ponto ficava, e a barra e o detalhe exibiam valores como "1." ou "0.".
    O que foi feito
    Depois de retirar os zeros, a formatação também remove o ponto decimal que tenha ficado sozinho no fim. Inteiros e valores decimais comuns continuam iguais.
    Valor entregue
    Os saldos de crédito da Nous Research passam a aparecer sempre como números bem formados, na barra e no detalhe.
  20. #391mergeado em 09/10/2026 Sem alerta crítico falso no começo de uma cota semanal Uso normal nas primeiras horas de uma cota semanal acendia um alerta crítico mesmo com 88% livres; agora vira um aviso amarelo, e os medidores passam a mostrar sempre o consumido.
    O problema
    O painel projeta o ritmo de consumo para avisar quando a cota vai acabar antes de renovar. No começo de uma janela longa, como a semanal do SuperGrok, do Claude ou do Codex, poucas horas de uso normal já projetavam mais que o dobro da cota e acendiam o alerta crítico, com chama e data de esgotamento. No modo que mostra o que resta, o resultado era uma barra 88% cheia pintada de vermelho.
    O que foi feito
    Nos primeiros 15% da janela (cerca das primeiras 25 horas de uma semana), com pelo menos metade da cota livre, o consumo acelerado passa a gerar um aviso amarelo, sem chama; o Linux Mint recebeu a mesma regra. Os medidores do painel e da barra de menus passam a se encher sempre com o consumido (revendo a direção adotada no PR #389), e a opção usado/restante muda só os números. Além disso, uma linha em 0% deixou de sumir no fundo escuro da barra de menus do macOS.
    Valor entregue
    O alerta crítico volta a indicar risco real: quem gasta 55% nas primeiras oito horas da semana continua recebendo o alarme, mas o uso normal de começo de semana deixa de parecer emergência.
  21. #373mergeado em 08/10/2026 Codex desconectado pede novo login em vez de acusar limite de uso Com o login do Codex vazio, o ai-usagebar podia consultar a OpenAI sem credencial e exibir um falso limite de uso, travado por cinco minutos; agora pede para refazer o login.
    O problema
    Com o arquivo de login do Codex desconectado (credenciais em branco), a ferramenta podia tentar renovar o acesso com um código vazio, que a OpenAI recusava, ou consultar o uso sem credencial. A recusa do servidor aparecia como erro temporário e, quando vinha como "muitas requisições", pausava as consultas por cinco minutos, deixando o cartão errado mesmo depois de a pessoa refazer o login.
    O que foi feito
    Uma credencial em branco passa a ser tratada como problema de login, com a mensagem pedindo para rodar "codex login", sem chamada à rede e sem pausa. A renovação só é tentada quando há um código de renovação preenchido, e nesse caso ela recupera o acesso sozinha antes de consultar o uso. Três testes novos cobrem esses caminhos.
    Valor entregue
    Quem usa o Codex recebe o diagnóstico certo e a ação que resolve, em vez de esperar por um limite que não existe. É o mesmo tratamento que o Claude já recebia.
  22. #363mergeado em 07/10/2026 Etiqueta da barra de menus do macOS não troca a cota pelo saldo No macOS, a etiqueta da barra de menus podia mostrar o saldo pré-pago de um provedor enquanto a aba dele no painel mostrava a cota; as duas agora seguem a mesma regra.
    O problema
    Um dos modos da barra de menus do macOS mostra uma etiqueta com o nome do provedor e o seu maior percentual de uso, o mesmo número da aba desse provedor no painel que abre ao clicar. Quando o provedor tinha também um saldo pré-pago com percentual, o saldo entrava na disputa: com 95% dele gasto e uma cota semanal a 12%, a etiqueta mostrava o saldo em dólares e a aba mostrava 12% (ou 88% no modo que mostra o que resta).
    O que foi feito
    Saldos deixam de disputar com as janelas de cota e só aparecem na etiqueta quando o provedor não tem nenhuma janela, a regra que o painel já aplicava. Testes fixam essa regra dos dois lados, na barra de menus e no painel, para que não voltem a divergir.
    Valor entregue
    Quem acompanha o uso pela barra de menus vê o mesmo número que encontra ao abrir o painel, nos dois modos de leitura. Some a contradição entre duas telas da mesma ferramenta.
  23. #362mergeado em 07/10/2026 Painel do KDE reserva seus espaços para as cotas, não para sessões No painel compacto do KDE Plasma, uma sessão do Claude Code podia ocupar um dos espaços ao lado das cotas, com a própria cor de alerta; agora os espaços mostram primeiro as cotas.
    O problema
    A versão compacta do widget do KDE, que fica no painel da área de trabalho, mostra poucos números lado a lado. Eles eram escolhidos pela ordem do relatório, sem separar cotas de detalhamentos, então uma sessão do Claude Code a 90% do contexto (ou o detalhamento por produto do SuperGrok) aparecia ao lado das cotas de 5 horas e semanal e coloria o espaço com a sua própria gravidade.
    O que foi feito
    Os espaços passam a seguir a mesma regra que o número principal do widget já segue: primeiro as linhas de cota, e as linhas de detalhamento só quando o provedor não tem outra. A aparência de cada espaço não mudou.
    Valor entregue
    O pouco espaço do painel passa a mostrar só o que indica risco de cota, sem alerta visual causado por uma conversa longa. Fecha no KDE um segundo caminho do mesmo problema.
  24. #345mergeado em 04/10/2026 Sessão do Claude Code não dispara mais o alarme do widget do KDE No KDE Plasma, uma sessão do Claude Code com o contexto quase cheio virava o número principal do widget e acendia o alarme, mesmo com as cotas baixas; agora o destaque vem só das cotas.
    O problema
    Com o acompanhamento de contexto ligado, o widget recebe também as sessões recentes do Claude Code, cada uma com o quanto já ocupou da janela de contexto (o limite de tamanho da conversa). O número principal usava o maior percentual entre todas as linhas, então uma sessão a 90% virava o destaque, pintava o widget de vermelho e disparava o alarme enquanto as cotas de 5 horas e semanal estavam baixas.
    O que foi feito
    O destaque passa a ser escolhido só entre as linhas de cota; as linhas de sessão entram apenas quando o provedor não tem nenhuma outra. É a mesma regra já aplicada no Omarchy e no Linux Mint. Testes novos mostram o widget lendo 29%, sem alarme, no cenário em que antes lia 90% em estado crítico.
    Valor entregue
    O alarme do widget volta a significar risco real de estourar a cota, e não uma conversa longa. Quem usa KDE Plasma passa a ver o mesmo destaque que o Omarchy e o Linux Mint já mostravam.
  25. #324mergeado em 03/10/2026 Menu do Linux Mint resume a cota do Claude, não uma sessão O resumo do menu na bandeja do Linux Mint podia exibir o percentual de uma única conversa do Claude Code como se fosse a cota do Claude; agora ele lê as cotas de uso.
    O problema
    Com o acompanhamento de sessões ligado, a entrada do Claude também lista cada sessão recente do Claude Code com o quanto ela já ocupa do limite de texto da conversa. A linha de resumo do menu na bandeja do Linux Mint mostrava o maior percentual entre todas essas medidas, então uma sessão a 90% aparecia como o uso do Claude enquanto as cotas de 5 horas e semanal estavam baixas.
    O que foi feito
    A escolha da medida do resumo sai da interface gráfica para o módulo de regras de exibição, onde os testes conseguem alcançá-la. O resumo passa a escolher entre as linhas de cota, e linhas agrupadas, como as sessões, só entram quando a entrada não tem outra medida. O painel completo já separava essas linhas.
    Valor entregue
    Quem usa o Linux Mint vê no menu o número que de fato limita o uso do Claude, com o mesmo critério aplicado à barra do Omarchy.
  26. #323mergeado em 03/10/2026 Barra do Omarchy volta a mostrar a cota do Claude, não uma sessão Com o acompanhamento de sessões ligado, uma conversa do Claude Code perto do seu limite de texto virava o número do Claude na barra do Omarchy e disparava o alarme, mesmo com a cota baixa.
    O problema
    Com o acompanhamento de sessões ligado, as sessões recentes do Claude Code aparecem junto do Claude, cada uma com o quanto a conversa já ocupa do seu limite de texto. A barra do Omarchy escolhia o maior percentual entre todas as linhas, então uma sessão a 90%, mesmo de ontem, virava o valor do Claude, pintava o indicador como crítico e acendia o alarme da barra enquanto as cotas de 5 horas e semanal estavam baixas.
    O que foi feito
    O indicador passa a ler só as linhas de cota, e linhas agrupadas, como as sessões, só entram quando a entrada não tem outra medida. A mesma regra vale para as fatias por produto do SuperGrok, que também são detalhamento. O teste que já reproduzia o caso ganhou verificações que falham na versão anterior.
    Valor entregue
    Quem usa o Omarchy volta a ter um alarme que segue a cota que de fato limita o uso, sem alertas críticos falsos causados por uma conversa longa.
  27. #319mergeado em 03/10/2026 Chave do Grok recusada passa a ser reportada pela causa certa Uma recusa na validação da chave de gerenciamento do Grok era registrada como erro genérico, o que escondia o aviso da barra, expunha a resposta do servidor e ignorava o limite de requisições.
    O problema
    Sem um identificador de equipe configurado, que é o padrão, cada consulta ao Grok valida a chave de gerenciamento antes de ler o saldo pré-pago. Os erros dessa etapa eram gravados sem o código de status do servidor: uma chave revogada levava até 200 caracteres da resposta aos avisos do painel e do relatório, a barra do Waybar mostrava o saldo desatualizado sem erro algum, e um aviso de excesso de requisições não ativava a pausa de cinco minutos.
    O que foi feito
    A etapa de validação passa a registrar o erro com o código de status, como a leitura do saldo já fazia. Uma recusa de autenticação vira a mensagem neutra padrão, e o excesso de requisições ativa a pausa compartilhada. Falhas de rede continuam usando em silêncio o último valor salvo.
    Valor entregue
    Quem acompanha o saldo do Grok vê o problema da chave na própria barra, sem a resposta do servidor nos avisos, e o programa deixa de insistir num serviço que pediu para esperar.
  28. #316mergeado em 03/10/2026 Queda de rede no Kiro não é mais confundida com login inválido Uma falha de rede durante a renovação do acesso ao Kiro aparecia como pedido para fazer login de novo; agora ela é tratada como falha passageira, como já acontecia em outros provedores.
    O problema
    O acesso ao Kiro dura cerca de uma hora e é renovado antes da leitura de consumo quando está perto de vencer. Se a rede falhava nesse momento, como num notebook que acorda antes de se conectar, o erro virava um pedido para refazer o login no kiro-cli e ficava registrado como último erro, ao lado do número desatualizado ou no lugar dele. O login estava em ordem.
    O que foi feito
    Falhas de rede na renovação passam adiante como falhas passageiras, que usam em silêncio o último valor salvo, como já fazem a própria leitura do Kiro e os provedores Claude, OpenAI e Antigravity. O pedido de novo login fica reservado para quando o servidor responde e recusa a renovação.
    Valor entregue
    Quem usa o Kiro deixa de ver um pedido de login falso quando a rede cai ou demora a voltar, e o aviso de credencial volta a indicar um problema real.
  29. #306mergeado em 03/10/2026 Ollama Cloud com cota mensal deixa de mostrar 0% falso na barra Contas do Ollama Cloud que só têm limite mensal apareciam na barra com 0% em janelas de 5 horas e semanal que nem existem; agora a barra mostra o consumo mensal real.
    O problema
    Algumas contas Pro do Ollama Cloud informam só um limite mensal, sem as janelas de 5 horas e semanal. O painel do terminal e o relatório já mostravam esse mês, mas as barras do Waybar e do macOS exibiam 0% nas duas janelas ausentes e escondiam o consumo mensal real. A documentação já prometia o percentual mensal na barra, e o código não cumpria.
    O que foi feito
    Uma janela que a conta não informa passa a ficar vazia em vez de virar 0%, enquanto um consumo real de 0% continua aparecendo como 0. O formato padrão da barra segue o que a conta informa: o par de 5 horas e semanal quando existe, ou o percentual mensal. No macOS, o limite mensal passa a ocupar a barra principal, com o rótulo de mensal.
    Valor entregue
    Quem tem uma conta mensal do Ollama Cloud deixa de ver percentuais de janelas que não existem no seu plano e passa a ver o consumo que de fato o limita.
  30. #218mergeado em 19/09/2026 Scripts recebem o diagnóstico mesmo quando todas as contas falham O relatório para scripts sinalizava falha justamente quando todas as contas estavam com erro, levando scripts a descartar o diagnóstico; agora a falha fica reservada para quando o relatório não pode ser gerado.
    O problema
    O comando que gera o relatório de consumo de todos os provedores terminava com código de falha sempre que todas as entradas tinham erro, mesmo depois de imprimir o relatório completo com a causa de cada uma. Um script de monitoramento que confiava nesse código descartava o resultado e ficava em silêncio justamente quando todas as contas estavam com problema, o momento em que o diagnóstico mais importava.
    O que foi feito
    Agora o comando termina com sucesso sempre que entrega o relatório completo, e o erro de cada conta continua registrado dentro dele. O código de falha fica para quando o relatório não pode ser produzido: configuração ausente, ilegível ou inválida, nenhum provedor ligado ou falha na inicialização. A ajuda do comando e a documentação registram a regra, e um teste novo falha na versão anterior.
    Valor entregue
    Quem monitora o consumo de IA com scripts passa a receber o diagnóstico de cada conta no pior cenário, em vez de silêncio. A regra de sucesso e falha fica explícita e documentada.

Mais contas e provedores 14 PRs

  1. #609mergeado em 12/11/2026 Múltiplas contas da API da Anthropic reconhecidas no macOS A barra de menus no Mac ignorava contas nomeadas da API da Anthropic configuradas no arquivo; o PR propõe incluir o provedor na interface nativa e sincronizar as listas com teste estrutural.
    O problema
    O núcleo da aplicação já permitia configurar diversas organizações da API da Anthropic com chaves independentes, mas a lista de provedores com múltiplas contas na interface nativa do macOS não incluía esse serviço. Como consequência, a barra de menus ignorava as contas adicionais cadastradas no arquivo de configuração, impedindo a seleção das organizações no menu e na janela de preferências. Não havia também teste automático que garantisse a paridade entre os provedores suportados no código principal e o aplicativo do Mac.
    O que foi feito
    O PR propõe registrar o identificador da API da Anthropic na lista de provedores com múltiplas contas da interface macOS e definir seu nome de exibição. No código principal, inclui um teste de integridade estrutural que verifica automaticamente se todos os provedores com suporte a múltiplas contas constam no espelho Swift, evitando divergências futuras. A suíte nativa do Mac ganha testes cobrindo a contagem de provedores, a leitura das contas no arquivo e a montagem das opções de alternância.
    Valor entregue
    Quem utiliza diferentes organizações da Anthropic no Mac poderá alternar entre suas contas diretamente pela barra de menus, acompanhando os limites de cada uma.
  2. #581mergeado em 07/11/2026 Conta do Claude Desktop só com o login novo aparece nas listas Contas capturadas no Claude Desktop recente sumiam das telas de uso; o PR propõe reconhecê-las quando só o arquivo de login novo está salvo.
    O problema
    A barra lista contas do Claude Desktop no terminal, no relatório em JSON e no menu do sistema, e só inclui as que considera autenticadas. Um login recente nesse aplicativo grava apenas o arquivo de sessão novo, sem o arquivo antigo. A listagem ainda exigia os dois, então a conta aparecia sem credenciais no status e ficava de fora das telas de uso, embora a troca de conta e a leitura de cota já aceitassem o arquivo novo.
    O que foi feito
    O PR propõe tratar o perfil como autenticado quando qualquer um dos dois arquivos de login existe. Perfis com os dois arquivos ou com nenhum continuam iguais. Um teste automatizado remove o arquivo antigo de um perfil de exemplo e confirma que a listagem ainda o reconhece como autenticado.
    Valor entregue
    Quem entrou no Claude Desktop na versão recente volta a ver a conta no status, no terminal, no relatório e no menu, e consegue acompanhar a cota dela.
  3. #546mergeado em 30/10/2026 Mensagem de erro de contas inclui o provedor Lyceum na lista O aviso de erro ao selecionar contas em provedores incompatíveis omitia o Lyceum; o PR propõe listar o serviço entre as opções aceitas.
    O problema
    Ao utilizar a opção de seleção de contas em serviços que não suportam múltiplos perfis, a ferramenta devolve uma mensagem de validação listando todos os provedores compatíveis. Embora o Lyceum permita cadastrar contas distintas no arquivo de configurações, o nome da plataforma ficou de fora da mensagem de orientação. Quem consultava o texto de ajuda não encontrava o serviço entre as alternativas suportadas.
    O que foi feito
    O PR propõe incluir o nome do provedor Lyceum no texto de erro retornado ao usuário. Um teste automatizado verifica todos os serviços compatíveis com contas do sistema e garante que cada um deles esteja nominalmente presente na mensagem de recusa.
    Valor entregue
    Oferece orientações precisas sobre o suporte a múltiplos perfis e evita dúvidas no uso da opção de contas na linha de comando.
  4. #449mergeado em 17/10/2026 Cota de assinatura do Synthetic aparece com o nome certo no menu do macOS No menu legado da barra de menus do macOS, a cota de assinatura do Synthetic aparecia como sessão de 5 horas e com uma linha semanal vazia; agora aparece como assinatura, sem a linha que não se aplica.
    O problema
    O Synthetic, provedor recém-incluído no ai-usagebar, informa uma única cota de requisições da assinatura. O menu suspenso legado do macOS não tinha tratamento próprio para ele e o encaixava no caso genérico: a cota aparecia com o rótulo de sessão e a marca de 5 horas, que não correspondem ao plano, e o menu ainda exibia uma janela semanal vazia.
    O que foi feito
    O menu ganhou um tratamento específico para o Synthetic, com campos próprios no fim da lista lida pelo menu: a cota ocupa a barra principal com o rótulo "Subscription" e a linha semanal é escondida. Com versões anteriores do programa, o menu usa os campos genéricos de sessão, e a documentação do macOS passou a citar o Synthetic. Testes cobrem a leitura completa, a versão anterior e planos sem cota, e fixam os nomes dos campos.
    Valor entregue
    Quem assina o Synthetic e usa o Mac vê a cota com o nome e o prazo do próprio plano, sem rótulos emprestados de outros provedores nem linhas vazias.
  5. #431mergeado em 15/10/2026 Cota mensal do Model Studio aparece no menu legado do macOS No menu legado da barra de menus do macOS, contas do Model Studio com plano só mensal ficavam sem nenhuma cota, e as demais perdiam a mensal; agora a cota mensal aparece, na barra principal ou na terceira linha.
    O problema
    O Model Studio passou a informar a cota mensal do Token Plan numa versão anterior do ai-usagebar, mas o menu suspenso legado do macOS não foi atualizado para lê-la. Contas com Token Plan individual, que só têm a cota mensal, apareciam na barra de menus sem nenhum uso, porque as cotas de sessão e semanal vinham vazias. Já as contas com as três cotas mostravam a de sessão e a semanal, mas não a mensal.
    O que foi feito
    A cota mensal entrou no fim da lista de campos lida pelo menu, sem mudar a posição dos dados dos outros provedores. Quando a conta só tem a cota mensal, ela passa a ocupar a barra principal com o rótulo "Monthly"; quando há cotas de sessão ou semanal, a mensal vai para a terceira linha. A documentação do macOS passou a citar o Model Studio, e testes cobrem contas com três cotas, só com a mensal, versões anteriores e planos sem cota.
    Valor entregue
    Quem tem Token Plan do Model Studio passa a ver no Mac o consumo do plano, inclusive quando ele só tem limite mensal, sem afetar a leitura dos demais provedores.
  6. #415mergeado em 14/10/2026 Cotas de 5 horas, semanal e mensal do Cline chegam ao menu legado do macOS No menu legado da barra de menus do macOS, o Cline aparecia com rótulos genéricos e sem a cota mensal; agora as três cotas que o serviço informa aparecem, cada uma com o nome certo.
    O problema
    O Cline informa três cotas que se renovam continuamente: de 5 horas, semanal e mensal. A versão anterior do ai-usagebar já enviava esses números ao menu suspenso legado do macOS, mas o menu não tinha um tratamento próprio para o Cline. Ele caía no caso genérico, com os rótulos padrão de sessão e semana, e a cota mensal nunca era lida nem exibida.
    O que foi feito
    O menu ganhou um tratamento específico para o Cline: a cota de 5 horas ocupa a barra principal com o rótulo "5 hours", a semanal fica com "Weekly" e a mensal entra na terceira linha como "Monthly", quando o plano a informa. Com versões anteriores do programa, o menu volta aos campos genéricos, e a documentação do macOS passou a citar o Cline. Testes cobrem as três cotas, a versão anterior e planos sem a cota do ClinePass.
    Valor entregue
    Quem usa o Cline com o menu legado do macOS passa a acompanhar os três limites do plano, inclusive o mensal, que antes simplesmente não aparecia.
  7. #379mergeado em 08/10/2026 Antigravity continua na barra após a versão 1.3.1 do agy A versão 1.3.1 do agy, a ferramenta de terminal do Antigravity, mudou o texto de uma mensagem de erro e o provedor podia sumir da barra; agora as duas redações são reconhecidas.
    O problema
    Quando o servidor local do agy recusa a consulta direta, o ai-usagebar usa a sessão do Google já salva para buscar os números na nuvem. Ele reconhecia essa recusa pelo texto exato da mensagem, e a versão 1.3.1 do agy acrescentou um prefixo a ela. A recusa passou a ser lida como "usuário desconectado", a busca na nuvem nunca rodava e, com apenas o agy aberto, o Antigravity sumia da barra.
    O que foi feito
    A verificação passa a aceitar a redação antiga e a nova, olhando a parte final da mensagem, e mantém as demais conferências do erro. Uma recusa com outra mensagem continua sendo tratada como problema de login que o usuário precisa resolver.
    Valor entregue
    Quem usa o Antigravity volta a ver seus números depois da atualização do agy, e versões antigas da ferramenta seguem funcionando como antes. O problema foi relatado por um usuário do Omarchy.
  8. #372mergeado em 08/10/2026 Cotas diária e semanal do Devin aparecem no menu legado do macOS No menu legado da barra de menus do macOS, o Devin aparecia sem a cota diária e com a semanal sob rótulos genéricos; agora as duas aparecem com os nomes certos.
    O problema
    O Devin informa uma cota diária e uma semanal. Para não apresentar uma janela de 24 horas como se fosse a sessão de 5 horas, o ai-usagebar não coloca a cota diária no campo de sessão, e o menu suspenso legado do macOS não tinha outro lugar para ela. Ao escolher o Devin, a barra principal ficava em branco, a cota diária sumia e a semanal aparecia com rótulos genéricos.
    O que foi feito
    A cota diária ganhou campos próprios no fim da lista lida pelo menu e passou a ocupar a barra principal com o rótulo "Daily" (1d), enquanto a semanal fica com "Weekly" (7d). Com versões anteriores do programa, que ainda não enviam a cota diária, a semanal continua aparecendo normalmente.
    Valor entregue
    Quem usa o Devin com o menu legado do macOS passa a ver as duas cotas que o serviço informa, cada uma com o seu prazo, e a mudança não quebra quem ainda roda uma versão anterior do programa.
  9. #364mergeado em 07/10/2026 Saldo da DeepInfra aparece no menu legado do macOS No menu suspenso legado da barra de menus do macOS, a DeepInfra aparecia sem saldo e sem a linha de créditos; agora o saldo em dólares é exibido.
    O problema
    A DeepInfra é um provedor só de saldo pré-pago, sem cotas de 5 horas ou semanais. O menu suspenso legado do macOS, que continua no projeto, lê cada provedor de uma lista fixa de campos, e o saldo da DeepInfra não estava nela. Ao escolher a DeepInfra, o título na barra de menus ficava sem valor e o menu não mostrava a linha de créditos.
    O que foi feito
    O saldo da DeepInfra entrou na lista de campos lidos pelo menu, no fim dela, para não mudar a posição dos dados dos outros provedores. A documentação do macOS passou a citar a DeepInfra e a Lyceum entre os provedores só de saldo.
    Valor entregue
    Quem usa a DeepInfra com o menu legado do macOS passa a ver quanto crédito ainda tem, sem nenhuma mudança na leitura dos demais provedores.
  10. #331mergeado em 03/10/2026 Contas extras do Claude no macOS reconhecidas como configuradas No macOS, uma conta extra do Claude guardada só no Keychain aparecia como não configurada, embora o uso dela fosse lido normalmente; agora o catálogo de provedores também consulta o Keychain.
    O problema
    No macOS, uma conta adicional do Claude cujo login fica apenas no Keychain (o cofre de senhas do sistema), sem arquivo de credenciais em disco, aparecia como "não configurada" no catálogo de provedores, a lista que diz às interfaces quais provedores estão prontos nesta máquina. A busca de uso e a detecção automática já encontravam essa conta, então partes da ferramenta discordavam sobre ela.
    O que foi feito
    Quando uma conta adicional não tem arquivo de credenciais em disco, o catálogo passa a consultar também o item do Keychain dessa conta. Fora do macOS nada muda.
    Valor entregue
    Quem usa várias contas do Claude num Mac deixa de ver uma conta que funciona marcada como não configurada, e a lista de provedores passa a concordar com o uso que a ferramenta de fato exibe.
  11. #315mergeado em 03/10/2026 Grok Bot reaproveita o login renovado em vez de pedir novo acesso Depois de renovar o login do Grok Bot, o ai-usagebar guardava as credenciais novas num lugar onde nunca mais as procurava; agora a renovação é reaproveitada nas consultas seguintes.
    O problema
    Ao renovar o acesso vencido do Grok Bot, o programa guardava as credenciais novas sob uma identificação diferente da usada na busca seguinte. Cada consulta voltava ao acesso vencido e renovava de novo com a credencial antiga. Quando o servidor só aceita cada credencial de renovação uma vez, a barra mostrava o número antigo e depois pedia para entrar de novo no app, com credenciais válidas sem uso; nos outros casos, cada consulta custava três requisições.
    O que foi feito
    As credenciais renovadas passam a ser guardadas sob a identificação do login do app de onde vieram, o mesmo critério que Kiro e Antigravity já usavam. Um novo login no app continua sem herdar as credenciais da sessão anterior. Um teste novo executa duas consultas seguidas e falha na versão anterior.
    Valor entregue
    Quem acompanha o Grok Bot deixa de ver pedidos de login sem motivo e números desatualizados, e as consultas seguintes usam direto o acesso renovado em vez de gastar três requisições.
  12. #309mergeado em 03/10/2026 Contas nomeadas do DeepInfra disponíveis na barra do macOS A barra de menus do macOS ignorava as contas nomeadas do DeepInfra, que o restante do programa já aceitava; agora elas aparecem como opções no menu e nas preferências.
    O problema
    O suporte a várias contas no DeepInfra foi adicionado ao núcleo do programa, mas a lista de provedores com contas nomeadas da barra de menus do macOS não foi atualizada. Com isso, o app do macOS não lia essas contas no arquivo de configuração e não as oferecia no menu nem nas preferências.
    O que foi feito
    O DeepInfra entra na lista do macOS, e a documentação do app passa a citá-lo. Um teste novo confere que ele está na lista e que ela tem os mesmos dez provedores do núcleo do programa.
    Valor entregue
    Quem usa várias contas do DeepInfra no Mac passa a escolher cada uma no menu, como o restante do programa já permitia.
  13. #308mergeado em 03/10/2026 Provedores com contas nomeadas aparecem como configurados A lista de provedores dava como sem credencial os configurados só com contas nomeadas ou com arquivo de login em caminho próprio, embora as consultas funcionassem; agora o status reflete a configuração real.
    O problema
    Quem configurava um provedor só com contas nomeadas, ou escondia a conta padrão, via esse provedor marcado como "precisa de credencial" no catálogo de provedores e nas telas de status do painel do terminal e do macOS, embora o consumo fosse lido normalmente. O mesmo acontecia com o Claude e o Codex quando o arquivo de login ficava num caminho personalizado ou em contas nomeadas.
    O que foi feito
    A verificação de status passa a considerar as contas nomeadas dos dez provedores com chave de API, além das contas nomeadas e dos caminhos personalizados do Claude e do Codex. A detecção automática também passa a reconhecer as contas nomeadas desses dois. Oito testes novos cobrem os casos.
    Valor entregue
    Quem organiza o acesso em contas nomeadas vê um status coerente com o que de fato funciona, sem avisos falsos de credencial ausente.
  14. #266mergeado em 27/09/2026 Várias contas por provedor em mais oito serviços com chave de API Z.AI, DeepSeek, Kilo, Novita, Moonshot, Grok, MiniMax e OrcaRouter passam a aceitar várias chaves com nome próprio, como o OpenRouter já fazia, cada uma com seu acompanhamento de consumo.
    O problema
    Entre os provedores que usam chave de API, só o OpenRouter acompanhava várias chaves separadamente; quem tinha chaves de trabalho e pessoais nos outros via apenas uma. No caminho surgiram duas falhas: no macOS, o OrcaRouter nunca era consultado, porque a barra de menus o chamava por um nome que o programa recusava, e a detecção automática ignorava chaves guardadas só em contas nomeadas, deixando o provedor desligado.
    O que foi feito
    Os oito provedores ganham o mesmo recurso de contas nomeadas do OpenRouter, e cada conta tem sua aba no painel do terminal, sua linha no relatório, sua opção no menu do macOS e seus dados salvos à parte. Um nome de conta desconhecido gera erro e nunca recai na chave padrão. Testes novos cobrem os nove provedores, e as duas falhas foram corrigidas.
    Valor entregue
    Quem usa mais de uma chave no mesmo provedor, por exemplo para separar trabalho e uso pessoal, acompanha o consumo de cada uma sem misturar números. Configurações existentes continuam funcionando sem nenhuma alteração.

Experiência consistente 27 PRs

  1. #565mergeado em 03/11/2026 Janela da bandeja exibe tempo de recarga parcial em vez de reinício A janela da barra exibia reinício total em cotas graduais; o PR propõe indicar a regeneração parcial de créditos em quatro idiomas.
    O problema
    A janela popover da bandeja do sistema nos ambientes macOS e Windows detalha os saldos de créditos e o tempo restante para recomposição de cada serviço. Ao processar cotas que recuperam saldo gradualmente em pequenas porcentagens, a interface descartava a indicação de recarga parcial e informava que a cota seria reiniciada por completo. Quem consultava o painel esperava a liberação integral dos limites, quando apenas uma fração do saldo seria devolvida naquele momento.
    O que foi feito
    O PR propõe preservar o atributo de reposição periódica no modelo de dados da interface e adotar mensagens dedicadas de regeneração nos modos de contagem regressiva e horário exato. As mensagens foram catalogadas e traduzidas para português, inglês, espanhol e coreano, refletindo a mesma terminologia já empregada em outras áreas do aplicativo. Testes automatizados na suíte da interface conferem as frases geradas em cada idioma e a integridade dos catálogos de tradução.
    Valor entregue
    Informa com precisão o volume real de créditos devolvidos e evita expectativas incorretas sobre o restabelecimento das cotas.
  2. #560mergeado em 02/11/2026 Guia de formatos esclarece que marcadores não definidos ficam literais A documentação indicava que variáveis sem suporte ficavam vazias; o PR propõe esclarecer a exibição literal de termos não reconhecidos.
    O problema
    O guia de formatação orienta a montagem de padrões personalizados de texto para exibição de métricas na barra de status e nas dicas de contexto. O documento afirmava que variáveis específicas de um provedor quando utilizadas em outros serviços seriam substituídas por texto vazio. Na prática do aplicativo, termos desconhecidos pela plataforma selecionada permanecem literais no texto gerado, o que gerava dúvidas ao reutilizar o mesmo modelo em múltiplos provedores.
    O que foi feito
    O PR propõe atualizar o guia para distinguir claramente valores ausentes de variáveis que sequer são reconhecidas pelo provedor ativo. O texto esclarece que marcadores inexistentes permanecem inalterados na saída e recomenda o uso de termos genéricos padronizados para formatos compartilhados entre serviços distintos.
    Valor entregue
    Oferece orientações precisas para personalização da barra e evita comportamentos inesperados ao alternar entre múltiplos assistentes.
  3. #544mergeado em 30/10/2026 Espaço reservado de ícone adota a marca do Google Antigravity O espaço reservado de ícone exibia o símbolo do DeepSeek no Antigravity; o PR propõe preencher a marca oficial do provedor na barra.
    O problema
    O ai-usagebar disponibiliza um espaço reservado genérico para que usuários criem máscaras uniformes de texto em vários provedores de inteligência artificial. No módulo do Google Antigravity, a rotina de formatação mantinha um glifo fixo herdado do DeepSeek em vez da identificação própria do assistente. Ao utilizar um padrão compartilhado na barra do sistema, o indicador mostrava o logotipo incorreto junto com os limites do Antigravity.
    O que foi feito
    O PR propõe mapear o marcador de ícone para o identificador oficial catalogado no próprio serviço. Um teste de unidade valida que o espaço reservado devolve exatamente o símbolo definido no catálogo da plataforma.
    Valor entregue
    Garante a identificação correta do assistente em formatos personalizados e evita confusão entre provedores distintos na barra.
  4. #535mergeado em 29/10/2026 Detalhamento de produtos do SuperGrok adota o símbolo correto Linhas de detalhamento do SuperGrok exibiam o ícone de outro provedor; a dica de contexto agora adota a marca própria da ferramenta.
    O problema
    Ao exibir o detalhamento de planos e modelos nas dicas flutuantes da barra de tarefas, cada produto do provedor SuperGrok mostrava o ícone característico de outro assistente. A repetição do símbolo causava confusão visual sobre qual serviço estava sendo monitorado naquele item.
    O que foi feito
    O formatador de linhas de produto passou a utilizar o glifo específico do provedor configurado no sistema. Testes automatizados confirmam que o texto final da dica flutuante inclui a marca correta e não contém mais referências ao ícone anterior.
    Valor entregue
    Corrige a identidade visual das dicas de tela e evita confusão entre provedores no monitoramento de consumo.
  5. #534mergeado em 29/10/2026 Extensões para Linux exibem contagem regressiva de cotas recarregáveis Cotas recarregáveis exibiam textos duplicados e contraditórios no GNOME e KDE; as extensões agora mostram a recarga dinâmica sem mensagens estáticas repetidas.
    O problema
    Ao acompanhar planos com recarga gradual de créditos, o painel do GNOME e o widget do KDE mantinham o prefixo estático da descrição junto com a contagem do sistema. A interface apresentava textos contraditórios, informando simultaneamente que a cota seria reiniciada por inteiro e que receberia apenas uma fração dos créditos. Além disso, a segunda contagem ficava congelada entre atualizações manuais.
    O que foi feito
    Os modelos de dados das extensões para GNOME e KDE agora removem o prefixo de regeneração dos detalhes e encaminham o volume de recarga para a interface. O formatador de tempo dessas plataformas passou a gerar a contagem dinâmica no formato de recarga de créditos. Testes automatizados confirmam o descarte dos prefixos redundantes e a preservação dos dados de recarga em ambos os ambientes gráficos.
    Valor entregue
    Uniformiza a experiência visual no Linux e elimina mensagens redundantes no monitoramento de créditos parciais.
  6. #521mergeado em 27/10/2026 Espaço reservado de ícone passa a funcionar em mais quatro provedores O espaço reservado de ícone ficava sem substituição no OpenCode Go, Command Code, Cline e Nous; agora os quatro provedores preenchem a marca correspondente na barra.
    O problema
    O ai-usagebar suporta máscaras de formatação personalizadas para exibir cotas na barra do sistema, oferecendo um espaço reservado genérico para o ícone de cada serviço. Embora todos os provedores nativos tenham um ícone definido no catálogo, quatro deles (OpenCode Go, Command Code, Cline e Nous Research) não incluíam esse campo no mapa de variáveis. Quando o usuário configurava uma máscara genérica com o marcador de ícone, o texto literal era impresso na tela em vez do símbolo visual.
    O que foi feito
    Os quatro provedores passaram a preencher o espaço reservado com seus respectivos ícones de barra já catalogados, sem alterar os demais marcadores existentes. Testes unitários de cada módulo foram atualizados para garantir que o campo esteja sempre presente e com o valor exato de identificação.
    Valor entregue
    Garante consistência visual ao alternar ou compartilhar formatos customizados entre qualquer um dos provedores suportados.
  7. #519mergeado em 27/10/2026 Caminhos com til passam a funcionar no OpenCode Go e no Droid Configurar caminhos iniciados por til mantinha o caractere literal no OpenCode Go e no Droid; agora o aplicativo expande a pasta pessoal do usuário em ambas as configurações.
    O problema
    O ai-usagebar permite personalizar caminhos de arquivos de autenticação e binários de apoio no arquivo de configuração. Nas opções do OpenCode Go para credenciais e do Droid para a ferramenta de linha de comando, o símbolo de til não era expandido para a pasta pessoal do usuário. Como o sistema operacional não expande o atalho automaticamente, o OpenCode Go procurava uma pasta relativa inexistente no diretório de execução e falhava ao ler a autenticação, enquanto o Droid não encontrava o executável para renovar o acesso.
    O que foi feito
    A rotina de carregamento de configuração passou a aplicar a expansão da pasta do usuário a cada caminho da lista de autenticação do OpenCode Go e ao executável do Droid. Um teste automatizado valida que caminhos com til passam a apontar para a pasta pessoal preservando caminhos absolutos intactos, e o registro de mudanças documenta o comportamento.
    Valor entregue
    Permite usar a sintaxe padrão de pasta pessoal na configuração sem falhas de autenticação ou de execução de binários.
  8. #514mergeado em 27/10/2026 Barra do SuperGrok mostra o ícone do Grok em vez do ícone do Claude O espaço reservado para o ícone na barra do SuperGrok expandia para a marca do Claude, herdada de outro renderizador; agora usa o ícone dedicado do Grok, o mesmo das demais telas.
    O problema
    Cada provedor do ai-usagebar tem uma marca própria em fonte de ícones, definida num único lugar e protegida por um teste que garante que nenhum ícone se repete. O renderizador do SuperGrok, porém, trazia uma constante local copiada do renderizador do Claude, e por isso o espaço reservado do ícone mostrava a marca do Claude na barra de um produto da xAI.
    O que foi feito
    O renderizador passou a buscar o ícone diretamente da definição central do provedor, como já fazem Grok, Grok Bot, Droid e Devin, e a constante errada foi removida. O teste dos espaços reservados agora afirma o ícone esperado, e o registro de mudanças documenta a correção.
    Valor entregue
    A barra identifica o provedor certo à primeira vista, sem confundir o usuário com a marca de outro produto.
  9. #512mergeado em 27/10/2026 Configurações escritas como tabelas em linha no TOML passam a ser salvas e ativadas Salvar uma chave, ativar um provedor ou ajustar uma preferência falhava com erro de seção inválida quando a configuração usava tabelas em linha do TOML; agora todas essas gravações preservam o formato, os comentários e os demais campos.
    O problema
    O arquivo de configuração do ai-usagebar aceita seções escritas no formato de tabela em linha do TOML, com a seção inteira entre chaves numa única linha. Uma mudança anterior ensinou a limpeza de chaves a lidar com esse formato, mas as demais gravações não: definir uma chave de API, ativar um provedor pela tela de configurações ou pela detecção automática na primeira execução, e salvar preferências simples como as de notificações ou da bandeja. Todas usavam uma função que só reconhece tabelas comuns e falhavam com a mensagem de que a seção não era uma tabela. A limpeza do token do Copilot ao salvar tinha o mesmo problema.
    O que foi feito
    As quatro rotinas de escrita passaram a operar sobre a abstração que cobre tanto tabelas comuns quanto tabelas em linha, com leitura, inserção e remoção uniformes, preservando o estilo original, os comentários ao redor e os campos não afetados. Quatro testes automatizados cobrem salvar uma chave e ativar um provedor pela tela de configurações, atualizar uma preferência e ativar um provedor pela detecção automática, todos em configurações com tabelas em linha. O registro de mudanças documenta a correção.
    Valor entregue
    Quem escreve a configuração no formato compacto do TOML consegue salvar chaves e ativar provedores pela interface, sem erro e sem perder comentários.
  10. #490mergeado em 25/10/2026 Roda do mouse na barra pula provedores ocultos sem travar a navegação Ao girar a roda do mouse na barra do Omarchy, a navegação travava em provedores marcados como ocultos; o PR propõe alternar apenas entre os itens visíveis.
    O problema
    No plugin para a barra do desktop Linux Omarchy, o usuário pode ocultar determinados provedores de inteligência artificial da barra superior sem removê-los do painel detalhado de consumo. Entretanto, os atalhos de alternância rápida na barra, acionados pela roda do mouse ou pelo clique do botão do meio, percorriam a lista completa de provedores do painel. Ao atingir um item oculto, a barra não conseguia exibi-lo e retornava imediatamente ao primeiro elemento da lista, travando a navegação visual e impedindo a troca contínua entre os serviços visíveis.
    O que foi feito
    O PR propõe que as interações por mouse na barra superior percorram apenas a lista de provedores configurados como visíveis, pulando automaticamente qualquer item oculto. A navegação pelas teclas do teclado dentro do painel aberto continua acessando todas as abas, e testes automatizados de contrato garantem que o ciclo entre provedores visíveis avance e retorne de forma contínua.
    Valor entregue
    Proporciona navegação fluida e sem interrupções entre os provedores ativos na barra superior do desktop Linux.
  11. #475mergeado em 20/10/2026 Barra com formato comum não mostra mais texto cru no Grok Bot Com o Grok Bot ativo, um formato de barra compartilhado entre provedores exibia os campos de sessão como texto literal; agora eles saem vazios, como no Devin.
    O problema
    O ai-usagebar permite escrever um único formato de texto para a barra que funcione com qualquer provedor, usando campos comuns como a porcentagem da sessão de 5 horas e a da semana, e a documentação recomenda esses campos. O Grok Bot só tem a janela semanal e nunca definiu os campos de sessão, e um campo sem valor é deixado como foi escrito. Com ele ativo, um formato com nome curto, sessão e semana aparecia na barra como gbt {session_pct}% 42%, com o nome do campo à mostra.
    O que foi feito
    O Grok Bot passou a devolver os três campos de sessão vazios, como o Devin já faz com a janela de 5 horas que ele também não tem, e a barra passa a mostrar gbt % 42%. Os valores semanais não mudam, inclusive os vazios de uma conta sem franquia incluída, e a barra de menus do macOS e o GNOME, que já descartavam um campo devolvido sem substituição, desenham o mesmo de antes. A seção do Grok Bot na documentação passa a dizer que os campos de sessão ficam vazios. Um teste novo confere que os três campos existem e estão vazios e que o formato compartilhado não deixa nenhuma chave à mostra, mantendo os 42% da semana.
    Valor entregue
    Quem troca de provedor sem mudar o formato da barra deixa de ver marcações internas no lugar dos números.
  12. #471mergeado em 20/10/2026 Linha de gasto da API da Anthropic mantém o nome de um dia para o outro O dia coberto no nome da linha de gasto fazia o nome mudar todo dia, e alertas, favoritos e itens ocultos eram perdidos; o nome fica fixo e o dia vai para uma linha própria.
    O problema
    O ai-usagebar mostra o gasto do mês na API da Anthropic numa linha da barra e do painel. A versão 1.41.0 passou a incluir no nome dessa linha o último dia coberto, algo como Month to date (through Oct 17), mas o nome é a identidade da linha para o resto do programa. Com isso o nome mudava todo dia: um gasto acima do limite de aviso gerava uma nova notificação a cada manhã, a estrela, o ocultamento e a posição escolhidos pelo usuário eram esquecidos e, sem limite mensal configurado, a barra do Omarchy mostrava apenas Ready em vez do valor gasto.
    O que foi feito
    A linha volta a se chamar Spend (mo) e o dia coberto vai para uma linha própria logo abaixo, chamada Through, que some quando o relatório não traz um dia datado; a nota que explica o que o valor cobre e o título da dica na barra continuam como eram. Não há mudança nas interfaces, porque cada uma já sabe desenhar uma linha de texto. Dois testes novos conferem que o nome fica igual em dias diferentes, com e sem limite, e que um gasto a 98% do limite avisa uma única vez em três dias seguidos, em vez de três.
    Valor entregue
    Os avisos de gasto deixam de se repetir todo dia, as escolhas do usuário no painel são preservadas e a barra do Omarchy volta a mostrar o valor gasto.
  13. #463mergeado em 18/10/2026 Provedores customizados suportam formatação de moedas em métricas e textos Provedores personalizados não permitiam formatar valores numéricos como moeda; a nova opção permite exibir gastos e limites com símbolos monetários.
    O problema
    O recurso de provedores customizados permite conectar qualquer API JSON de consumo à barra. No entanto, métricas de despesas financeiras e limites de gastos só podiam ser exibidos como números genéricos, impossibilitando a exibição correta de símbolos como dólar, euro ou libra nas notas explicativas e nos valores de texto.
    O que foi feito
    Foi adicionada a opção de configuração de moeda para métricas e textos customizados, com validação de códigos monetários e tratamento de valores inteiros ou decimais. Quando informada, a moeda é aplicada automaticamente à nota de consumo e ao texto do painel, com cobertura de testes unitários.
    Valor entregue
    Permite monitorar gastos em ferramentas proprietárias com exibição financeira nativa e compreensível na barra de status.
  14. #454mergeado em 17/10/2026 Painel do macOS guarda a posição e as estrelas do Antigravity ao reiniciar A cada reinício do Mac, ou ao fechar a última sessão do agy, o cartão do Antigravity no painel perdia a posição, as métricas marcadas e as preferências de linha; agora a personalização é mantida.
    O problema
    No painel da bandeja do macOS, cada cartão de provedor guarda a posição escolhida, as métricas marcadas com estrela para a barra de menus, as linhas visíveis e o estado recolhido. O painel apagava essas escolhas sempre que uma atualização chegava sem o cartão. A entrada do Antigravity troca de identificador a cada reinício e quando a última sessão do agy fecha ou uma nova começa, e com isso o cartão voltava ao fim da lista com as configurações padrão.
    O que foi feito
    Um cartão ausente de uma atualização passou a manter suas configurações para quando voltar. Um identificador novo herda a posição e as configurações de outro identificador ausente do mesmo provedor, transferindo-as em vez de copiá-las, para que as duas formas nunca divirjam; duas contas do Antigravity visíveis ao mesmo tempo continuam com configurações próprias. Testes novos cobrem a troca de identificador, o provedor ausente e as contas simultâneas.
    Valor entregue
    Quem organiza o painel do jeito que prefere não precisa refazer a personalização do Antigravity a cada reinício do computador.
  15. #445mergeado em 17/10/2026 Dica de login do Grok indica a chave de API, e não o comando errado No painel da bandeja e nas configurações, a dica do Grok mandava rodar o comando grok, que serve ao SuperGrok e não configura a chave da xAI; agora orienta a adicionar a chave de API nas configurações.
    O problema
    O painel da bandeja e a tela de provedores nas configurações mostram, para cada serviço, uma frase curta dizendo como configurá-lo. O Grok, da xAI, funciona com chave de API, mas dividia a frase com o SuperGrok, que usa login pela ferramenta de terminal: a orientação era rodar o comando grok e atualizar. Esse comando não configura a chave da xAI, e a frase contradizia o próprio botão ao lado, que já oferecia adicionar a chave.
    O que foi feito
    O Grok passou a usar a mesma frase dos demais provedores que funcionam só com chave: adicionar a chave de API nas configurações e atualizar. O SuperGrok mantém a orientação de login pelo comando grok. Um teste novo confere que todo provedor só de chave recebe essa frase e fixa as orientações do Grok e do SuperGrok.
    Valor entregue
    Quem configura o Grok pela primeira vez recebe a instrução certa já na tela, sem perder tempo com um comando que não resolve o problema.
  16. #438mergeado em 16/10/2026 Provedor ativado depois da instalação aparece na barra de menus do macOS Na barra de menus do macOS, um provedor ligado depois da primeira execução nunca aparecia, e o Antigravity sumia sozinho de tempos em tempos; agora todo provedor ganha as marcações padrão, e tirar um da barra continua valendo.
    O problema
    No visual com logotipos da barra de menus do macOS, um provedor só aparece quando alguma das suas métricas está marcada com estrela no painel. As estrelas padrão eram preenchidas só na primeira execução, e as de um provedor eram apagadas sempre que uma atualização chegava sem ele. Assim, um provedor ligado depois nunca chegava à barra, e o Antigravity saía dela cada vez que sua entrada alternava entre o nome simples e o nome com a conta, embora o cartão no painel seguisse mostrando a cota.
    O que foi feito
    Todo provedor sem estrelas registradas passou a receber as estrelas padrão, não só na primeira execução. Para não confundir isso com uma escolha do usuário, desmarcar a última métrica de um provedor agora guarda uma lista vazia, que sobrevive a reinícios e atualizações e mantém o provedor fora da barra. Testes novos cobrem o provedor ligado depois, a desmarcação que persiste e a troca de nome da entrada do Antigravity.
    Valor entregue
    Quem liga um provedor novo o vê na barra de menus sem precisar reconfigurar nada, e quem tira um provedor da barra tem a escolha respeitada.
  17. #433mergeado em 15/10/2026 Muse Code passa a informar quanto do período passou e o ritmo de uso O Muse Code calculava quanto de cada janela de cota já tinha passado e o ritmo de consumo, mas não entregava esses valores aos formatos da barra; agora entrega, e as marcações de progresso aparecem na extensão do GNOME e no macOS.
    O problema
    O ai-usagebar monta o texto da barra a partir de campos substituíveis, como o percentual usado, a renovação e quanto da janela já passou, e as telas da extensão do GNOME e da barra de menus do macOS usam o campo de tempo decorrido para desenhar a marca de progresso. O Muse Code calculava o tempo decorrido e o ritmo das janelas de sessão e semanal, mas só entregava o percentual e a renovação. Essas telas ficavam sem a marca de progresso, e formatos personalizados com esses campos não eram preenchidos.
    O que foi feito
    O Muse Code passou a entregar o tempo decorrido nos campos comuns a todos os provedores e o tempo decorrido e o ritmo nos campos próprios dele, além do ícone, como já faziam o Model Studio, o OpenAI e o Devin. A documentação de formatos lista os campos novos, e testes novos conferem cada valor e o campo vazio quando uma janela não é informada.
    Valor entregue
    Quem acompanha o Muse Code no GNOME, no macOS ou num formato próprio passa a ver o mesmo indicador de progresso e de ritmo dos demais provedores.
  18. #423mergeado em 15/10/2026 Cota do SuperGrok mostra quando renova e o ritmo de consumo No painel do terminal, no relatório de uso e no painel do Omarchy, a cota do SuperGrok aparecia só como percentual, sem a contagem até a renovação que Claude e Grok Bot exibem; agora traz a contagem e, no plano semanal, o ritmo.
    O problema
    Para as cotas com prazo, o ai-usagebar mostra abaixo do percentual quando a cota renova, quanto do período já passou e se o consumo está acima ou abaixo do ritmo esperado. O SuperGrok ficava sem essa linha no painel do terminal, no relatório de uso (inclusive em JSON) e no painel do Omarchy, embora o próprio serviço informasse a data de renovação. Quem usava esses painéis via um percentual solto, sem saber quanto tempo faltava.
    O que foi feito
    A linha passou a ser montada a partir da data de renovação, como já acontecia com o Grok Bot. No plano semanal ela traz a contagem regressiva e o ritmo; no mensal ou de período desconhecido, só a contagem, porque um mês não tem duração exata para calcular o ritmo; sem data de renovação, a linha fica vazia em vez de mostrar um valor inventado. Quatro testes novos cobrem esses casos e as fatias por produto.
    Valor entregue
    Quem acompanha o SuperGrok no terminal ou no Omarchy passa a ver quanto tempo falta para a cota renovar e se o consumo está no ritmo, como nos demais provedores.
  19. #417mergeado em 14/10/2026 Cline aparece com a sigla curta nas barras compactas do Linux Nas barras compactas, como as do Omarchy e do Waybar, o Cline aparecia com o nome inteiro em vez da sigla de três letras usada pelos demais provedores sem ícone próprio; agora aparece como cln.
    O problema
    Nas barras de status compactas, como as do Omarchy e do Waybar, cada provedor é identificado por um ícone, e quem não tem ícone próprio na fonte de ícones usa uma sigla única de três letras, para caber na largura padrão do indicador. O Cline era a exceção: aparecia com o nome inteiro, de cinco letras, o que destoava dos outros e podia estourar o espaço do indicador. Programas que leem a saída em JSON também recebiam a etiqueta fora do padrão.
    O que foi feito
    O ícone do Cline passou a usar a sigla cln, a mesma regra aplicada a todos os provedores sem ícone próprio. Os testes passaram a fixar a sigla e os nomes públicos do Cline (identificador, nome de exibição e tipo de login), para que uma mudança futura não altere esses contratos sem aviso.
    Valor entregue
    Quem acompanha o Cline numa barra compacta vê um indicador do mesmo tamanho dos outros, sem quebrar o layout da barra.
  20. #403mergeado em 11/10/2026 Removido formatador de dinheiro sem uso que fixava o dólar Um formatador de valores que sempre escrevia o símbolo do dólar seguia no código sem uso; saiu, e todo valor em dinheiro continua passando pelo único ponto que respeita a moeda.
    O problema
    O projeto formata valores em dinheiro num único lugar, que respeita a moeda de cada conta, porque cópias dessa lógica já tinham chegado a quatro versões divergentes. Restava uma cópia antiga, que sempre escrevia o símbolo do dólar e que nenhuma parte do programa usava; só os próprios testes e alguns comentários a citavam, como exemplo do jeito errado.
    O que foi feito
    A função e seus dois testes foram removidos, e os comentários foram reescritos para descrever o contraexemplo sem citar código que não existe mais. As regras de sinal negativo continuam cobertas pelos testes do formatador oficial, e nada muda para o usuário.
    Valor entregue
    Menos código morto e nenhum risco de alguém reaproveitar um formatador que mostraria o símbolo do dólar em contas cobradas em outra moeda.
  21. #396mergeado em 11/10/2026 Marcadores de formato da Nous Research documentados no guia O guia dos marcadores de formato (placeholders) usados para montar o texto da barra cobria todos os provedores menos a Nous Research; os nove marcadores dela agora estão documentados.
    O problema
    O projeto tem um guia de referência, indicado pela documentação principal, com uma seção por provedor descrevendo os marcadores que o usuário pode usar para montar o texto da barra. A Nous Research não tinha seção, então seus nove marcadores (plano, percentual, renovação e outros seis sobre créditos) só podiam ser descobertos lendo o código-fonte.
    O que foi feito
    Uma seção nova, no mesmo formato das outras, explica o que cada marcador traz, como os créditos são formatados, qual é o formato padrão, o que aparece quando não há percentual e quais marcadores compartilhados equivalem aos dela. Uma nota geral que citava só o Kiro num comportamento que a Nous também tem foi corrigida.
    Valor entregue
    Quem usa a Nous Research consegue personalizar a barra consultando a documentação, sem precisar ler o código, e a referência passa a cobrir todos os provedores.
  22. #395mergeado em 11/10/2026 Nota de créditos da Lyceum traduzida nas configurações do Omarchy Na tela de configurações do Omarchy, a nota do cartão da chave de API da Lyceum ficava em inglês mesmo com a interface em outro idioma; agora está traduzida nos cinco idiomas suportados.
    O problema
    Cada cartão de chave de API na tela de configurações do Omarchy traz uma nota curta, traduzida para o idioma da pessoa. A nota da Lyceum ("billing credits") ficou fora do dicionário de traduções quando o provedor foi adicionado e aparecia em inglês para quem usa russo, português, coreano ou espanhol.
    O que foi feito
    A nota entrou no dicionário com tradução para os cinco idiomas suportados: inglês, russo, português do Brasil, coreano e espanhol. Testes conferem o texto exibido em cada idioma.
    Valor entregue
    Quem usa o Omarchy em russo, português, coreano ou espanhol vê a tela de configurações inteira no seu idioma, sem texto solto em inglês.
  23. #393mergeado em 11/10/2026 Widget do KDE respeita o valor em dinheiro como número de destaque No KDE Plasma, linhas que pedem destaque para o valor em dinheiro, como saldos pré-pagos, apareciam como porcentagem no painel, nos cartões e na janela do widget; agora mostram o valor.
    O problema
    Cada linha do relatório indica qual dos seus dois números vai em destaque: o percentual ou o valor, como um saldo pré-pago ou um gasto de créditos. O número principal do widget do KDE já respeitava essa indicação, mas os espaços no painel da área de trabalho, os medidores dos cartões e as linhas da janela que abre ao clicar mostravam sempre o percentual. Uma linha com 25% consumidos e valor de $75.00 aparecia como "25%".
    O que foi feito
    Os três pontos passam a seguir a mesma indicação do número principal: quando a linha pede o valor, ele é exibido, e o percentual só aparece se o valor estiver vazio. A cor de alerta e o preenchimento dos medidores continuam calculados pelo percentual.
    Valor entregue
    Quem acompanha saldos pré-pagos no KDE Plasma vê o valor em dinheiro em todas as partes do widget, de forma coerente com o número principal e com a configuração escolhida.
  24. #389mergeado em 08/10/2026 Gráfico da barra de menus do macOS segue a opção de ver o que resta No macOS, o painel seguia a escolha de ler o uso pelo que resta da cota, mas o pequeno gráfico da barra de menus continuava mostrando o consumido; os dois passaram a concordar.
    O problema
    A pessoa pode escolher ler o uso pelo que já foi consumido ou pelo que ainda resta. No macOS, o painel que abre ao clicar no ícone seguia essa escolha, mas o gráfico compacto de barras na barra de menus a ignorava. Com a opção do que resta ligada, uma cota nova aparecia cheia no painel e vazia na barra de menus, e uma cota esgotada aparecia ao contrário.
    O que foi feito
    O gráfico passa a ler a mesma configuração do painel: com a opção do que resta, cada barra se enche com a parte ainda disponível, e linhas sem percentual continuam vazias em vez de aparecerem cheias. Na revisão, o mantenedor reproduziu o defeito antigo e confirmou que os testes novos o detectam.
    Valor entregue
    Elimina a contradição entre a barra de menus e o painel para quem lê o uso pelo que resta. A direção do preenchimento foi revista logo depois, no PR #391, que manteve as duas telas de acordo.
  25. #327mergeado em 03/10/2026 Documentação do Windows aponta o arquivo de configuração certo A ajuda do programa e quatro trechos da documentação indicavam, no Windows, um arquivo de configuração que o programa nunca lê; agora todos apontam o local real.
    O problema
    No Windows, o arquivo de configuração fica numa subpasta "config" dentro da pasta de dados do aplicativo, mas a ajuda do programa, a página principal do projeto e três páginas de documentação indicavam outro caminho. O guia do Windows chegava a criar esse arquivo e abri-lo no Bloco de Notas. Nada lê esse arquivo, então os ajustes eram ignorados sem aviso, enquanto o que se salvava pela bandeja ou pelo painel ia para o lugar certo, o que escondia a diferença.
    O que foi feito
    Os cinco pontos passam a indicar o caminho real, e o guia cria a pasta correta. Nenhum comportamento do programa muda; a alternativa de ler também o caminho antigo, que exigiria mudar código, ficou para decisão do mantenedor.
    Valor entregue
    Quem configura o ai-usagebar no Windows seguindo a documentação passa a editar o arquivo que o programa realmente usa, sem perder tempo com ajustes que não têm efeito.
  26. #321mergeado em 03/10/2026 Caminhos com ~ funcionam também no Command Code e no Copilot Duas configurações de caminho não entendiam o atalho ~ para a pasta pessoal: o exemplo da documentação fazia o Command Code parecer desconectado, e o Copilot acusava o GitHub CLI como não instalado.
    O problema
    O programa converte o atalho ~ para a pasta pessoal em todas as configurações de caminho, mas duas tinham ficado de fora: os arquivos de login do Command Code e o executável da linha de comando do GitHub usado pelo Copilot. Ao ativar o exemplo documentado, o Command Code dizia que a pessoa não estava conectada, e um caminho com ~ fazia o Copilot acusar que o GitHub CLI não estava instalado.
    O que foi feito
    As duas configurações passam a converter o ~ como todas as outras, e caminhos completos continuam intactos. Um teste novo cobre os dois casos e falha na versão anterior.
    Valor entregue
    Quem usa o ~ nessas duas configurações, inclusive no exemplo da documentação, tem o Command Code e o Copilot funcionando, sem mensagens enganosas de login ausente ou de programa não instalado.
  27. #314mergeado em 03/10/2026 Provedor desligado continua desligado ao salvar outras configurações Desligar o provedor principal e depois salvar qualquer outro ajuste religava esse provedor sem aviso; agora ele só volta se a pessoa escolher reativá-lo.
    O problema
    Quando a pessoa desligava o provedor ainda marcado como principal (o que a barra mostra por padrão) e ele mantinha uma chave de API, a tela de configurações reabria com esse provedor selecionado. O salvamento seguinte, qualquer que fosse a mudança, gravava o provedor como ligado de novo e ele voltava a ser consultado. O painel de configurações do Omarchy seguia o mesmo caminho.
    O que foi feito
    Um provedor principal desligado deixa de aparecer como o selecionado, e a tela mostra o primeiro provedor ligado, regra que já valia para o Copilot e para provedores sem chave. Escolher explicitamente um provedor desligado continua sendo a forma de religá-lo. Um teste novo reproduz o caso e falha na versão anterior.
    Valor entregue
    A escolha de desligar um provedor passa a ser respeitada: ele não volta a ser consultado por causa de um salvamento que não tinha relação com ele.

Distribuição segura 4 PRs

  1. #416mergeado em 14/10/2026 Checagem do login do Cline deixa de depender da máquina dos testes Para saber se o Cline estava configurado, o catálogo de provedores lia direto o arquivo de login na pasta do usuário, inclusive durante os testes; agora a leitura passa por um ponto substituível, como nos demais provedores.
    O problema
    O catálogo de provedores do ai-usagebar mostra quais serviços estão configurados, e o projeto exige que essa checagem dependa só da configuração e de verificações injetadas, para que os testes rodem isolados da máquina. No caso do Cline, o catálogo lia diretamente do disco o arquivo de login guardado na pasta do usuário. Com isso, o resultado dos testes podia variar conforme a máquina tivesse ou não um login do Cline, e os testes tocavam arquivos reais do usuário.
    O que foi feito
    A verificação do login do Cline passou a ser uma função injetada no catálogo, como já acontecia com o Command Code e o OpenCode Go; em uso normal, ela lê os mesmos arquivos de antes. Os testes recebem uma versão que não toca o disco, e um teste novo confere que o catálogo respeita os caminhos de login configurados e marca o Cline como configurado só quando a verificação confirma o login.
    Valor entregue
    A bateria de testes que protege cada versão passa a dar o mesmo resultado em qualquer máquina, sem ler credenciais reais do desenvolvedor, e o comportamento para quem usa o Cline não muda.
  2. #347mergeado em 04/10/2026 Pacotes do AUR conferidos antes de cada versão ser publicada Os pacotes do Arch Linux (AUR) trazem os arquivos e seus checksums em listas paralelas e, se elas ficassem desencontradas, o pacote não instalava; agora a publicação da versão falha antes.
    O problema
    Cada pacote do AUR declara os arquivos a baixar e, em outra lista, a soma de verificação (checksum) de cada um. Quando as duas listas ficam com tamanhos diferentes, a ferramenta de empacotamento do Arch recusa o pacote, e isso já tinha acontecido duas vezes. A checagem automática que roda antes de cada versão conferia os números de versão em oito arquivos, mas não essa correspondência.
    O que foi feito
    A etapa de verificação da publicação passa a comparar o tamanho das listas nos dois pacotes (o que compila a partir do código-fonte e o que traz o programa pronto) e nos seus arquivos de metadados, e falha antes de publicar se houver diferença. A mesma conferência entrou na bateria de testes normal do projeto, para o erro aparecer ainda no desenvolvimento.
    Valor entregue
    Evita que uma versão chegue ao AUR com um pacote que os usuários do Arch Linux não conseguem instalar. Um erro que já tinha se repetido passa a ser barrado automaticamente antes da publicação.
  3. #322mergeado em 03/10/2026 Receita do pacote para o AUR volta a ser aceita pelo Arch Linux Uma atualização de versão deixou a receita do pacote binário com uma soma de verificação a menos em cada arquitetura, e o Arch Linux recusava gerar o pacote; as duas entradas por arquitetura foram restauradas.
    O problema
    Desde que o pacote passou a baixar também a assinatura de cada arquivo, cada arquitetura precisa de duas somas de verificação. A atualização para a versão 1.29.0 voltou a deixar só uma, e a ferramenta de empacotamento do Arch recusa listas de tamanhos diferentes. O pacote do repositório não era gerado num teste local nem no envio manual ao AUR previsto no roteiro de publicação, e a checagem de versão, que olha só o número, deixou passar.
    O que foi feito
    As duas entradas por arquitetura voltam à receita e ao arquivo de metadados do pacote. Fora o número da versão, os dois arquivos ficam idênticos, byte a byte, aos aprovados quando a verificação de assinatura foi adotada. O fluxo automático de publicação não tinha sido afetado, porque reescreve essas listas.
    Valor entregue
    Quem empacota ou testa o ai-usagebar no Arch Linux volta a ter uma receita que funciona fora do fluxo automático, e o plano de contingência de publicação manual deixa de falhar.
  4. #288mergeado em 29/09/2026 Pacote do AUR confere a assinatura digital de cada versão O pacote binário do ai-usagebar no AUR passa a baixar a assinatura de cada versão e conferi-la com a chave do mantenedor, encerrando o aviso de verificação ignorada no Arch Linux e no Omarchy.
    O problema
    Desde a versão 1.28.0, o ai-usagebar é publicado com assinatura digital, mas o pacote binário do AUR não baixava essa assinatura nem declarava a chave confiável. Na instalação, o Arch Linux avisava que estava pulando a verificação de assinatura: o arquivo era conferido só pela soma de verificação, que garante a integridade, mas não a autoria.
    O que foi feito
    A receita do pacote passa a declarar a chave do mantenedor e a baixar a assinatura de cada arquivo, nas duas arquiteturas de processador, e a ferramenta de empacotamento do Arch faz a conferência automaticamente. O fluxo de publicação das versões foi ajustado para manter a lista de somas de verificação do tamanho da lista de arquivos, condição para o pacote ser aceito.
    Valor entregue
    Quem instala pelo AUR passa a ter a garantia de que o programa foi assinado pelo mantenedor, e não só de que chegou íntegro. Isso completa, no empacotamento, o reforço iniciado com a assinatura das versões.

Outros PRs mergeados 4 PRs

Ainda sem a descrição detalhada desta página; o título é o do GitHub.

  • #632 mergeado em 14/11/2026 fix(custom): redact API keys and query-bearing URLs in errors and cache
  • #630 mergeado em 14/11/2026 fix(detect): recognize macOS [keychain] entries in key_present
  • #628 mergeado em 14/11/2026 fix(tray): keep Keychain service names unredacted in key-check errors
  • #626 mergeado em 14/11/2026 fix(config): accept Keychain entries for named API-key accounts

Números atualizados em 14/11/2026.

O mesmo cuidado no seu sistema

Os mesmos hábitos destes PRs valem para backends que movimentam dinheiro: reproduzir o problema antes de corrigir, provar a correção com teste e não deixar dado sensível escapar.

Falar com o Vinícius Início