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
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.


🌟 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
- Entrada do Usuário → Frontend → FastAPI
- Processamento → Busca no Banco Vetorial → Recuperação de Contexto
- Processamento de IA → Provedor Explicitamente Selecionado → Geração de Resposta
- Atualizações de Estado → Análise Emocional/Cognitiva → Armazenamento de Padrões
- Armazenamento de Memória → Banco Vetorial → Aprendizado Persistente
- 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
Ollamaefastembed(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.

📡 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ã
- search_aura_memories: Busca semântica no histórico de conversas
- analyze_aura_emotional_patterns: Análise profunda de tendências emocionais
- store_aura_conversation: Adiciona memórias à base de conhecimento do Aura
- get_aura_user_profile: Recupera dados de personalização do usuário
- export_aura_user_data: Funcionalidade de exportação de dados
- query_aura_emotional_states: Informações sobre o sistema de inteligência emocional
- 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
)

🐛 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:
- Verifique a seção de solução de problemas
- Revise logs e mensagens de erro
- Crie relatórios de problemas detalhados
- 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.