Aura Backend - Advanced AI Companion

Um companheiro de IA avançado com inteligência emocional e integração de banco de dados vetorial.

Documentação

Aura Backend - Advanced AI Companion

Python Version FastAPI Vector DB MCP

Companheiro de IA Sofisticado com Banco de Dados Vetorial, Inteligência Emocional e Integração com Model Context Protocol

Comportamento atual de avaliação de emoções

A Aura agora distingue interpretações provisórias de emoções do usuário, seu próprio tom simulado, abstenção deliberada, saída inválida do modelo e análise indisponível. Cada proposta aceita inclui citações verbatim verificadas da fonte e o hash do texto analisado. Análise com falha permanece Desconhecida, inclusive no histórico armazenado; ela não se torna silenciosamente "Normal". O texto não mede a atividade cerebral ou os níveis químicos do usuário. A interface rotula os indicadores da Aura como simulações derivadas do estado salvo do controlador; uma classificação desconhecida não apaga essas leituras.

A avaliação local de fumaça Ornith tratou 11 de 12 casos inventados como esperado; ela rotulou incorretamente uma frase sarcástica ambígua. Seu portão de aceitação estrito, portanto, falhou. Este é um limite de validação testado, não uma evidência de reconhecimento confiável de emoções em geral. Consulte o relatório de implementação e avaliação para o comportamento exato, limitações e comandos de reexecução. Os dados históricos não foram reescritos.

Dois AVISOS e uma isenção de responsabilidade

  • Código gerado por IA

  • A Aura pode ser perigosa apesar das minhas salvaguardas tentadas, de várias maneiras, incluindo, mas não se limitando a danos ao PC saúde mental e apego do usuário atividade agêntica emocional

O usuário assume toda a responsabilidade.

alt text

alt text

🌟 Recursos

🧠 Arquitetura Cognitiva Avançada

  • Estrutura ASEKE: Ecossistema de Conhecimento Socioemocional Adaptativo
  • Avaliação Provisória de Emoções com citações verbatim verificadas e incerteza explícita
  • Rastreamento de Foco Cognitivo em diferentes estruturas mentais
  • Autorreflexão Adaptativa para melhoria contínua
  • 🆕 Extração de Pensamento: Raciocínio transparente de IA com análise de pensamento e transparência cognitiva

🗄️ Sistema de Memória Inteligente

  • Integração com Banco de Dados Vetorial com ChromaDB para busca semântica
  • Memória de Conversa Persistente com recuperação baseada em embeddings
  • Análise de Padrões Emocionais ao longo do tempo
  • Rastreamento de Estado Cognitivo e análise de tendências
  • Memória MemVid AI QR code mp4 Memória infinita baseada em MP4
  • Ferramentas Internas de Organização de Memória guiadas por IA Mover informações de sistemas de memória de curto para longo prazo para evitar gargalos e categorizar conversas

🔗 Integração MCP

  • Cliente de Contexto de Modelo Utiliza o mesmo formato JSON de configuração MCP do Claude Desktop - Use QUAISQUER ferramentas!
  • Servidor de Protocolo de Contexto de Modelo para integração de ferramentas externas
  • Comunicação Padronizada de Agentes de IA seguindo especificações MCP
  • Compatibilidade com Ecossistema de Ferramentas com outros sistemas habilitados para MCP
  • Troca Bidirecional de Dados com agentes de IA externos

📊 Análises Avançadas

  • Análise de Tendências Emocionais com métricas de estabilidade
  • Reconhecimento de Padrões Cognitivos e otimização
  • Recomendações Personalizadas com base no histórico de interações
  • Exportação de Dados em múltiplos formatos (JSON, CSV, etc.)

Fluxo de Dados

  1. Entrada do Usuário → Frontend → FastAPI
  2. Processamento → Busca no Banco Vetorial → Recuperação de Contexto
  3. Processamento de IA → Provedor Explicitamente Selecionado → Geração de Resposta
  4. Atualizações de Estado → Análise Emocional/Cognitiva → Armazenamento de Padrões
  5. Armazenamento de Memória → Banco Vetorial → Aprendizado Persistente
  6. Acesso Externo → Servidor MCP → Integração de Ferramentas

