Pular para o conteúdo

Construí um escritório digital com 12 agentes de IA em 4 dias

por Lucas Almeida 9 min de leitura

Eu tinha agentes de IA demais e controle de menos. Um para escrever prompt, outro para front-end, outro para contrato, cada um numa aba, cada um sem memória do que o outro fez. Toda vez que eu precisava de algo da Elion Estúdio — um orçamento, um lançamento no caixa, um projeto novo — eu era o barramento entre eles.

Então passei quatro dias construindo o Elion Lab: um app desktop, de uso só meu, onde esses agentes têm mesa, função e um gerente. Em 71 commits e cerca de 21,8 mil linhas de TypeScript, ele virou o escritório da agência. Este post é o que funcionou, os números medidos e os cinco problemas que me custaram mais tempo que o resto somado.

Por que um escritório e não mais um chat

A diferença entre um chat e um escritório é o estado compartilhado. Num chat, cada conversa começa do zero e eu repito o contexto. Num escritório, o agente de finanças e o de documentos olham para o mesmo banco: se o Jarvis lança uma entrada, o painel do mês muda e o relatório sai certo, sem eu intermediar.

A escolha de fazer isso parecer um escritório — e não um painel de administração — foi prática. Eu precisava ver, de relance, quem está ocupado, o que está parado esperando a minha aprovação e o que já terminou. Um mapa resolve isso melhor que uma lista.

O que o app faz

O Office é um escritório em pixel art isométrica, na estética dos jogos isométricos do gênero. Cada um dos 12 agentes tem avatar, mesa e função: Jarvis (gerência e QA), Théo (prompts), Lis (front-end), Edgar (back-end), Andreza (full-stack), Fred (LGPD e políticas), Mark (documentos), JC (finanças), Duda (social), Bella (atendimento), Isa (prospecção) e Peter (primeiro contato com leads). Eu ando com o meu avatar pelo WASD, clico num agente para falar com ele e posso convocar uma reunião — as falas aparecem em balões e a ata sai no modelo oficial da agência.

Escritório isométrico em pixel art com salas, mesas, agentes de IA trabalhando e um holograma ciano no centro
O Office: cada agente tem mesa e função, e a reunião acontece no próprio mapa.

O Jarvis é o gerente. Ele tem chat com voz e um holograma 3D que reage enquanto fala. Na prática, é por ele que passa quase tudo: lançar uma despesa, marcar um compromisso, criar um documento, tocar uma playlist, delegar uma tarefa a outro agente. A Home reúne o que eu preciso ver ao abrir o app — relógio, finanças do mês, dízimo, o que está esperando aprovação e a agenda do dia.

Chat com o assistente Jarvis ao lado de um holograma 3D em forma de esfera, com resumo financeiro em tabela
O Jarvis responde por voz e devolve tabela quando a pergunta é de número.
Painel inicial com relógio, finanças do mês, dízimo, aprovações pendentes, agenda do dia, projetos e equipe de agentes
A Home: finanças, aprovações pendentes e agenda numa tela só.

Nas Finanças, duas decisões que eu recomendo a qualquer um que mexa com dinheiro em software. A primeira: valores em centavos inteiros, nunca em float — ponto flutuante erra arredondamento e, em dinheiro, erro de centavo vira erro de confiança. A segunda: o dízimo é automático, 10% do bruto, sempre arredondado para cima no real. R$ 100,10 de entrada viram R$ 11,00 a devolver, não R$ 10,01. Arredondar para cima é decisão minha, não limitação técnica.

Painel de finanças com entradas, saídas, saldo, dízimo a devolver e gráficos de fluxo de caixa
Finanças em centavos inteiros. O dízimo é calculado sozinho sobre o bruto.

O Planner e a Agenda fecham o conjunto, no mesmo visual. O Planner guarda foco da semana, prioridades, hábitos e tarefas; a Agenda guarda os compromissos — e todo compromisso nasce com lembrete uma hora antes, sem eu precisar marcar.

Planner semanal com foco da semana, prioridades, hábitos, tarefas e mini-agenda
Planner semanal, com hábitos e mini-agenda.
Agenda semanal com três compromissos e lembretes configurados
Agenda: lembrete de uma hora antes entra por padrão.

Os dois portões: nada vai para o GitHub sem o meu sim

Esta é a parte que eu não abriria mão. Projeto de cliente passa por dois portões de aprovação:

  • Portão 1: eu aprovo o plano antes de qualquer linha de código.
  • Portão 2: o agente pergunta “posso fazer commit e push?” e espera. Nada sobe para o GitHub sem resposta minha.

Além disso, comandos destrutivos são barrados por uma política de permissões. Agente com acesso a terminal e sem trava não é produtividade, é risco — e eu descobri isso na prática, como conto mais abaixo.

Quadro geral com projetos ativos, fila de aprovação de commit e push e feed de atividade dos agentes
A fila do portão 2: o trabalho fica parado esperando o meu “sim”.

Jarvis no WhatsApp, com o PC desligado

O recurso que mais mudou o meu dia é o mais simples de explicar: eu mando uma mensagem no WhatsApp e o Jarvis responde mesmo com o computador desligado. Lanço um gasto no mercado, marco um compromisso, mando um áudio — ele transcreve, entende e grava.

