Sobre o projeto

ainess é um aplicativo de desktop (Tauri 2, licenciado sob MIT) que transforma as CLIs de codificação de IA que você já tem instaladas em uma equipe coordenada. Em vez de agrupar um modelo ou uma chave de API, ele detecta e opera ferramentas existentes — Claude Code, Antigravity, GitHub Copilot CLI, Gemini CLI, Codex CLI, opencode, Ollama e Aider — e pode instalar a maioria delas a partir de um painel de configurações. Um tipo de agente "custom" pode executar qualquer comando, com {prompt} substituído em seus argumentos. Sessões e credenciais permanecem onde cada CLI as mantém; o app afirma que nunca solicita, armazena ou lê uma chave. Windows é a plataforma na qual ele é desenvolvido e testado. Como funciona a orquestração Agentes são processos CLI de execução única (one-shot). Cada invocação é um "run", e as conversas persistem entre as execuções porque cada provedor é retomado através de seu próprio ID de sessão. Os agentes são organizados em uma hierarquia com funções: um planejador que raciocina, divide o trabalho e delega, mas não implementa; implementadores que realizam o trabalho; e revisores que o verificam. A delegação ocorre por meio de um bloco delimitado na resposta do planejador, que o orquestrador analisa em execuções e retorna como resultados — um ciclo chamado de round, com um máximo configurável. As tarefas devem ser independentes, já que um agente filho não vê a conversa do planejador. Um agente também pode pausar e fazer uma pergunta ao usuário com opções, e a execução continua na mesma sessão após a resposta. Dentro do app Projetos apontam para pastas de workspace e mantêm sua própria equipe, estado, histórico e chats; uma "formation" salva pode ser aplicada a novos projetos junto com suas skills e servidores MCP. Um quadro kanban com seis colunas (de backlog a concluído) é preenchido automaticamente: um prompt cria uma tarefa, delegações ficam vinculadas a ela, aprovações aguardam em "needs you", e execuções finalizadas movem-se para revisão ou pronto. As mesmas tarefas são renderizadas como um grafo de dependência em camadas, onde conexões arrastáveis declaram relações de bloqueio. Outras visualizações incluem um thread de chat com o orquestrador (uso de ferramentas, delegações recolhíveis, "orders" de prompts salvos), um grafo de hierarquia mostrando quem delega para quem e a quota restante, um dock direito com feeds de eventos brutos e terminais PTY reais, aprovações que podem ser exigidas por agente ou globalmente, chats multiagentes diretos e compartilhados, notificações, estado do repositório git (branch, arquivos sujos, ahead/behind, pull requests abertos com status de CI) e menus contextuais de clique direito. Worktrees git por agente com sua própria branch permitem que dois implementadores trabalhem simultaneamente sem conflitos no índice do git; um painel pode abri-los, mesclá-los ou descartá-los, recusando a mesclagem com trabalho não commitado. Remoto e CLI Um servidor integrado publica a mesma UI React como uma única página autocontida via LAN, protegida por um token na URL (401 sem ele), permitindo que um telefone visualize o quadro, envie tarefas, interrompa execuções e responda a perguntas. URLs públicas opcionais vêm do cloudflared ou ngrok, com suporte a domínios estáticos. A página também oferece notificações de navegador enquanto estiver ativa em segundo plano, o que requer um contexto seguro. Uma API HTTP com autenticação por token expõe o estado, um stream de eventos SSE, e endpoints de prompt, instruct, stop, approve e chat. O mesmo orquestrador está disponível sem interface via CLI, com comandos para executar tarefas, gerenciar projetos, agentes e formations, detectar instalações, verificar quota e uso, navegar no histórico, lidar com aprovações, chat e servir a página para celular. Extras e dados Skills, servidores MCP, contexto compartilhado e um perfil são injetados nos prompts dos agentes. Hooks reagem a eventos do orquestrador, como task.started, task.finished, delegation ou approval.requested, com Slack/Discord ou webhooks genéricos, comandos locais, notificações do sistema ou instruções encadeadas em outro agente, usando variáveis templated. Toda a configuração, histórico, chats, quadros de tarefas, marcas de quota e logs residem em arquivos simples nas pastas AppData do usuário; o histórico mantém as últimas 300 execuções e 3000 mensagens por projeto, os logs rotacionam diariamente e são mantidos por 14 dias, e os tokens são mascarados antes da gravação. A interface é traduzida para espanhol, inglês, português brasileiro, chinês simplificado, japonês, francês e alemão, alternáveis sem reiniciar, com o espanhol como dicionário base. Os releases são construídos e assinados via GitHub Actions a partir de um bump de versão na branch main, e os apps instalados atualizam-se automaticamente.