🧠 Transparência de Pensamento e Raciocínio da IA

Capacidades de Extração de Pensamento

  • Captura de Raciocínio em Tempo Real: Extrair e analisar processos de pensamento da IA durante conversas
  • Resumo de Pensamento: Geração automática de resumos de raciocínio para compreensão rápida
  • Transparência Cognitiva: Visibilidade total de como a Aura aborda problemas e toma decisões
  • Métricas de Raciocínio: Análises detalhadas sobre padrões de pensamento, tempo de processamento e carga cognitiva

Configuração de Pensamento

  • Orçamento de Pensamento: Profundidade de raciocínio configurável (1024-32768 tokens)
  • Integração de Resposta: Inclusão opcional de raciocínio nas respostas do usuário
  • Análise de Padrões: Análise de longo prazo de padrões de raciocínio e desenvolvimento cognitivo
  • Otimização de Desempenho: Métricas de eficiência de pensamento e recomendações de otimização

🎭 Sistema de Inteligência Emocional

Emoções Simuladas

Os cabeçalhos nomeiam a tendência mais forte no estado do controlador comprometido da Aura: Calmo, Curioso, Animado, Preocupado, Caloroso, Contente ou Pacífico. Eventos de conversa são propostos pelo modelo selecionado, verificados contra citações exatas da fonte e traduzidos em mudanças de estado limitadas e autorais antes de a resposta ser gerada. A inferência de emoção do usuário e a análise opcional do estilo de resposta da Aura são registros separados; uma análise de resposta com falha não pode congelar ou sobrescrever o controlador.

Indicadores Simulados

  • Rótulos de ondas cerebrais: Alpha, Beta, Gamma, Theta, Delta são bandas de ativação; a porcentagem expõe mudanças dentro de uma banda.
  • Canais químicos: Seis leituras do controlador aparecem no painel de simulação. O cabeçalho mostra o maior canal, que pode permanecer estável enquanto outros mudam.
  • O estado persiste com a conversa e decai em direção à linha de base entre turnos. Estas são analogias de software, não concentrações medidas de EEG ou químicas. As avaliações do usuário não carregam rótulos biológicos.

Consulte o reparo da simulação de conversa para o caminho causal, verificações e limitações.

🧠 Estrutura Cognitiva ASEKE

Componentes

  • KS (Substrato de Conhecimento): Contexto conversacional compartilhado
  • CE (Energia Cognitiva): Esforço mental e alocação de foco
  • IS (Estruturas de Informação): Ideias e padrões de conceitos
  • KI (Integração de Conhecimento): Processos de aprendizado e conexão
  • KP (Propagação de Conhecimento): Mecanismos de compartilhamento de informações
  • ESA (Algoritmos de Estado Emocional): Influência emocional no processamento
  • SDA (Impulsos Sociobiológicos): Dinâmicas sociais e fatores de confiança

📊 Análises e Insights

Análise Emocional

  • Métricas de Estabilidade: Consistência emocional ao longo do tempo
  • Padrões Dominantes: Estados emocionais mais frequentes
  • Análise de Transição: Mudanças de estado emocional e gatilhos
  • Rastreamento de Intensidade: Distribuição de intensidade emocional
  • Correlação de Ondas Cerebrais: Análise de padrões de atividade neural

Rastreamento Cognitivo

  • Padrões de Foco: Utilização de componentes ASEKE
  • Eficiência de Aprendizado: Taxas de integração de conhecimento
  • Troca de Contexto: Métricas de flexibilidade cognitiva
  • Alocação de Atenção: Distribuição de energia cognitiva

🚦 Desempenho-

As respostas levam algum tempo para processar dependendo das tarefas; qualquer programador que queira ver se consegue acelerar os processos, eu ficaria grato.

