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).

  • 44 PRs incorporados
  • 154 commits no projeto
  • +3,8k linhas adicionadas
  • 641 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:

  • 11 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.

  • 14 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.

  • 8 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.

  • 8 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.

  • 3 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 11 PRs

  1. #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).
  2. #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.
  3. #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.
  4. #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.
  5. #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.
  6. #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.
  7. #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.
  8. #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.
  9. #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.
  10. #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.
  11. #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 14 PRs

  1. #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.
  2. #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.
  3. #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.
  4. #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.
  5. #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.
  6. #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.
  7. #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.
  8. #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.
  9. #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.
  10. #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.
  11. #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.
  12. #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.
  13. #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.
  14. #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 8 PRs

  1. #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.
  2. #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.
  3. #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.
  4. #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.
  5. #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.
  6. #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.
  7. #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.
  8. #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 8 PRs

  1. #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.
  2. #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.
  3. #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.
  4. #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.
  5. #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.
  6. #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.
  7. #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.
  8. #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 3 PRs

  1. #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.
  2. #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.
  3. #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.

Números atualizados em 11/10/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