[OC] Criei um assistente de IA em Electron que fica invisível para o OBS/Zoom (inspirado no Perssua)
Fala galera.
Nas últimas semanas eu construí o Hades-Agent para resolver um problema pessoal: eu queria usar um assistente de IA enquanto compartilho tela no Teams/Discord, sem que o cliente ou time visse as minhas perguntas ou o contexto.
Vi o projeto Perssua (do Lucas Montano) e a ideia me fisgou na hora, então decidi tentar construir a minha própria versão Open Source focada 100% no uso Desktop.
Queria compartilhar como resolvi alguns dos desafios técnicos caso alguém esteja estudando essas APIs ou queira fazer algo parecido.
1. O Desafio da Invisibilidade
Para fazer as janelas ficarem completamente invisíveis para softwares de captura (OBS, Discord, Zoom, prints), utilizei a API setContentProtection(true) do Electron (no Windows). Por baixo dos panos, isso aciona a função SetWindowDisplayAffinity do SO com a flag WDA_MONITOR.
O resultado é que o agente só aparece para quem está na frente do monitor físico. Quem está assistindo o screen share só vê a janela que está atrás do app.
2. Streaming de Áudio em Tempo Real
A feature de transcrição de áudio do PC (para transcrever aulas ou reuniões) foi a parte mais chata. Em vez de gravar um chunk de áudio, processar e devolver, o app faz streaming de áudio raw (16kHz PCM) via WebSocket full-duplex direto para a nova Gemini Live API.
O fato de não ter transcrição intermediária derrubou a latência para menos de 100ms.
3. Arquitetura Sandboxed e Segurança
Como IA executando código na máquina local é um perigo, deixei a arquitetura bem restrita:
- O frontend (React 19) roda num Sandbox rígido (sem
nodeIntegration). - A comunicação entre o UI e o sistema operacional passa por uma IPC Event Bridge que filtra tudo.
- O histórico (memória e tarefas) é armazenado num JSON local criptografado com AES-256. A IA não tem permissão de escrita/deleção no sistema.
4. Busca rápida (Grounding)
Usei a Tavily Search API para conectar a barra de comandos (estilo o Spotlight do Mac) direto com a web, para evitar que a IA invente coisas.
Deixei o código todo aberto lá no GitHub. Se você quiser testar na sua máquina, vai precisar gerar suas próprias API Keys gratuitas (Gemini e Tavily).
👉 Repositório: https://github.com/euvictorldev/hades-agent