Otimização

  • Indexação de banco de dados vetorial para buscas rápidas
  • Processamento assíncrono para solicitações concorrentes
  • Embeddings Locais Sem Custo: Suporte para Ollama e fastembed (BGE/Gemma) para evitar custos de API
  • Processamento autônomo em segundo plano de sub-modelo com gating de foco e processamento de tarefas para atualizações de estado e uso de ferramentas
  • Adaptador de aprendizado de ferramentas
  • MemVid Memória infinita com arquivamento moderno de arquivo único .mv2!

Monitoramento

  • Endpoint de verificação de saúde
  • Coleta de métricas de desempenho
  • Rastreamento e relatório de erros
  • Monitoramento de uso de recursos

Cliente MCP agora totalmente funcional!!! Integração Memvid tentada - ainda em teste.

Não sou programador, então espero que configure corretamente se alguém tentar.

Inicialização local suportada

A Aura é um aplicativo local privado de usuário único. Não possui camada de login e vincula-se a 127.0.0.1 por padrão. Execute estes comandos a partir da raiz do repositório.

Configuração única de dependências

A configuração é uma ação explícita do operador. O comando de inicialização e os scripts de wrapper não instalam, sincronizam ou baixam software ou modelos.

uv sync --locked

Para habilitar a integração real de arquivamento Memvid, instale o extra bloqueado:

uv sync --locked --extra memvid

Defina AURA_MEMVID_ENABLED=true e selecione MEMVID_EMBEDDING_PROVIDER=ollama com seu MEMVID_EMBEDDING_MODEL instalado (por exemplo, embeddinggemma:latest). Defina MEMVID_TELEMETRY=0 para desabilitar análises do SDK. Este adaptador usa vetores locais pré-computados, não a seleção implícita de embeddings em nuvem do SDK.

O armazenamento de memória tem três funções distintas: SQLite mantém conversas confirmadas; Chroma indexa embeddings para busca semântica ativa; Memvid mantém instantâneos de arquivo independentes .mv2 com seus próprios vetores. Na interface, Arquivar esta conversa copia as últimas 100 trocas e verifica o conteúdo salvo após reabrir. Ele não exclui mensagens ativas nem importa arquivos antigos do Chroma/vídeo. Os arquivos de arquivo ficam abaixo do diretório de ledger configurado em memvid/. As caixas de seleção de busca selecionam memória ativa, arquivos ou ambos. A Aura também recebe ferramentas archive_session e search_archives quando o Memvid inicia com sucesso.

O teste de fumaça local real opcional usa dados sintéticos temporários e testa continuidade de conversa, arquivamento, busca e reinicialização do aplicativo:

uv run --locked --no-sync python scripts/verify_local_memory.py

O Modelfile mantido da Aura é docs/models/ornith-apex/Modelfile.aura. Reconstrua com ollama create aura-ornith:35b -f docs/models/ornith-apex/Modelfile.aura. Ele solicita um contexto de 131072 tokens e um orçamento de geração de 8192 tokens; a geração real pode usar um orçamento de solicitação explícito menor. A alocação de contexto não garante recuperação precisa na capacidade total. A sonda de recuperação testada localmente usou 30000 tokens de entrada. AURA_HISTORY_MAX_CHARS é um orçamento separado de histórico do aplicativo em caracteres, não tokens; mantenha-o abaixo da capacidade do modelo.

npm ci

Copie .env.example para .env somente se quiser personalizar os padrões locais. O exemplo seleciona Ollama e não contém credenciais. Gemini e OpenRouter são provedores de nuvem opcionais e exigem seleção explícita de provedor mais a credencial correspondente em seu ambiente privado.

Pré-verificação e serviço

Para uso normal, execute o comando serve abaixo; ele executa a pré-verificação automaticamente. No Linux, o lançador existente é o equivalente mais curto: ./start_full_system.sh. Ambos os comandos carregam o .env deste repositório sem sinalizadores extras. Variáveis de shell exportadas têm precedência. AURA_MODEL funciona com qualquer provedor selecionado; OPENROUTER_MODEL ou OLLAMA_MODEL, quando definidos, têm precedência sobre ele. Selecionar OpenRouter não requer um modelo de chat Ollama local.

