❌ Resolución de Problemas
Guía para diagnosticar y resolver los problemas más comunes de JARVIS. Si tu problema no aparece aquí, revisa data/logs/jarvis.log para ver el error exacto.
🧠 Ollama no disponible / IA no responde
BRAIN_MODE = "cloud" (la configuración por defecto), no necesitas Ollama en absoluto. Pasa directamente a la sección de errores de API cloud.
| Síntoma | Causa probable | Solución |
|---|---|---|
| «No se puede conectar con Ollama» | Ollama no está instalado o no está corriendo |
1. Instala Ollama desde ollama.com 2. Ejecuta ollama serve en un terminal3. Comprueba que http://localhost:11434 responde en el navegador
|
| «Modelo no encontrado» | El modelo no está descargado | Ejecuta: ollama pull mistral (o el modelo configurado en OLLAMA_MODEL) |
| Respuestas extremadamente lentas | Hardware insuficiente para el modelo |
Usa un modelo más ligero (phi3) o cambia a modo cloud:BRAIN_MODE = "cloud"
|
| Error de memoria / OOM | No hay suficiente RAM para cargar el modelo | Cierra aplicaciones pesadas o usa modo cloud. Mistral requiere ≈8 GB RAM libres. |
☁️ Errores de APIs Cloud
| Síntoma | Causa probable | Solución |
|---|---|---|
| «API key no configurada» | No has introducido tu clave |
Di a JARVIS: "configura api key github TU_TOKEN"o: "configura api key gemini TU_KEY"Ver Configurar API Keys |
| Error 401 / Unauthorized | API key inválida o expirada | Genera una nueva key y configúrala de nuevo |
| Error 429 / Rate limit | Has excedido el límite diario |
GitHub Models: 20K req/día. Espera a mañana o cambia a Gemini:"usa el proveedor gemini"
|
| Error de conexión / Timeout | Sin internet o el servicio está caído | Comprueba tu conexión. Si persiste, cambia de proveedor o usa modo local |
📂 No abre aplicaciones
| Síntoma | Causa probable | Solución |
|---|---|---|
| «No se encontró la aplicación X» | La app no está instalada o el nombre no coincide | Prueba con el nombre exacto: "abre Google Chrome" en vez de "abre chrome". También puedes usar: "abre la aplicación C:\ruta\al\programa.exe" |
| Se abre la app pero no la encuentra después | El título de la ventana es diferente al nombre de la app | JARVIS busca ventanas por título. Si Chrome se llama «Inicio — Google Chrome», di "enfoca google chrome" o "enfoca Chrome". |
| Error de permisos al abrir | La app requiere ejecutar como administrador | Ejecuta JARVIS como administrador (clic derecho → Ejecutar como admin en JARVIS.bat) |
🎙️ Voz y micrófono
| Síntoma | Causa probable | Solución |
|---|---|---|
| No reconoce lo que digo | Modelo Whisper demasiado pequeño |
En config.py cambia WHISPER_MODEL de "tiny" a "small" o "medium".
El modelo "small" ofrece el mejor equilibrio calidad/velocidad para español.
|
| Ctrl+Shift+J no activa la grabación | El atajo está en uso por otra aplicación | Cambia HOTKEY_ACTIVATE a otra combinación, por ejemplo "ctrl+alt+j" |
| JARVIS no habla / no se oye | TTS desactivado o modelo Piper no descargado |
1. Verifica TTS_ENABLED = True en config.py2. El modelo Piper se descarga automáticamente en data/piper_model/. Si falta, ejecuta python setup.py de nuevo.
|
| Error «No se detecta micrófono» | Micrófono no conectado o sin permisos |
1. Verifica que el micrófono funciona en la configuración de Windows 2. Comprueba que Python tiene permisos de micrófono (Configuración → Privacidad → Micrófono) |
| Transcripciones incorrectas (confunde palabras) | Idioma auto-detectado incorrecto |
Asegúrate de tener WHISPER_LANGUAGE = "es" en config.py.
El WHISPER_INITIAL_PROMPT también ayuda a mejorar la transcripción dando vocabulario de contexto.
|
👁️ OCR / Clic incorrecto
| Síntoma | Causa probable | Solución |
|---|---|---|
| Hace clic en el lugar equivocado | Resolución de pantalla diferente a la esperada | JARVIS usa 3 estrategias de clic en cascada: Ctrl+F → UI Automation → OCR. Si Ctrl+F no funciona en la app, se usa OCR como fallback. Asegúrate de que el texto sea visible en pantalla. |
| Hace clic simple donde debería hacer doble clic | El agente no detectó que era un icono/archivo | JARVIS tiene auto-retry con doble clic: si detecta que un clic simple no cambió la pantalla, reintenta automáticamente con doble clic. Si persiste, di explícitamente: "haz doble clic en X". |
| «No encuentro el texto X en pantalla» | El texto no es visible o está parcialmente oculto | Asegúrate de que la ventana objetivo esté maximizada y el texto sea completamente visible. Si el texto es largo, usa texto parcial: "haz clic donde pone Actividad" en vez del nombre completo. |
| OCR no lee bien caracteres especiales | Fuente o contraste difícil para el OCR | El motor OCR (Tesseract) funciona mejor con texto claro sobre fondo contrastante. En apps con temas oscuros puede haber errores. Intenta maximizar el contraste. |
❓ Preguntas frecuentes
¿JARVIS funciona sin internet?
Sí, en modo local (BRAIN_MODE = "local") todo se ejecuta en tu PC con Ollama. La voz (Whisper + Piper), el OCR y los comandos del sistema también funcionan offline. Solo el modo cloud y la búsqueda web requieren internet.
¿Es compatible con macOS o Linux?
Actualmente JARVIS está diseñado para Windows 10/11. Muchas funciones (control de ventanas, PowerShell, UI Automation) dependen de APIs de Windows. Una versión multiplataforma está prevista para el futuro.
¿Puedo cambiar el modelo de IA?
Sí. En modo local, cambia OLLAMA_MODEL a cualquier modelo compatible con Ollama (mistral, llama3, phi3, etc.). En modo cloud, puedes cambiar entre GitHub Models (GPT-4o-mini) y Gemini (2.0 Flash) desde el propio JARVIS con un simple comando.
¿Las API keys son de pago?
No. Tanto GitHub Models (GPT-4o-mini, 20K solicitudes/día) como Google Gemini (2.0 Flash) ofrecen acceso gratuito con límites más que suficientes para uso personal.
¿Puedo desactivar la voz?
Sí. Pon TTS_ENABLED = False en config.py. JARVIS seguirá respondiendo por texto en la interfaz HUD pero no hablará en voz alta.
¿JARVIS puede aprender cosas nuevas?
Sí. Tiene un motor de aprendizaje que puede investigar cómo hacer tareas nuevas, generar código, probarlo y guardar las habilidades que funcionan. También guarda procedimientos autónomos exitosos para reutilizarlos. Di "aprende a hacer X" para activar la investigación.
¿Cómo actualizo JARVIS?
Si lo tienes clonado con Git: git pull y luego pip install -r requirements.txt. Si lo descargaste como ZIP, descarga la versión nueva y copia tu data/config.json para conservar tu configuración.
¿Puedo ejecutar código arbitrario?
Sí, JARVIS incluye un sandbox de código Python. Di "ejecuta este código: print('hola')". El sandbox tiene un timeout de 30 segundos y límite de memoria de 256 MB (CODE_EXEC_TIMEOUT / CODE_EXEC_MAX_MEMORY) para evitar que código malicioso afecte al sistema.