Aura Backend - Advanced AI Companion
Un compañero de IA avanzado con inteligencia emocional e integración de base de datos vectorial.
Documentación
Aura Backend - Advanced AI Companion
Compañero de IA sofisticado con base de datos vectorial, inteligencia emocional e integración con el Protocolo de Contexto de Modelo (MCP)
Comportamiento actual de evaluación emocional
Aura ahora distingue interpretaciones tentativas de las emociones del usuario, su propio tono simulado, la abstención deliberada, la salida inválida del modelo y el análisis no disponible. Cada propuesta aceptada incluye citas textuales verificadas y el hash del texto analizado. El análisis fallido permanece Desconocido, incluso en el historial almacenado; ya no se convierte silenciosamente en "Normal". El texto no mide la actividad cerebral ni los niveles químicos del usuario. La interfaz etiqueta los indicadores de Aura como simulaciones derivadas del estado guardado del controlador; una clasificación desconocida no borra esas lecturas.
La evaluación local de humo de Ornith manejó 11 de 12 casos inventados como se esperaba; etiquetó incorrectamente una oración sarcástica ambigua. Su estricta puerta de aceptación, por lo tanto, falló. Este es un límite de validación probado, no evidencia de reconocimiento emocional general confiable. Consulte el informe de implementación y evaluación para conocer el comportamiento exacto, las limitaciones y los comandos de reejecución. Los datos históricos no han sido reescritos.
Dos ADVERTENCIAS y un descargo de responsabilidad
-
Código generado por IA
-
Aura podría ser peligrosa a pesar de mis salvaguardas intentadas de varias maneras, incluyendo pero no limitado a daños a la PC Salud mental y apego del usuario Actividad agéntica emocional
El usuario asume toda la responsabilidad.


🌟 Características
🧠 Arquitectura Cognitiva Avanzada
- Marco ASEKE: Ecosistema de Conocimiento Socioemocional Adaptativo
- Evaluación Emocional Tentativa con citas textuales verificadas e incertidumbre explícita
- Seguimiento de Enfoque Cognitivo en diferentes marcos mentales
- Autorreflexión Adaptativa para la mejora continua
- 🆕 Extracción de Pensamiento: Razonamiento transparente de IA con análisis de pensamiento y transparencia cognitiva
🗄️ Sistema de Memoria Inteligente
- Integración de Base de Datos Vectorial con ChromaDB para búsqueda semántica
- Memoria de Conversación Persistente con recuperación basada en incrustaciones
- Análisis de Patrones Emocionales a lo largo del tiempo
- Seguimiento del Estado Cognitivo y análisis de tendencias
- Memoria MP4 de código QR de MemVid AI Memoria infinita basada en MP4
- Herramientas internas de organización de memoria guiadas por IA Mover información de sistemas de memoria a corto a largo plazo para evitar cuellos de botella y categorizar chats
🔗 Integración MCP
- Cliente de Contexto de Modelo Utiliza el mismo formato JSON de configuración MCP que Claude Desktop: ¡Use CUALQUIER herramienta!
- Servidor de Protocolo de Contexto de Modelo para integración de herramientas externas
- Comunicación Estandarizada de Agentes de IA siguiendo las especificaciones MCP
- Compatibilidad con Ecosistema de Herramientas con otros sistemas habilitados para MCP
- Intercambio de Datos Bidireccional con agentes de IA externos
📊 Analítica Avanzada
- Análisis de Tendencias Emocionales con métricas de estabilidad
- Reconocimiento de Patrones Cognitivos y optimización
- Recomendaciones Personalizadas basadas en el historial de interacción
- Exportación de Datos en múltiples formatos (JSON, CSV, etc.)
Flujo de Datos
- Entrada del Usuario → Frontend → FastAPI
- Procesamiento → Búsqueda en BD Vectorial → Recuperación de Contexto
- Procesamiento de IA → Proveedor Seleccionado Explícitamente → Generación de Respuesta
- Actualizaciones de Estado → Análisis Emocional/Cognitivo → Almacenamiento de Patrones
- Almacenamiento de Memoria → BD Vectorial → Aprendizaje Persistente
- Acceso Externo → Servidor MCP → Integración de Herramientas
🧠 Transparencia de Pensamiento y Razonamiento de IA
Capacidades de Extracción de Pensamiento
- Captura de Razonamiento en Tiempo Real: Extraer y analizar los procesos de pensamiento de la IA durante las conversaciones
- Resumen de Pensamiento: Generación automática de resúmenes de razonamiento para una comprensión rápida
- Transparencia Cognitiva: Visibilidad completa de cómo Aura aborda los problemas y toma decisiones
- Métricas de Razonamiento: Analítica detallada sobre patrones de pensamiento, tiempo de procesamiento y carga cognitiva
Configuración de Pensamiento
- Presupuesto de Pensamiento: Profundidad de razonamiento configurable (1024-32768 tokens)
- Integración de Respuesta: Inclusión opcional del razonamiento en las respuestas del usuario
- Análisis de Patrones: Análisis a largo plazo de patrones de razonamiento y desarrollo cognitivo
- Optimización de Rendimiento: Métricas de eficiencia de pensamiento y recomendaciones de optimización
🎭 Sistema de Inteligencia Emocional
Emociones Simuladas
Los encabezados nombran la tendencia más fuerte en el estado comprometido del controlador de Aura: Calma, Curiosidad, Emoción, Preocupación, Calidez, Contento o Paz. Los eventos de conversación son propuestos por el modelo seleccionado, verificados contra citas textuales exactas y traducidos en cambios de estado acotados y autorizados antes de generar la respuesta. La inferencia de emociones del usuario y el análisis opcional del estilo de respuesta de Aura son registros separados; un análisis de respuesta fallido no puede congelar ni sobrescribir el controlador.
Indicadores Simulados
- Etiquetas de ondas cerebrales: Alfa, Beta, Gamma, Theta, Delta son bandas de activación; el porcentaje expone cambios dentro de una banda.
- Canales químicos: Seis lecturas del controlador aparecen en el panel de simulación. El encabezado muestra el canal más grande, que puede permanecer estable mientras otros cambian.
- El estado persiste con la conversación y decae hacia la línea base entre turnos. Estas son analogías de software, no concentraciones medidas de EEG o químicas. Las evaluaciones del usuario no llevan etiquetas biológicas.
Consulte la reparación de la simulación de conversación para conocer la ruta causal, las verificaciones y las limitaciones.
🧠 Marco Cognitivo ASEKE
Componentes
- KS (Sustrato de Conocimiento): Contexto conversacional compartido
- CE (Energía Cognitiva): Esfuerzo mental y asignación de enfoque
- IS (Estructuras de Información): Ideas y patrones de conceptos
- KI (Integración de Conocimiento): Procesos de aprendizaje y conexión
- KP (Propagación de Conocimiento): Mecanismos de intercambio de información
- ESA (Algoritmos de Estado Emocional): Influencia emocional en el procesamiento
- SDA (Impulsos Sociobiológicos): Dinámicas sociales y factores de confianza
📊 Analítica e Información
Análisis Emocional
- Métricas de Estabilidad: Consistencia emocional a lo largo del tiempo
- Patrones Dominantes: Estados emocionales más frecuentes
- Análisis de Transición: Cambios de estado emocional y desencadenantes
- Seguimiento de Intensidad: Distribución de intensidad emocional
- Correlación de Ondas Cerebrales: Análisis de patrones de actividad neuronal
Seguimiento Cognitivo
- Patrones de Enfoque: Utilización de componentes ASEKE
- Eficiencia de Aprendizaje: Tasas de integración de conocimiento
- Cambio de Contexto: Métricas de flexibilidad cognitiva
- Asignación de Atención: Distribución de energía cognitiva
🚦 Rendimiento-
Las respuestas tardan algún tiempo en procesarse según las tareas; cualquier programador que quiera ver si puede acelerar los procesos, le estaría agradecido.
Optimización
- Indexación de base de datos vectorial para búsquedas rápidas
- Procesamiento asíncrono para solicitudes concurrentes
- Incrustaciones Locales Sin Costo: Soporte para
Ollamayfastembed(BGE/Gemma) para evitar costos de API - Procesamiento de tareas en segundo plano con enfoque de submodelo autónomo para actualizaciones de estado y uso de herramientas
- Adaptador de aprendizaje de herramientas
- MemVid Memoria infinita con archivo único moderno
.mv2
Monitoreo
- Endpoint de verificación de salud
- Recolección de métricas de rendimiento
- Seguimiento y reporte de errores
- Monitoreo de uso de recursos
¡El Cliente MCP ahora es totalmente funcional!!! Se intentó la integración de Memvid; aún en pruebas.
No soy programador, así que espero que se configure correctamente si alguien lo intenta.
Inicio local compatible
Aura es una aplicación local privada de un solo usuario. No tiene capa de inicio de sesión y
se vincula a 127.0.0.1 por defecto. Ejecute estos comandos desde la raíz del repositorio.
Configuración de dependencias única
La configuración es una acción explícita del operador. El comando de inicio y los scripts de envoltura no instalan, sincronizan ni descargan software o modelos.
uv sync --locked
Para habilitar la integración real de archivos de Memvid, instale el extra bloqueado en su lugar:
uv sync --locked --extra memvid
Establezca AURA_MEMVID_ENABLED=true y seleccione MEMVID_EMBEDDING_PROVIDER=ollama
con su MEMVID_EMBEDDING_MODEL instalado (por ejemplo, embeddinggemma:latest).
Establezca MEMVID_TELEMETRY=0 para deshabilitar la analítica del SDK. Este adaptador utiliza
vectores locales precalculados, no la selección implícita de incrustaciones en la nube del SDK.
El almacenamiento de memoria tiene tres roles distintos: SQLite mantiene conversaciones confirmadas;
Chroma indexa incrustaciones para búsqueda semántica activa; Memvid mantiene
instantáneas de archivo .mv2 independientes con sus propios vectores. En la interfaz, Archivar este chat
copia los últimos 100 intercambios y verifica el contenido guardado después de reabrir.
No elimina mensajes activos ni importa archivos antiguos de Chroma/video. Los archivos
de archivo residen debajo del directorio de registro configurado en memvid/. Las casillas de verificación de búsqueda
seleccionan memoria activa, archivos o ambos. Aura también recibe herramientas archive_session
y search_archives cuando Memvid se inicia correctamente.
La prueba de humo local real opcional utiliza datos sintéticos temporales y prueba la continuidad del chat, el archivado, la búsqueda y un reinicio de la aplicación:
uv run --locked --no-sync python scripts/verify_local_memory.py
El Modelfile de Aura mantenido es docs/models/ornith-apex/Modelfile.aura.
Reconstruya con ollama create aura-ornith:35b -f docs/models/ornith-apex/Modelfile.aura.
Solicita un contexto de 131072 tokens y un presupuesto de generación de 8192 tokens; la generación
real puede usar un presupuesto de solicitud explícito más pequeño. La asignación de contexto no
garantiza una recuperación precisa a plena capacidad. La sonda de recuperación probada localmente
usó 30000 tokens de entrada. AURA_HISTORY_MAX_CHARS es un presupuesto de historial de aplicación
separado en caracteres, no tokens; manténgalo por debajo de la capacidad del modelo.
npm ci
Copie .env.example a .env solo si desea personalizar los valores predeterminados locales.
El ejemplo selecciona Ollama y no contiene credenciales. Gemini y OpenRouter son
proveedores de nube opcionales y requieren una selección de proveedor explícita más la
credencial correspondiente en su entorno privado.
Verificación previa, luego servir
Para uso normal, ejecute el comando serve a continuación; ejecuta la verificación previa automáticamente.
En Linux, el lanzador existente es el equivalente más corto: ./start_full_system.sh.
Ambos comandos cargan el .env de este repositorio sin banderas adicionales. Las variables de shell exportadas
tienen prioridad. AURA_MODEL funciona con cualquier proveedor seleccionado;
OPENROUTER_MODEL o OLLAMA_MODEL, cuando se establecen, tienen prioridad sobre él.
Seleccionar OpenRouter no requiere un modelo de chat local de Ollama.
La búsqueda de memoria activa utiliza AURA_EMBEDDING_PROVIDER y AURA_EMBEDDING_MODEL.
El valor predeterminado de compatibilidad es sentence_transformers / all-MiniLM-L6-v2.
Para incrustaciones locales de Ollama, seleccione ollama / embeddinggemma:latest;
AURA_EMBEDDING_BASE_URL opcionalmente anula OLLAMA_BASE_URL para incrustaciones.
La configuración separada de MEMVID_EMBEDDING_* se aplica solo a archivos opcionales.
Cambiar el modelo de incrustación activo construye y verifica un nuevo índice derivado en
el primer uso antes de cambiar; la generación anterior y los registros de SQLite se conservan.
Las solicitudes de incrustación fallidas dejan la reconstrucción incompleta en lugar de cambiar a
un índice inválido. Esto puede hacer que la primera operación de memoria sea más lenta.
La continuidad de la conversación utiliza intercambios confirmados del mismo usuario/sesión,
no solo un identificador de sesión del proveedor. Conserva hasta 100 intercambios recientes
dentro de AURA_HISTORY_MAX_CHARS (predeterminado 24000 caracteres, no tokens). Aumente
esto solo junto con una asignación de contexto de modelo verificada. El historial de chat utiliza ID de sesión
reales y títulos estables de primer mensaje; sus solicitudes de lista están limitadas a 100.
El inicio inicializa y abre el registro seleccionado antes de informar que está listo.
AURA_CLEAN_INSTALL=true selecciona la nueva ruta de lectura respaldada por SQLite sin importar
almacenes heredados. Chroma sigue siendo el índice semántico derivado; Memvid es una
integración de archivo opcional separada, no un requisito previo para el chat.
uv run --locked --no-sync python -m aura_backend.runtime preflight
Preflight es solo de informe. Comprueba Python, uv, Node, npm, ambos contratos de bloqueo, la configuración del proveedor, el puerto seleccionado y las rutas de almacenamiento, el servicio de proveedor seleccionado y el modelo seleccionado, y la preparación de la aplicación. Las filas de proveedores son una verificación de proveedor en vivo limitada; no forman parte del conjunto de pruebas fuera de línea. Preflight nunca instala dependencias, descarga un modelo, crea almacenamiento, cambia permisos, mata otro proceso o inicia Aura.
El estado JSON es uno de pass (salida 0), missing (2), failed (3),
blocked (4), not_run (5) o not_applicable (6). Solo un pass completo
autoriza el inicio. Otros resultados nombran un código de remediación seguro; realice cualquier reparación
explícitamente y vuelva a ejecutar preflight en lugar de tratar una verificación bloqueada como preparación.
uv run --locked --no-sync python -m aura_backend.runtime serve
serve ejecuta preflight primero, inicia solo los procesos secundarios locales solicitados,
espera la respuesta /ready del backend y devuelve un estado distinto de cero si el inicio
o un proceso secundario falla. Ctrl+C/SIGTERM limpia solo los procesos y las sesiones de proveedor
locales propiedad de esta invocación. La cancelación no puede garantizar la detención de la computación
remota o la facturación en un proveedor de nube.
Los lanzadores multiplataforma son delegados delgados a estos mismos comandos:
./start_full_system.sh y start_full_system.bat ejecutan el servicio completo;
./aura_backend/start_api.sh y ./aura_backend/start_frontend.sh seleccionan un
lado. ./aura_backend/start_mcp.sh es un delegado MCP opcional separado y
no forma parte de la preparación normal de Aura.
Para uso privado normal, mantenga el valor predeterminado de loopback. Pasar un --host que no sea
loopback es una exposición explícita a la LAN; el tiempo de ejecución advierte que Aura no tiene inicio de sesión.
No exponga Aura directamente a Internet.
Una vez que serve informa preparación, la interfaz de usuario local está en http://localhost:5173, la API en http://localhost:8000 y la documentación de la API en http://localhost:8000/docs. Los resultados bloqueados por entorno y de proveedor en vivo son evidencia solo sobre esa máquina, no prueba de que cada proveedor o modelo funcione.
Para el procesamiento en segundo plano actual, el comportamiento de memoria, los cambios de configuración y la verificación, consulte Trabajo autonómico y memoria.

📡 Puntos finales de API
API principal
- Verificación de salud:
GET /health - Procesar conversación:
POST /conversation - Buscar recuerdos:
POST /search - Análisis emocional:
GET /emotional-analysis/{user_id} - Exportar datos:
POST /export/{user_id}
Documentación de API
Visite http://localhost:8000/docs para la documentación interactiva de la API.
🔗 Integración MCP
Herramientas MCP disponibles- Trabajando en registros de estado emocional, con suerte arreglado mañana
- search_aura_memories: Búsqueda semántica en el historial de conversaciones
- analyze_aura_emotional_patterns: Análisis profundo de tendencias emocionales
- store_aura_conversation: Agregar recuerdos a la base de conocimiento de Aura
- get_aura_user_profile: Recuperar datos de personalización del usuario
- export_aura_user_data: Funcionalidad de exportación de datos
- query_aura_emotional_states: Información sobre el sistema de inteligencia emocional
- query_aura_aseke_framework: Detalles de la arquitectura cognitiva ASEKE
Conexión de herramientas externas
Para conectar clientes MCP externos a Aura:
Ejemplo de configuración de cliente MCP- para Claude u otros clientes para hablar con Aura o usar como sistema.
Edite la ruta de su directorio y colóquela en el json de configuración de claude desktop.
{
"mcpServers": {
"aura-companion": {
"command": "uv",
"args": [
"--directory",
"/home/ty/Repositories/ai_workspace/emotion_ai/aura_backend",
"run",
"aura_server.py"
]
}
}
}
🏗️ Arquitectura
Componentes del 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 │
└─────────────────────────────────────────────────┘
🧪 Pruebas
Verificación de salud (funcionando)
curl http://localhost:8000/health
Pruebas de funcionalidad de pensamiento (¡Nuevo!)
# 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
Pruebas unitarias
pytest tests/
Pruebas de integración
./test_setup.py
Pruebas de carga
# Example using wrk
wrk -t12 -c400 -d30s http://localhost:8000/health
Desarrollo local
Me disculpo por el desorden, no sé si algo de esto funciona a continuación, pero siéntase libre de intentarlo si es valiente o sabe lo que está haciendo.
Producción (Docker)
# Build image
docker build -t aura-backend .
# Run container
docker run -p 8000:8000 -v ./aura_data:/app/aura_data aura-backend
Servicio 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
🤝 Integración con el frontend
Puntos finales de API para actualizar
Actualice su frontend para usar estos puntos finales:
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,
}),
});
Soporte WebSocket (Futuro)
Las actualizaciones en tiempo real y las respuestas en streaming estarán disponibles a través de conexiones WebSocket.
📚 Uso avanzado
Herramientas MCP personalizadas
Cree herramientas MCP personalizadas extendiendo el mcp_server.py:
@tool
async def custom_aura_tool(params: CustomParams) -> Dict[str, Any]:
"""Your custom tool implementation"""
# Implementation here
pass
Consultas de base de datos vectorial
Acceso directo a la base de datos vectorial para consultas avanzadas:
from main import vector_db
results = await vector_db.search_conversations(
query="emotional support",
user_id="user123",
n_results=10
)