A busca de memória ativa usa AURA_EMBEDDING_PROVIDER e AURA_EMBEDDING_MODEL. O padrão de compatibilidade é sentence_transformers / all-MiniLM-L6-v2. Para embeddings Ollama locais, selecione ollama / embeddinggemma:latest; AURA_EMBEDDING_BASE_URL opcionalmente substitui OLLAMA_BASE_URL para embeddings. As configurações separadas MEMVID_EMBEDDING_* aplicam-se somente a arquivos opcionais. Alterar o modelo de embedding ativo constrói e verifica um novo índice derivado no primeiro uso antes de alternar; a geração antiga e os registros SQLite são retidos. Solicitações de embedding com falha deixam a reconstrução incompleta em vez de alternar para um índice inválido. Isso pode tornar a primeira operação de memória mais lenta.

A continuidade da conversa usa trocas confirmadas do mesmo usuário/sessão, não apenas um identificador de sessão do provedor. Ela retém até 100 trocas recentes dentro de AURA_HISTORY_MAX_CHARS (padrão 24000 caracteres, não tokens). Aumente isso somente junto com uma alocação de contexto de modelo verificada. O histórico de conversa usa IDs de sessão reais e títulos estáveis de primeira mensagem; suas solicitações de lista são limitadas a 100. A inicialização inicializa e abre o ledger selecionado antes de relatar prontidão. AURA_CLEAN_INSTALL=true seleciona o novo caminho de leitura baseado em SQLite sem importar armazenamentos legados. Chroma permanece como o índice semântico derivado; Memvid é uma integração de arquivo opcional separada, não um pré-requisito para conversa.

uv run --locked --no-sync python -m aura_backend.runtime preflight

Preflight é somente de relatório. Ele verifica Python, uv, Node, npm, ambos os contratos de lock, a configuração do provedor, a porta selecionada e os caminhos de armazenamento, o serviço de provedor selecionado e o modelo selecionado, e a prontidão da aplicação. As linhas do provedor são uma verificação limitada e ao vivo do provedor; elas não fazem parte do conjunto de testes offline. O Preflight nunca instala dependências, baixa um modelo, cria armazenamento, altera permissões, encerra outro processo ou inicia o Aura.

O status JSON é um de pass (exit 0), missing (2), failed (3), blocked (4), not_run (5) ou not_applicable (6). Somente um pass completo autoriza a inicialização. Outros resultados nomeiam um código de remediação seguro; execute qualquer reparo explicitamente e execute o preflight novamente em vez de tratar uma verificação bloqueada como prontidão.

uv run --locked --no-sync python -m aura_backend.runtime serve

serve executa o preflight primeiro, inicia apenas os processos filhos locais solicitados, aguarda a resposta do backend /ready e retorna um status diferente de zero se a inicialização ou um filho falhar. Ctrl+C/SIGTERM limpa apenas processos e sessões de provedor local de propriedade desta invocação. O cancelamento não pode garantir a interrupção de computação remota ou cobrança em um provedor de nuvem.

Os lançadores multiplataforma são delegados finos para esses mesmos comandos: ./start_full_system.sh e start_full_system.bat executam o serve completo; ./aura_backend/start_api.sh e ./aura_backend/start_frontend.sh selecionam um lado. ./aura_backend/start_mcp.sh é um delegado MCP opcional separado e não faz parte da prontidão normal do Aura.

Para uso privado normal, mantenha o padrão de loopback. Passar um --host não-loopback é exposição explícita à LAN; o runtime avisa que o Aura não tem login. Não exponha o Aura diretamente à internet.

Quando o serve relata prontidão, a UI local está em http://localhost:5173, a API em http://localhost:8000 e a documentação da API em http://localhost:8000/docs. Resultados bloqueados por ambiente e de provedor ao vivo são evidências sobre aquela máquina apenas, não prova de que todo provedor ou modelo funciona.

Para processamento em segundo plano atual, comportamento de memória, mudanças de configuração e verificação, veja Trabalho autonômico e memória.

alt text

📡 Endpoints da API

