Open Aura

Servidor MCP local-first e de código aberto que transforma suas sessões reais de codificação com IA em um perfil de desenvolvedor pontuado. Apenas trechos editados, nada sai da sua máquina.

Documentação

Open Aura

Open-source, local-first: transforme suas sessões reais de codificação com IA em um perfil de builder pontuado, inteiramente na sua própria máquina.

Open Aura é um servidor MCP ao qual seu agente (Claude Code, Cursor, Claude Desktop, …) se conecta. Após uma sessão, o agente envia um pacote de evidências sanitizado — trechos truncados + metadados de arquivos, nunca código bruto ou prompts — e o Open Aura pontua como você trabalhou com a IA e armazena isso no seu Postgres local. Sem login, sem conta, nada sai da sua máquina.

Quer um perfil público, o leaderboard compartilhado e insights de equipe? Eles estão na edição hospedada em vibelevel.ai.


Início rápido (Docker)

cp .env.example .env          # then set OPENAI_API_KEY to your OpenCode key
docker compose up             # Postgres + backend (MCP :8090) + viewer (:3000)
docker compose up -d --build  # rebuild images after pulling changes

Aponte a configuração MCP do seu agente para o servidor local (sem autenticação no modo local):

// Claude Code / Cursor MCP config
{
  "mcpServers": {
    "aura": { "url": "http://localhost:8090/mcp" }
  }
}

Depois, após um trabalho, peça ao seu agente para "pontuar esta sessão com o Aura."

Visualizador local

Um visualizador web somente leitura acompanha a stack (seu próprio container aura-ui). Após docker compose up, abra http://localhost:3000. Uma barra lateral esquerda — Perfil · Primeiros passos · Leaderboard · Sessões, uma lista de sessões recentes e um grupo Em breve acinzentado (importar suas sessões / enviar para o leaderboard — isso está na edição hospedada) — fica ao lado do conteúdo: o bloco de pontuação hero, cartões de insight viráveis, barras de dimensão e uma consulta somente leitura do leaderboard público. Ele lê seus dados locais através da API REST do backend e nunca pontua ou grava nada.

Atualizando / reconstruindo

A stack incorpora o código-fonte nas imagens no momento do build (aura-app de ., aura-ui via next build) — não há montagens de código-fonte ao vivo. Então, depois que você git pull novo código, um simples docker compose up continua executando as imagens antigas em cache e você não verá as mudanças. Reconstrua:

docker compose up -d --build

Se uma mudança ainda não aparecer (cache de camada obsoleto), force uma reconstrução limpa:

docker compose build --no-cache aura-app aura-ui
docker compose up -d

Em seguida, faça um hard-refresh no visualizador (Ctrl/Cmd+Shift+R). O log de inicialização do backend imprime a versão + build em execução (ex.: Open Aura v0.2.0 · build …) para você confirmar que o novo código está ativo.

O que ele mede

Uma leitura sem referências do seu processo — sem rubrica, sem casos de teste — em dimensões como eficácia de prompting, colaboração/direção com IA, decomposição de problemas e contribuição humana vs. dependência de IA, além de um arquétipo de sessão, cartões de insight e telemetria medida (tokens, ferramentas, ciclo de vida "ships-it"). Ferramentas expostas: score_this_session, import_history, get_my_profile, whoami.

Privacidade

O contrato de sanitização é o ponto central: transcrições brutas e conteúdos de arquivos nunca saem da sua máquina. O agente envia apenas trechos de texto truncados e caminhos/metadados de arquivos. No modo local, os caminhos de pontuação e perfil não fazem nenhuma chamada de saída — tudo permanece no seu Postgres local. (A única exceção é a aba opcional Leaderboard do visualizador, que faz uma simples consulta somente leitura GET do leaderboard público de vibelevel.ai — ela não envia nenhum dos seus dados.)

Configuração

VarPadrãoFinalidade
AURA_LOCAL_MODEtrue (em .env.example)usuário local único, sem PAT/login
AURA_SCORING_MODELopenai/gpt-oss-120bmodelo de pontuação (roteamento de provedor em model_config.json)
OPENAI_API_KEY / GROQ_API_KEY / ANTHROPIC_API_KEY—traga o seu; defina o que seu modelo usa
OPENAI_BASE_URLpadrão OpenAIendpoint opcional compatível com OpenAI (para OpenCode, use https://opencode.ai/zen/v1)
POSTGRES_URLfornecido pelo composePostgres local (aplique schema.sql para bare-metal)
AURA_MCP_PORT8090porta do servidor MCP

Experimental: insights operacionais PFG

Um recurso opt-in, desativado por padrão que transforma uma sessão pontuada em dicas concretas e orientadas a ferramentas. O grafo já mapeia as ferramentas que os builders realmente usam — Claude skills, LangChain, o SDK da OpenAI, servidores MCP e mais — então o Open Aura pode olhar o que você construiu e direcioná-lo para elas: "você fez isso manualmente, mas existe um SDK estabelecido para isso," ou "existe uma Claude skill exatamente para isso." Esses check-tips são apenas consultivos — eles nunca alteram sua pontuação Aura.

Funciona precisamente porque o Open Aura é local — ele lê seu real git diff e transcrição completa (passada como local_context, nunca persistida ou pontuada) em vez de um resumo sanitizado.

Para ativá-lo, você precisa de um Personal Access Token somente leitura de graph.vibelevel.ai — veja a seção Getting access em docs/PFG_INSIGHTS_POC.md e as variáveis PFG_* em .env.example.

Como é construído

  • src/aura_mcp/ — o servidor MCP (server.py) + a vinculação de usuário local único (local_auth.py).
  • src/services/aura/ — o pontuador sem referências, extração de sinais, arquétipos, agregação de perfil e a rubrica de pontuação (aura_model_coding.py / aura_model_writing.py) — aberta para contribuições.
  • src/core/ — configuração enxuta, pool de Postgres e roteamento de provedor LLM.
  • aura_mcp_app.py — o entrypoint que monta o app MCP + a API REST + /health.
  • packages/aura-ui/ + web/ — os componentes do visualizador React e o host Next.js que os renderiza (o container aura-ui).

Roadmap

Áreas de foco atuais — contribuições são bem-vindas (itens granulares estão em Issues):

  • Melhorar a pontuação — tornar a rubrica mais discriminante e mais difícil de burlar: faixas mais nítidas de arquétipo / contribuição humana, um teto de pontuação para contribuição humana e pontuações de dimensão melhor calibradas.
  • Importar sessões para o VibeLevel Aura — um fluxo mediado por navegador de exportação → login → publicação para que seu Aura local se torne um perfil compartilhável e voltado a recrutadores em vibelevel.ai (nada é enviado automaticamente).
  • Melhorar os insights do VibeGraph / PFG — extração de tags mais precisa e resolução de grafo (menos correspondências soltas), grounding limitado/seguro para latência e transparência clara sobre o que permanece local vs. o que seu modelo BYO vê.

Contribuindo

Issues e pull requests são bem-vindos — veja CONTRIBUTING.md.

Licença

Apache-2.0 — veja LICENSE.

VibeLevel e Aura são nomes e marcas da VibeLevel. Este repositório é a edição aberta, local-first. O serviço hospedado em vibelevel.ai — o leaderboard público, perfis compartilháveis e a rede agregada — é separado e não está incluído aqui. A licença não concede direitos sobre os nomes ou logotipos VibeLevel ou Aura, nem para operar um serviço hospedado usando-os.