🐛 Solución de problemas
Use los códigos de remediación seguros en la guía de inicio. Aura nunca mata un proceso desconocido, elimina una base de datos, imprime una credencial o reconstruye un entorno como parte de la solución de problemas. El diagnóstico y la reparación del almacenamiento siguen siendo trabajo con preservación; haga una copia de seguridad verificada antes de cualquier cambio manual.
Registros
Consulte los registros en:
- Salida de consola durante el desarrollo
- Registros del sistema:
journalctl -u aura-backend(si usa systemd) - Registros de la aplicación:
./aura_data/logs/
🔒 Seguridad- ¡ADVERTENCIA! Generado por IA, así que no confío en estas funciones
Protección de datos
- Todos los datos del usuario se almacenan localmente
- Ollama local mantiene el tráfico del modelo local; los proveedores de nube seleccionados explícitamente transmiten solicitudes bajo sus propios términos
- Los embeddings y archivos permanecen como datos locales y pueden retener información sensible
- La conexión HTTP local predeterminada no está cifrada
Control de acceso
- Sin inicio de sesión ni autenticación de API; mantenga el límite de loopback predeterminado
- Limitación de velocidad habilitada
- Configuración CORS
- Validación y saneamiento de entrada
🛣️ Hoja de ruta
Funciones próximas
- Conexiones WebSocket en tiempo real
- Modelos avanzados de predicción de emociones
- Funciones de colaboración multiusuario
- Ecosistema mejorado de herramientas MCP
- Soporte de backend para aplicaciones móviles
- Panel de análisis avanzado
- Integración con modelos de IA externos
Visión a largo plazo
- Interacción multimodal (voz, video, texto)
- Aprendizaje federado entre instancias de Aura
- Adaptación avanzada de personalidad
- Opciones de implementación empresarial
- Ecosistema comunitario de código abierto
📄 Licencia
Mis cosas son MIT supongo, pero hay otro software como google-genai y memvid, así que es una mezcla creo es decir, no robes mis ideas e intentes ganar dinero sin mí. jaja pero soy súper pobre.
🤝 Contribuciones
¡Contribuciones bienvenidas! Por favor, lea nuestras pautas de contribución y envíe solicitudes de extracción para revisión.
📞 Soporte
Para problemas y soporte:
- Consulte la sección de solución de problemas
- Revise los registros y mensajes de error
- Cree informes de problemas detallados
- Únase a las discusiones de la comunidad
Aura Emotion AI - Potenciando el futuro de la compañía y asistencia de IA a través de sistemas avanzados de inteligencia emocional y sofisticados sistemas de memoria.