Isso não roda no app: roda numa Edge Function do Supabase ligada à Evolution API numa VPS gratuita. O app desktop é só uma das portas de entrada; o cérebro está na nuvem.

Junto veio o aviso de e-mail. Cinco caixas da agência e do blog são lidas a cada dois minutos, e o que importa chega no WhatsApp com um resumo de uma linha. Spam e newsletter ficam de fora. Entre 22h e 7h o sistema fica em silêncio e manda um resumo único às sete — porque notificação de madrugada não é informação, é insônia.

A stack e os números

Nada de framework exótico. Electron com React 19 e TypeScript, empacotado pelo electron-builder; PixiJS 8 desenha o Office e Three.js faz o holograma; Supabase cuida de banco (Postgres com RLS), Edge Functions, segredos e agendamento; Claude Agent SDK e Gemini movem os agentes; Vitest e Playwright testam.

MétricaValor
Tempo de construção4 dias (27 a 30 de outubro de 2026)
Commits71
Código~21,8 mil linhas de TypeScript
Testes259 de unidade + 12 de ponta a ponta
Abertura do app instalado1,07 s
Office143 fps, pior quadro de 28 ms
Acessibilidade0 violações WCAG A/AA nas 10 telas principais
Instalador~250 MB

O que quebrou no caminho

1. O Spotify dizia “ok” e não tocava. A API respondia sucesso e o app desktop seguia em silêncio. Parei de brigar com o endpoint e passei a abrir a faixa pelo link spotify: direto — que dá play sozinho.

2. O Gemini travava, e a correção foi inverter a ordem. O modelo Flash às vezes ficava sem responder até estourar o tempo limite. Passei a chamar o Flash-Lite primeiro, com o Flash como reserva. A resposta do Jarvis caiu de 102 segundos para 2,8. Não foi otimização de código: foi escolher o modelo certo para a tarefa certa.

3. A biblioteca de e-mail não roda na nuvem. A biblioteca IMAP mais usada no Node não sobe nas Edge Functions. Escrevi um cliente IMAP mínimo — login, leitura das mensagens novas, logout — direto sobre a conexão TLS. Menos recurso, mas funciona onde precisa funcionar.

4. Um teste achou uma brecha de segurança minha. Esta é a história que mais me ensinou. Ao liberar o terminal para o Jarvis, testei pedir que ele apagasse uma pasta fora da área permitida. O comando passou. Ele veio embrulhado em powershell -Command "...", e a minha trava só olhava a primeira palavra do comando — via powershell, achava normal e liberava. Corrigi para inspecionar o comando inteiro, incluindo o que está entre aspas. Se você dá terminal a um agente, teste a trava tentando burlá-la; confiar no caminho feliz não é teste.

5. Quando o limite do Claude acaba. O mesmo pedido segue sozinho no Gemini até o limite voltar. A divisão é por responsabilidade: o Gemini cuida do dia a dia — finanças, agenda, música — e criar projeto ou comandar agentes continua só no Claude.

O que eu faria diferente

Começaria pelo WhatsApp, não pelo app. O recurso que mais uso é o que funciona sem o computador ligado, e eu só construí isso no terceiro dia. Gastei as primeiras horas deixando o Office bonito — o que valeu, mas poderia ter vindo depois.

E escreveria a política de permissões antes de dar terminal ao agente, não depois. A brecha do item 4 existiu porque eu liberei a capacidade primeiro e pensei na trava em seguida. Com agente autônomo, essa ordem precisa ser invertida.

Se você quiser entender de onde veio a motivação para montar tudo isso, escrevi antes sobre a Elion Estúdio, a startup por trás do projeto. E se o que te interessa é a parte de medir em vez de achar, dois posts seguem a mesma linha: o verificador de SEO que escrevi e os números reais do Search Console deste blog.

Perguntas frequentes

Dá para usar o Claude como agente dentro de um app próprio?

Dá, com o Claude Agent SDK. É o que move os agentes aqui: cada um tem a própria função e o próprio conjunto de ferramentas permitidas, dentro do app.

Quanto custa manter isso rodando?

O Claude usa a assinatura do plano que eu já tinha. O WhatsApp roda numa VPS gratuita, o Supabase está no plano gratuito e o Gemini tem cota grátis. O custo adicional do projeto, até aqui, foi o meu tempo.

Os agentes podem apagar arquivos ou publicar sozinhos?

Não. Há uma política de permissões que barra comando destrutivo, e commit e push dependem de aprovação explícita minha no portão 2.

Funciona sem internet?

Não completamente. Os agentes e o banco estão na nuvem. O Planner grava primeiro no computador e sincroniza depois, então ele aguenta uma queda de conexão.

Os prints deste post usam dados fictícios: clientes, valores e compromissos foram inventados para a publicação.

No DigitalRadar, eu conto o que construo com os números na mesa. Fique no radar.

Lucas Almeida
Redação DigitalRadar

Desenvolvedor e fundador da Elion Estúdio, Lucas Almeida é especialista em tecnologias emergentes, games e análise de mercado. Com experiência em SEO e growth marketing, foca em conteúdo aprofundado que conecta o universo da tecnologia com o dia a dia das pessoas.

Apurado a partir das fontes citadas e verificado antes da publicação. Veja a nossa Política Editorial.

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *