Skip to content

About

Nova: asistente personal local con IA (Ollama), memoria, herramientas con permisos, tareas y voz. Python + FastAPI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

✦ Nova — asistente personal local

Asistente y compañera virtual que corre en tu PC: chat por texto y voz, personalidad configurable, memoria de corto y largo plazo, herramientas con permisos, tareas en segundo plano y plugins. Usa modelos locales con Ollama, sin enviar tus conversaciones a la nube.

Documento Contenido
ARQUITECTURA.md Arquitectura, carpetas, flujo del agente, dependencias y fases
docs/API.md Referencia de la API y del formato de streaming
docs/HISTORIAL.md Cómo se construyó: decisiones, pruebas, problemas y mediciones
plugins/README.md Cómo crear herramientas y plugins
CHANGELOG.md Cambios por versión

Características

  • Chat en streaming con historial, personalidades en YAML y voz opcional.
  • Memoria: resumen progresivo de la conversación y recuerdos de largo plazo con búsqueda semántica, que se extraen solos.
  • Herramientas: archivos, sistema, web, memoria y recordatorios. Se añaden más con un decorador @tool o como plugin.
  • Seguridad: niveles de permiso, confirmación de acciones sensibles, sandbox de carpetas, auditoría y token opcional.
  • Tareas: módulos independientes en segundo plano que se reanudan al reiniciar.
  • Modelo intercambiable: Ollama, LM Studio, llama.cpp, vLLM u OpenAI, cambiando solo .env.

Requisitos

  • Windows 10/11, Python 3.11 o superior
  • Ollama para el modelo local
  • GPU NVIDIA recomendada (con 4 GB de VRAM basta para un modelo de 3B)

Instalación

git clone <url-del-repositorio> nova
cd nova
python -m venv .venv
.venv\Scripts\python -m pip install --use-feature=truststore -r requirements.txt
copy .env.example .env

--use-feature=truststore hace que pip use los certificados de Windows. Es necesario en equipos donde pip falla con CERTIFICATE_VERIFY_FAILED.

Modelo local (Ollama)

ollama pull qwen2.5:3b          # RTX 3050 4 GB   (con RTX 3060 12 GB: qwen2.5:7b)
ollama pull nomic-embed-text    # embeddings para la memoria

.env.example ya viene configurado para Ollama con qwen2.5:3b:

NOVA_LLM_PROVIDER=ollama
NOVA_LLM_MODEL=qwen2.5:3b
NOVA_EMBED_PROVIDER=ollama

Modo demostración, sin modelo: con NOVA_LLM_PROVIDER=mock y NOVA_EMBED_PROVIDER=hash puedes probar la interfaz sin Ollama. El "modelo" repite tus mensajes, y /tool <nombre> <json> ejecuta una herramienta.

Uso

.venv\Scripts\python -m app

Abre http://127.0.0.1:8000. La documentación interactiva de la API está en http://127.0.0.1:8000/docs.

Voz (opcional)

.venv\Scripts\python -m pip install --use-feature=truststore -r requirements-voice.txt
  • Voz a texto: NOVA_VOICE_ENABLED=true. Whisper se descarga solo la primera vez.
  • Texto a voz: descarga una voz en español de piper-voices (el .onnx y su .onnx.json) y define NOVA_TTS_MODEL_PATH.
  • Sin esto, la interfaz usa la voz del navegador (Chrome o Edge).

Seguridad

Nivel Ejemplos Por defecto
internal memoria, recordatorios, fecha automático
read listar y leer archivos automático
write escribir archivos pide confirmación
network leer páginas web pide confirmación
execute abrir aplicaciones pide confirmación
  • Los archivos solo se tocan dentro de NOVA_ALLOWED_PATHS (por defecto data/workspace).
  • Solo se abren las aplicaciones listadas en config/policy.yaml.
  • Cada herramienta se puede poner en Auto / Confirmar / Prohibida desde el panel ⚙.
  • Todo queda en la auditoría (pestaña Actividad) y en logs/.
  • El servidor escucha solo en 127.0.0.1. Si lo expones a la red, define NOVA_API_TOKEN.

Extender Nova

  • Nueva herramienta o plugin: consulta plugins/README.md.
  • Nueva personalidad: copia config/personas/nova.yaml con otro nombre.
  • Nuevo módulo de tareas: consulta app/tasks/modules/recordatorio.py.
  • Otro modelo: cambia NOVA_LLM_PROVIDER, NOVA_LLM_MODEL y NOVA_LLM_BASE_URL (Ollama, LM Studio, llama.cpp, vLLM o cualquier API compatible con OpenAI).
  • PostgreSQL: pip install asyncpg y cambia NOVA_DATABASE_URL.

Pruebas

.venv\Scripts\python -m pip install --use-feature=truststore -r requirements-dev.txt
.venv\Scripts\python -m pytest
.venv\Scripts\python -m ruff check .

About

Nova: asistente personal local con IA (Ollama), memoria, herramientas con permisos, tareas y voz. Python + FastAPI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages