Início
VA.
Voltar para Projetos

AI Workspace

Plataforma de IA self-hosted: chat multi-modelo com ferramentas, memória de longo prazo, automações, canais de mensagem e app desktop — tudo rodando na sua própria infraestrutura.

3 min de leitura

Stack

  • FastAPI
  • Postgres 16 + pgvector
  • Next.js 14
  • Docker Compose
  • Tauri
  • SIFT

Em desenvolvimento ativo. O repositório é privado por enquanto, então não há link público — o que está descrito aqui é o estado atual do projeto.

O problema

Toda plataforma de chat com IA hospedada cobra o mesmo preço escondido: o seu contexto. As conversas, os documentos que você sobe, as chaves das integrações e a memória que o modelo acumula sobre você ficam na infraestrutura de outra pessoa.

O AI Workspace inverte isso. Roda inteiro em Docker Compose na sua máquina ou no seu VPS, e a única saída externa é a chamada ao provedor do modelo e o que você mandar as ferramentas alcançarem. Segredos ficam cifrados em repouso no banco.

Não é um wrapper de chat. É a pilha completa.

O que tem dentro

Chat e modelos

Multi-modelo via OpenRouter — qualquer modelo compatível com OpenAI — e modelos locais via Ollama. O streaming é retomável: fechar a aba ou dar F5 não cancela a geração.

Cada modelo customizado carrega prompt, parâmetros, ferramentas, capacidades, filtros, voz, memória e sub-agentes próprios. Na prática, é criar o seu próprio "GPT".

Dois modos que saem do chat linear: a mesa redonda, com vários modelos conversando entre si enquanto você conduz, e os sub-agentes, onde um orquestrador delega a modelos trabalhadores em sequência ou em paralelo.

Ferramentas

O tool-calling é feito com o SIFT — o outro projeto meu nesta lista. Busca web, leitura de página, navegador headless controlado pela IA, gráficos, diagramas, cotações, transcrição de vídeo e áudio, e código Python escrito pela própria IA, executado num sandbox isolado com limite de CPU e memória.

Memória e conhecimento

Memória de longo prazo com mem0, em escopos global, por modelo ou por chat, com stores compartilháveis. Ao lado dela, uma base de conhecimento com RAG sobre pgvector, com citação da fonte.

O segundo cérebro guarda notas interligadas num grafo, e uma revisão em segundo plano propõe novas memórias e habilidades — sempre passando pela sua aprovação.

Automação e canais

Agendamentos e monitores de preço, página, busca e RSS, que avisam dentro do app, por Web Push ou pelos canais. Você conversa com os modelos por WhatsApp, Telegram e Discord, e cada conversa vira um chat na barra lateral.

Plataforma

Uma API pública compatível com OpenAI em /v1/chat/completions, com chaves por usuário, limites, cotas, controle de custo e memória por chave. Toda requisição vira um trace com latência, tempo de banco, leituras e escritas e chamadas de LLM, num painel waterfall.

Arquitetura

Monorepo com quatro peças:

DiretórioO que é
apps/serverFastAPI — auth, orquestrador de turno, SIFT, mem0, RAG, integrações, API /v1
apps/webNext.js App Router — chat, workspace, configurações
desktopShell Tauri — janela nativa, ícone na bandeja, autostart
infra/Configuração dos serviços opcionais

Postgres 16 com pgvector carrega dados e vetores no mesmo lugar — uma decisão deliberada para não ter um banco vetorial separado para manter vivo.

Os recursos pesados sobem sob demanda, via profiles do Compose: busca self-hosted com SearXNG, voz local com Kokoro, WhatsApp via Evolution, navegador headless com browserless. Quem não usa, não paga o custo de tê-los rodando.

Segurança

O ponto do projeto é confiar a ele dados sensíveis, então isso não podia ficar para depois:

  • Senhas com Argon2; sessão em JWT dentro de cookie httpOnly, com refresh rotativo e token_version para revogar todas as sessões de uma vez; 2FA (TOTP) opcional.
  • Segredos por usuário cifrados com Fernet, com chave derivada do APP_SECRET e uma ferramenta de rotação que re-cifra o banco inteiro.
  • CORS restrito, headers de segurança em toda resposta, HSTS sob HTTPS e rate limiting no login, no registro e na API pública.
  • Em APP_ENV=production, o servidor se recusa a subir com um APP_SECRET fraco.

Estado atual

Funcionando ponta a ponta, com app desktop para Windows compilado pelo CI a cada release. As migrações rodam sozinhas ao subir o servidor. O que falta é a decisão que ainda não tomei: qual licença adotar antes de abrir o repositório.

Tags

  • Self-hosted
  • LLM
  • Full-stack
  • Docker