Guia de Implantação

Implantando Nova: um guia prático para auto-hospedagem

De um clone fresco até rodando na sua máquina ou VPS. Aprenda como inicializar Nova, configurá-la para seu provedor de IA e integrações, habilitar sandbox e configurar o conselho executivo — com etapas de aprovação que mantêm você no controle.

Nova é projetado para ser auto-hospedado. Sua máquina, suas chaves de API, seus dados, suas etapas de aprovação. Este guia percorre cada passo: desde o primeiro `bash bootstrap.sh` até uma instância de produção rodando em um VPS, com recursos opcionais como execução em sandbox e um conselho executivo distribuído.

A maioria disso leva menos de cinco minutos. Os bits opcionais — sandbox, coordenação de conselho multi-VPS, governança avançada — você liga quando estiver pronto.

O que você precisará

Antes de começar, junte estas peças:

Um computador ou servidor

macOS, Linux ou Windows via WSL2. O instalador configura todo o resto — o runtime Bun e a CLI do Claude Code são instalados para você automaticamente.

Uma conta Telegram

Nova se comunica via Telegram por padrão (WhatsApp e Slack também funcionam). Você pega um bot token de @BotFather.

Uma chave de provedor IA

Claude (recomendado), Gemini, Codex ou Groq. Comece com o que você já usa; Nova troca provedores baseado no tipo de tarefa.

Credenciais MCP (opcional)

Google Workspace, Notion, Cloudflare, etc. Cada uma adiciona uma ferramenta aos seus agentes. Você pode pular por enquanto e adicionar depois.

O caminho rápido: `bash bootstrap.sh`

Nova vem com um instalador de um único comando e um assistente de configuração guiado que pergunta exatamente o que precisa e nada mais. Clone o repo, execute um comando, e pronto em cerca de 3 minutos:

Início rápido git clone https://github.com/djbelieny/nova.git
cd nova
bash bootstrap.sh

O bootstrap.sh instala qualquer pré-requisito que esteja faltando (Bun, a CLI do Claude Code) e, em seguida, abre o assistente. Ele é retomável — feche-o e execute novamente para continuar — e bash bootstrap.sh --check relata o estado do seu sistema sem alterar nada. O assistente vai perguntar por:

  • Um token de bot Telegram do @BotFather (siga os prompts)
  • É tudo o que você digita para o Telegram — seu ID de usuário é detectado automaticamente quando você manda uma mensagem para o seu bot (sem a etapa do @userinfobot)
  • Qual provedor IA você quer começar (Claude/Gemini/etc.)
  • Sua chave de API para esse provedor
  • Seu nome e timezone (para personalização)

Ele escreve um arquivo .env mínimo, cria .mcp.json do exemplo e verifica a conexão Telegram. Quando a Nova inicia, ela te cumprimenta no Telegram com ideias iniciais tocáveis — então sua primeira interação funciona sem precisar digitar. Execute bun run doctor a qualquer momento para uma verificação de saúde.

É issoVocê agora tem uma instância Nova funcionando que entende requisições classificadas, roteia para o agente certo e pede aprovação antes que algo consequente aconteça.

Configuração: conheça seus três arquivos

A configuração do Nova vive em três lugares. Você raramente precisa editá-los diretamente — `bun run init` cuida do básico — mas entendê-los ajuda quando você quer adicionar um recurso ou fazer debug.

.env — Segredos e chaves de API

Nunca faça commit deste arquivo. Ele contém seu token de bot Telegram, chaves de provedor IA e qualquer credencial de terceiros. Comece com o exemplo:

Variáveis essenciais TELEGRAM_BOT_TOKEN=seu_token_aqui
TELEGRAM_USER_ID=seu_id
ANTHROPIC_API_KEY=sk-ant-...
USER_NAME=Jake
USER_TIMEZONE=America/New_York

Variáveis opcionais habilitam recursos conforme você adiciona: `GROQ_API_KEY` para transcrição de voz, `GOOGLE_WORKSPACE_CREDS` para Gmail/Drive, `CLOUDFLARE_API_TOKEN` para workers, e assim por diante.

config/profile.md — Quem você é

Um arquivo markdown descrevendo seu contexto. É carregado em cada mensagem para Nova entender seus objetivos, restrições e estilo de comunicação. Preencha uma vez:

Exemplo profile.md # Seu Perfil

Seu nome: Jake
O que você faz: Rodar uma empresa SaaS
Seus objetivos: 10x saída de conteúdo, crescer para 5k subscribers de newsletter
Restrições: Tenho 4 horas por semana livres
Timezone: America/New_York

.mcp.json — Integrações e ferramentas

Especifica quais servidores MCP Nova pode conectar: Notion, Google Workspace, Playwright, Cloudflare, Square, GoHighLevel e 12 outros. O assistente init copia `mcp.example.json` e configura placeholders. Conforme você adiciona integrações, descomente as que usa e adicione credenciais.

Rodando Nova: inicie, mantenha rodando

Uma vez configurado, inicie o bot:

Desenvolvimento bun run start