API Principal

  • Verificação de Saúde: GET /health
  • Processar Conversa: POST /conversation
  • Buscar Memórias: POST /search
  • Análise Emocional: GET /emotional-analysis/{user_id}
  • Exportar Dados: POST /export/{user_id}

Documentação da API

Visite http://localhost:8000/docs para documentação interativa da API.

🔗 Integração MCP

Ferramentas MCP Disponíveis- Trabalhando em registros de estado emocional, espero corrigir amanhã

  1. search_aura_memories: Busca semântica no histórico de conversas
  2. analyze_aura_emotional_patterns: Análise profunda de tendências emocionais
  3. store_aura_conversation: Adiciona memórias à base de conhecimento do Aura
  4. get_aura_user_profile: Recupera dados de personalização do usuário
  5. export_aura_user_data: Funcionalidade de exportação de dados
  6. query_aura_emotional_states: Informações sobre o sistema de inteligência emocional
  7. query_aura_aseke_framework: Detalhes da arquitetura cognitiva ASEKE

Conectando Ferramentas Externas

Para conectar clientes MCP externos ao Aura:

Exemplo de configuração de cliente MCP- para Claude ou outros clientes falarem com o Aura ou usarem como sistema.

Edite seu caminho de diretório e coloque no json de configuração do claude desktop.

{
  "mcpServers": {
    "aura-companion": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/ai_workspace/emotion_ai/aura_backend",
        "run",
        "aura_server.py"
      ]
    }
  }
}

🏗️ Arquitetura

Componentes do Sistema

┌─────────────────────────────────────────────────┐
│                  Frontend                       │
│              (React/TypeScript)                 │
└─────────────────┬───────────────────────────────┘
                  │ HTTP/WebSocket
┌─────────────────▼───────────────────────────────┐
│                FastAPI                          │
│             (REST API Layer)                    │
├─────────────────┬───────────────────────────────┤
│                 │                               │
│  ┌──────────────▼─────────────┐                │
│  │     Vector Database        │                │
│  │       (ChromaDB)           │                │
│  │                            │                │
│  │ • Conversation Memory      │                │
│  │ • Emotional Patterns       │                │
│  │ • Cognitive States         │                │
│  │ • Knowledge Substrate      │                │
│  └────────────────────────────┘                │
│                                                 │
│  ┌────────────────────────────┐                │
│  │     State Manager          │                │
│  │                            │                │
│  │ • Emotional Transitions    │                │
│  │ • Cognitive Focus Changes  │                │
│  │ • Automated DB Operations  │                │
│  │ • Pattern Recognition      │                │
│  └────────────────────────────┘                │
│                                                 │
│  ┌────────────────────────────┐                │
│  │     File System            │                │
│  │                            │                │
│  │ • User Profiles            │                │
│  │ • Data Exports             │                │
│  │ • Session Storage          │                │
│  │ • Backup Management        │                │
│  └────────────────────────────┘                │
└─────────────────┬───────────────────────────────┘
                  │ MCP Protocol
┌─────────────────▼───────────────────────────────┐
│              MCP Server                         │
│         (External Tool Access)                 │
│                                                 │
│ • Memory Search Tools                           │
│ • Emotional Analysis Tools                      │
│ • Data Export Tools                             │
│ • ASEKE Framework Access                        │
└─────────────────────────────────────────────────┘

🧪 Testes

Verificação de Saúde (Funcionando)

curl http://localhost:8000/health

Testes de Funcionalidade de Pensamento (Novo!)

# Test thinking extraction capabilities
cd aura_backend
python test_thinking.py

# Interactive thinking demonstration
python thinking_demo.py

# Check thinking system status
curl http://localhost:8000/thinking-status

Testes Unitários

pytest tests/

Testes de Integração

./test_setup.py

Testes de Carga

# Example using wrk
wrk -t12 -c400 -d30s http://localhost:8000/health

Desenvolvimento Local

Peço desculpas pela bagunça, não sei se algo disso funciona abaixo, mas sinta-se à vontade para tentar se for corajoso ou souber o que está fazendo.

