AgentFlow
Painel local que mostra quanto de cota resta em cada agente de IA de programar, recomenda qual usar numa tarefa e deixa rodar a tarefa só depois de eu confirmar.
Nas execuções do vídeo e das telas os agentes são simulados, num repositório descartável: nenhum modelo de verdade foi chamado. As leituras de cota e de versão vêm da minha própria máquina, no momento da gravação.
- Lê as cotas do Claude Code, do Codex e do Antigravity pelo cache local, sem pedir senha nem token
- Cada janela de cota é mostrada separada: nunca soma períodos diferentes nem inventa um histórico
- Execução supervisionada: projeto cadastrado à mão, dois aceites e permissões de só leitura por padrão
- Python puro, sem dependência de runtime, 44 testes automáticos e ouve só no endereço local
Como era antes.
Eu trabalho com três agentes de IA para programar, cada um com a sua cota de uso por janela de cinco horas e por semana. Saber qual ainda tinha folga significava abrir três lugares diferentes, e eu escolhia pelo hábito, não pelo que sobrava.
Quando a cota acabava no meio de uma tarefa, eu só descobria na hora. E deixar um agente mexer num projeto exigia confiar que ele pediria permissão no momento certo.
O que mudou.
O AgentFlow junta tudo numa tela. Ele descobre quais agentes estão instalados, lê o catálogo de modelos que cada um guardou na máquina e as cotas pelo cache do Codenotch, um app que já as acompanhava. Cada leitura traz a idade: recente, antiga ou desconhecida. Desconhecido não vira zero, porque falta de informação não é cota esgotada, e janelas de escopos diferentes nunca são somadas.
O Smart Router recebe a descrição da tarefa e responde com uma recomendação explicada: a categoria que ele entendeu, a afinidade do agente, o estado da cota e o que ficou incerto. Há três modos, qualidade, equilíbrio e economia, e a análise roda só no servidor local e não aciona nenhum agente.
A versão 0.2 acrescentou a execução, separada da recomendação de propósito. Cada projeto precisa ser cadastrado pelo terminal, tem de ser um repositório Git e é recusado se for um diretório amplo ou um atalho. Para rodar, a tarefa é preparada, eu reviso diretório, ramo, agente e objetivo, marco duas confirmações e só então ela começa. Os agentes entram com perfis restritos, e se a tarefa exigir escrita ou uma permissão que não existe, ela termina como Needs attention em vez de receber acesso sozinha.
A parte de segurança foi tratada como requisito, não como detalhe. O servidor só ouve no endereço local, a área de execução exige uma chave aleatória que vive na sessão da aba e é tirada do endereço depois de lida, e cada pedido confere origem e formato. O histórico fica num banco privado e as saídas passam por uma limpeza para não guardar segredos. O visual foi refeito em modo escuro com um acento verde-menta, sem biblioteca de ícones ou de gráficos, e respeita a preferência por menos movimento.
Por dentro.

Cada agente mostra de onde vem cada dado: o executável, a origem da versão e a idade de cada leitura. As barras têm texto equivalente, para não depender só de cor. 
O Router explica a escolha e diz o que não sabe: aqui o modelo é unknown, e o aviso de que a disponibilidade não foi comprovada aparece junto da recomendação. 
Nada roda sem este diálogo. Ele repete o que vai acontecer, pede dois aceites e avisa que não haverá aprovação automática, troca de provedor, commit, push ou deploy. 
O estado vem do processo e dos eventos, nunca de uma barra de progresso inventada. Retomar exige preparar e confirmar outro plano. 
Diagnóstico explica as fontes e os limites. Fresh, stale e unknown têm definição escrita, e a tela diz que o relógio reavalia a validade sem buscar dado nenhum.