Ele escuta mensagens Telegram. Ctrl+C para parar. Teste: envie uma mensagem ao seu bot no Telegram e espere a resposta.

Para produção — para que Nova rode no background e reinicie em crash — use o gerenciador de processos do seu OS:

macOS: launchd

Configure e habilite bun run setup:launchd -- --service core

Isto auto-gera um arquivo plist com os caminhos certos e carrega em launchd. Nova roda no background, inicia no boot e reinicia se falhar. Verifique status com `launchctl list | grep nova`.

Linux/Windows: PM2

Configure e habilite bun run setup:services -- --service core

Usa PM2 para gerenciamento de processos. Verifique com `npx pm2 status`.

Execução em sandbox (0.2.0)

Quando agentes executam tarefas, eles rodam na memória da sua máquina por padrão. Sandbox é opcional mas poderoso: roda cada tarefa em um container Docker hardened — filesystem read-only exceto por um workspace por-tarefa, sem acesso às suas credenciais, chamadas de sistema limitadas.

Uma página maliciosa que tenta enganar um agente para exfiltrar dados não consegue escapar do sandbox. E Nova continua na sua assinatura: em vez de mudar para faturamento por-token, compartilha seu plano Claude/Gemini no sandbox.

Para habilitar sandbox:

Opcional: habilitar sandbox NOVA_SANDBOX_BACKEND=docker
Construir a imagem: bun run sandbox:verify
Definir modo assinatura: NOVA_SANDBOX_SHARE_AUTH=true

É isso. Agentes agora rodam dentro de um container. Você pode ver os logs do container e ajustar isolamento conforme necessário.

O conselho executivo (0.2.0)

Para questões estratégicas difíceis, Nova tem um conselho executivo opcional: CEO, CFO, CMO, CTO, COO, Chefe de Pesquisa e um Crítico. Cada um modela um jeito diferente de pensar. Eles se reúnem, dão análise independente, o Crítico faz uma pré-análise para surfaçar modos de falha, e Nova sintetiza opções com scores de confiança.

O conselho pode rodar em um VPS único ou distribuído em 7 máquinas separadas. Os 7 executivos coordenam através de um banco de dados Postgres compartilhado.

Configuração de conselho single-VPS

Execute Postgres localmente e registre:

Banco do conselho bash deploy/board/setup.sh
Defina em .env: BOARD_DB_URL=postgres://...seu-db-local...

Depois inicie os serviços executivos:

Habilitar executivos bun run setup:launchd -- --service all

Sete novos serviços launchd começam: `nova-exec-ceo`, `nova-exec-cfo` e assim por diante. Cada um pode receber DMs no Telegram (ou rodar autonomamente com rate limiting).

Conselho multi-VPS (avançado)

Implante uma API PostgREST em um VPS e aponte cada nó executivo para ela. Cada executivo roda em um container separado com sua própria chave de provedor IA. Eles coordenam inteiramente através do banco de dados compartilhado. Isto é opcional e só vale a pena se você precisar que os executivos rodem independentemente e escalem.

Governança: etapas de aprovação e autonomia conquistada

Fora da caixa, Nova sempre pergunta antes de publicar, enviar ou gastar. Você toca Aprovar/Revisar/Cancelar em botões inline do Telegram.

Conforme um agente constrói um histórico limpo, se gradua: primeiro para notificar você depois, depois para completamente autônomo dentro de um limite de gasto. Uma falha e volta a perguntar. Você gerencia níveis de autonomia de um dashboard:

Dashboard de governança GET /governance
Veja e ajuste níveis de autonomia por agente
Defina orçamentos de gasto
Revise o registro de auditoria

Cada ação é registrada: quem rodou o quê, ao que custo, se foi bem-sucedido. Você pode reverter qualquer decisão, ajustar níveis de confiança e ver um histórico completo.


Checklist de segurança

Antes de confiar Nova com trabalho real:

Antes de produção Nunca faça commit de .env ou .mcp.json com credenciais reais
Defina TELEGRAM_USER_ID para que só você possa mensagear o bot
Use um token de bot Telegram forte (se exposto, regenere de @BotFather)
Se usar sandbox, verifique que a imagem Docker constrói e roda
Teste o fluxo de aprovação numa tarefa baixo-risco primeiro
Revise o registro de auditoria na primeira semana de uso
Habilite limites de gasto em agentes que toquem APIs de faturamento

As etapas de aprovação, sandbox e rastros de auditoria do Nova são projetados para tornar consequências reversíveis. Mas a posição inicial é sempre "pergunte primeiro, depois execute" — você continua no controle.

Próximo: execute, construa em cima

Você agora tem tudo que precisa para rodar Nova na sua máquina ou num VPS. Envie uma mensagem e veja funcionar. Ligue sandbox e o conselho executivo quando estiver pronto. Ajuste níveis de autonomia conforme confiar mais. Adicione integrações MCP conforme precisar.

Nova é licenciado MIT. Leia o código, faça fork, customize agentes, adicione suas próprias ferramentas. É seu time agora.

Consiga Nova rodando na sua máquina

Auto-hospedado, de código aberto, suas chaves, suas etapas de aprovação.