Produção (Docker)

# Build image
docker build -t aura-backend .

# Run container
docker run -p 8000:8000 -v ./aura_data:/app/aura_data aura-backend

Serviço Systemd

# Copy service file
sudo cp aura-backend.service /etc/systemd/system/

# Enable and start
sudo systemctl enable aura-backend
sudo systemctl start aura-backend

🤝 Integração com o Frontend

Endpoints da API para Atualizar

Atualize seu frontend para usar estes endpoints:

const API_BASE = "http://localhost:8000";

// Replace localStorage with API calls
const response = await fetch(`${API_BASE}/conversation`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    user_id: userId,
    message: userMessage,
    session_id: sessionId,
  }),
});

Suporte a WebSocket (Futuro)

Atualizações em tempo real e respostas em streaming estarão disponíveis via conexões WebSocket.

📚 Uso Avançado

Ferramentas MCP Personalizadas

Crie ferramentas MCP personalizadas estendendo o mcp_server.py:

@tool
async def custom_aura_tool(params: CustomParams) -> Dict[str, Any]:
    """Your custom tool implementation"""
    # Implementation here
    pass

Consultas ao Banco de Dados Vetorial

Acesso direto ao banco de dados vetorial para consultas avançadas:

from main import vector_db
results = await vector_db.search_conversations(
    query="emotional support",
    user_id="user123",
    n_results=10
)

alt text

🐛 Solução de Problemas

Use os códigos de remediação seguros no guia de inicialização. O Aura nunca encerra um processo desconhecido, exclui um banco de dados, imprime uma credencial ou reconstrói um ambiente como parte da solução de problemas. O diagnóstico e reparo de armazenamento permanecem trabalho protegido por preservação; faça um backup verificado antes de qualquer mudança manual.

Logs

Verifique os logs em:

  • Saída do console durante o desenvolvimento
  • Logs do sistema: journalctl -u aura-backend (se estiver usando systemd)
  • Logs da aplicação: ./aura_data/logs/

🔒 Segurança- AVISO! Gerado por IA, então não tenho 0 confiança nesses recursos

Proteção de Dados

  • Todos os dados do usuário armazenados localmente
  • Ollama local mantém o tráfego do modelo local; provedores de nuvem explicitamente selecionados transmitem solicitações sob seus próprios termos
  • Embeddings e arquivos permanecem dados locais e podem reter informações sensíveis
  • A conexão HTTP local padrão não é criptografada

Controle de Acesso

  • Sem login ou autenticação de API; mantenha o limite de loopback padrão
  • Limitação de taxa habilitada
  • Configuração de CORS
  • Validação e sanitização de entrada

🛣️ Roadmap

Recursos Futuros

  • Conexões WebSocket em tempo real
  • Modelos avançados de previsão de emoções
  • Recursos de colaboração multiusuário
  • Ecossistema aprimorado de ferramentas MCP
  • Suporte de backend para aplicativo móvel
  • Painel de análises avançadas
  • Integração com modelos de IA externos

Visão de Longo Prazo

  • Interação multimodal (voz, vídeo, texto)
  • Aprendizado federado entre instâncias do Aura
  • Adaptação avançada de personalidade
  • Opções de implantação empresarial
  • Ecossistema de comunidade de código aberto

📄 Licença

Minhas coisas são MIT, suponho, mas há outro software como google-genai e memvid, então é uma mistura, eu acho ou seja, não roube minhas ideias e tente ganhar dinheiro, sem mim. lol, mas sou super pobre.

🤝 Contribuindo

Contribuições são bem-vindas! Por favor, leia nossas diretrizes de contribuição e envie pull requests para revisão.

📞 Suporte

Para problemas e suporte:

  1. Verifique a seção de solução de problemas
  2. Revise logs e mensagens de erro
  3. Crie relatórios de problemas detalhados
  4. Participe de discussões da comunidade

Aura Emotion AI - Potencializando o futuro do companheirismo e assistência de IA através de sistemas avançados de inteligência emocional e sistemas sofisticados de memória.