← Portfólio

Software & automação · estudo de caso

Aura

Um assistente de IA que mora na bandeja do Windows e abre por atalho, com pesquisa web com fontes, voz local e contexto da tela sob controle de quem usa.

TipoOpen source
PapelProduto, aplicativo desktop em Rust e React, integração de agentes e distribuição
PeríodoOut/2026 · versão 0.3.0 publicada
EstadoEm desenvolvimento
TecnologiasRust · Tauri 2 · React 19 · TypeScript · Tailwind 4 · SQLite · MCP · PowerShell

O projeto em poucas palavras

O Aura é um assistente de IA para Windows. Ele fica na bandeja do sistema e abre com Ctrl+Shift+Espaço, sem tirar a pessoa do aplicativo em que está trabalhando. Dá para conversar, pesquisar na web, ditar por voz e perguntar sobre uma parte da tela, usando uma conta ChatGPT ou um provedor compatível, inclusive um servidor local.

O código é aberto, com licença MIT ou Apache-2.0, e os instaladores ficam na página de releases. A versão publicada é a 0.3.0.

Apresentação do Aura com o Overlay de conversa e a Minibar sobre fundo escuro
Material de apresentação do projeto; as telas são a interface real do Aura com conteúdo de demonstração.Ampliar imagem ↗

O ponto de partida

Usar IA no dia a dia costuma significar sair do que se está fazendo: abrir uma aba, copiar o texto, colar, explicar o contexto e voltar. Quando o assunto está na tela, ainda é preciso descrever o que se vê. E, ao dar acesso a tela, microfone ou áudio do sistema a um modelo remoto, a pergunta seguinte é quanto controle sobra para quem usa.

O desafio era criar um assistente rápido de chamar, que enxergue o contexto certo na hora certa e que deixe claro o que está sendo compartilhado.

Um assistente a um atalho de distância

O Overlay é a janela de conversa; a Minibar é a versão compacta, para perguntas rápidas. Em volta delas ficam os recursos que a rotina pede:

  • Chat, Tarefa e Plano: conversar, executar trabalho com ferramentas ou apenas preparar um plano;

  • Pesquisa web: buscar e ler páginas públicas, com fontes clicáveis e possibilidade de interromper, sem exigir chave paga de busca;

  • Contexto: comandos como @tela, @região, @janela, @seleção, @arquivo e @recente levam ao próximo turno só o que a pessoa escolher;

  • Voz: ditado com transcrição local, escolha de microfone e leitura das respostas em voz alta;

  • Anexos: imagens, documentos, planilhas, PDFs com texto e arquivos de áudio e vídeo;

  • Reuniões: preparo, transcrição e notas salvas com marcadores e receitas;

  • Organização: histórico, memórias, notas, lembretes e perfis por aplicativo;

  • Extensões: Skills, comandos rápidos e servidores MCP.

:::

Como organizei o aplicativo

Um host em Rust, uma interface em React

O aplicativo usa Tauri 2. O host em Rust orquestra os comandos tipados, a política de privacidade e os adaptadores do Windows para janelas, atalhos, captura e áudio. A interface é React 19 com TypeScript estrito, Tailwind 4 e Zustand. O agente é o app-server do Codex, numa versão fixada, que conversa com o login ChatGPT ou com um gateway para outros provedores.

Pesquisa e voz em módulos separados

A pesquisa web é um módulo próprio, o aura-web, que busca, lê e extrai o conteúdo das páginas e devolve referências de fontes. A voz roda num worker separado, com motores locais e suporte a DirectML. Os resultados da web são entregues de forma transitória, para que o texto bruto das páginas não fique guardado no histórico do agente; essa decisão está registrada num ADR.

Privacidade como configuração visível

Cada fonte de contexto (tela, microfone, áudio do sistema) tem sua própria regra, com a opção de o agente perguntar antes de usar. Há janelas excluídas por aplicativo, retenção configurável e um registro de acessos. Os dados ficam no perfil local, e as credenciais ficam num cofre protegido pelo Windows (DPAPI).

Página de Privacidade das configurações do Aura, com controles de tela, microfone, áudio do sistema e reuniões
Controles de privacidade por fonte de contexto.Ampliar imagem ↗

Evidência antes de publicar

O trabalho segue contratos, planos e tickets versionados no próprio repositório. A versão 0.3.0 foi compilada e verificada localmente, e os instaladores saem com assinatura para o atualizador e hashes SHA-256 na release.

O que fiz

Concebi o produto e desenvolvi o aplicativo: o host em Rust, a interface, a integração com o agente e com provedores, a pesquisa web, a voz local e as extensões. Também cuidei da documentação, do material visual e da distribuição, com instaladores, atualizador e notas de versão.

:::

Onde está hoje

A versão 0.3.0, de 11/10/2026, acrescentou a pesquisa e a leitura de páginas com fontes clicáveis, restaurou a escolha de modelo e de raciocínio e corrigiu a troca involuntária de monitor durante a conversa. O repositório tem testes de interface, testes do host e testes nativos com WebDriver em perfil isolado.

Os limites também estão documentados: a estabilidade em dois monitores foi testada em escala de 100%, os seletores em 150% e 200% seguem pendentes, e a instalação numa máquina Windows limpa ainda precisa ser validada. A busca depende da disponibilidade de serviços gratuitos e pode não ler páginas que exigem login ou CAPTCHA.

O que guiou as decisões

Num assistente que enxerga a tela e escuta o microfone, a confiança vem de controles claros, não de promessas: por isso cada fonte de contexto tem uma regra própria e o registro de acessos fica à vista. Separar pesquisa, voz e agente em módulos também facilitou testar cada parte e deixar explícito o que cada uma guarda.

Por fim, escrever os limites conhecidos ao lado dos recursos evita prometer o que ainda não foi verificado.

Uma ideia em movimento?

Vamos transformar a próxima pergunta em algo que funciona.

Conversar sobre um projeto ↗