Jan: la alternativa de código abierto a ChatGPT, 100% locale
Jan (jan.ai) es una aplicación de escritorio libre, bajo licencia AGPL, que se parece a ChatGPT pero funciona completamente en tu máquina. Sin cuenta, sin nube, sin telemetría oculta: solo un binario que instalar y modelos de pesos abiertos que cargar. Este tutorial de Jan AI en local cubre la instalación, el primer chat, el servidor API compatible con OpenAI y la comparación honesta con LM Studio y Msty.
#¿Por qué Jan?
Tres cosas distinguen a Jan en el panorama saturado de clientes de LLM para escritorio. Primero, es realmente de código abierto: código en GitHub (menloresearch/jan), licencia AGPL-3.0 y compilación reproducible. LM Studio y Msty son gratuitos, pero de código cerrado. Si te importa la transparencia del binario que se ejecuta continuamente en tu máquina, Jan es el único de los tres que cumple ese requisito.
En segundo lugar, la filosofía de priorizar el funcionamiento sin conexión es radical. Jan no realiza ninguna llamada de red al iniciarse. No comprueba automáticamente si hay actualizaciones, no hay telemetría ni comunicaciones encubiertas con sus servidores. Los modelos se descargan bajo demanda desde Hugging Face, y punto. Puedes usarlo en una máquina aislada de la red sin que nada deje de funcionar.
En tercer lugar, la arquitectura es limpia: Jan es una interfaz basada en Electron sobre Cortex, un motor de inferencia separado (anteriormente Nitro). Cortex utiliza llama.cpp como backend y expone una API REST. Por lo tanto, puedes usar el servidor Cortex sin la interfaz de Jan o conectar otros clientes a Cortex. Es más modular que LM Studio, que es monolítico.
#Prerrequisitos
Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.
- Espacio en línea de por vida
- PDF + archivos
- Reembolsado 30 j
- Sistema
- Windows 10/11 (x64), macOS 12+ (Intel o Apple Silicon), Linux (deb, AppImage, o rpm).
- RAM
- 8 GB como mínimo indispensable (modelos de 2B-3B), 16 GB para trabajar con comodidad (modelos de 8-9B en Q4), 32 GB o más para aspirar a modelos de 24B o superiores.
- Espacio en disco
- Calcula 5 GB para Jan + Cortex y luego entre 2 y 40 GB por modelo, según su tamaño. Lo ideal es una carpeta dedicada en un SSD.
- GPU (opcional pero recomendado)
- NVIDIA con CUDA para Windows/Linux, Metal automático en Apple Silicon. Sin GPU, Jan corre en CPU — lento pero funcional para modelos pequeños.
#1. Instalación
Descarga el instalador desde el sitio oficial. Jan se presenta como un instalador en 1 clic: sin operaciones en la CLI ni dependencias de Python que gestionar.
- 01Ejecutar el instaladorHaz doble clic en el .exe (Windows), .dmg (macOS) o .AppImage (Linux). En Linux, haz que el .AppImage sea ejecutable con chmod +x Jan-*.AppImage si es necesario.
- 02Primer inicioJan crea su carpeta de datos (~/jan en macOS/Linux, %APPDATA%\Jan en Windows). Allí se guardarán los modelos, las conversaciones y la configuración. Tenlo en cuenta si quieres colocarla en un SSD secundario.
- 03Verificar CortexAl iniciar, Jan arranca el servicio Cortex en segundo plano. Si se abre una ventana de firewall, permite la conexión local (Cortex escucha en 127.0.0.1, no en red).
- 04OnboardingJan te propone un modelo de inicio (típicamente un pequeño Qwen o Granite). Puedes aceptarlo para probar en 2 minutos, o saltarlo para elegir tú mismo en el Hub.
#2. Primer modelo
Jan incluye un Hub de modelos que apunta a Hugging Face con versiones GGUF preparadas y probadas. Abre la pestaña "Hub" en la barra lateral izquierda para ver el catálogo.
Para empezar, tres opciones sólidas en francés según tu VRAM:
- Configuración básica (8 GB de RAM, sin GPU)
- Granite 4.2 3B Q4_K_M (≈2,2 GB). Consume muy pocos recursos y basta para charlar, resumir un texto corto y generar ideas. Velocidad aceptable en tokens/segundo en CPU. Aún más ligero: Qwen 3.5 2B (≈1,9 GB).
- Configuración estándar (16 GB RAM, GPU de 6 a 8 GB)
- Qwen 3.5 9B Q4_K_M (≈6,6 GB). La opción de 8 GB de 2026: 256k de contexto, visión, excelente equilibrio FR/EN para la mayoría de usos diarios.
- Configuración cómoda (32 GB de RAM, GPU de 12 GB+)
- Gemma 4 12B (multimodal, ≈7,6 GB) o Mistral Small 24B en Q4_K_M (≈14 GB, bueno en francés). Razonamiento claramente superior al de los modelos 8-9B.
Haz clic en "Download" en la ficha del modelo. Jan muestra el progreso y almacena el archivo GGUF en su carpeta data. Una vez descargado, el botón pasa a ser "Use": un clic y el modelo se carga en memoria.
#3. Empezar a usar
La interfaz de Jan sigue el diseño de ChatGPT: barra lateral de conversaciones a la izquierda, zona de chat en el centro y panel de ajustes contextuales a la derecha. Tres cosas que debes conocer para ser productivo:
- Threads
- Cada conversación es un "Thread" independiente con su propio modelo asignado. Puedes abrir varios threads en paralelo (útil para comparar la respuesta de un 7B y un 14B sobre la misma pregunta).
- Asistentes
- Pestaña Asistentes: crea perfiles con un prompt de sistema, temperatura y modelo preasignado. Útil para tener un «Asistente de código» (Qwen3-Coder, temperatura 0.2) y un «Asistente de redacción» (Mistral Small, temperatura 0.8) separados.
- Parámetros de generación
- Panel de la derecha — temperatura, top-p, top-k, máximo de tokens, penalización por frecuencia. Se pueden modificar por hilo. La ventana de contexto (n_ctx) se ajusta para cada modelo en Settings → My Models.
#4. Extensiones y Cortex
Jan tiene una arquitectura basada en extensiones. Sus componentes principales son también extensiones internas (Inference Cortex Extension, Model Extension, etc.), lo que permite intercambiarlos a largo plazo. Desde el punto de vista del usuario, el ecosistema de extensiones de terceros sigue siendo más joven que el de VS Code, pero algunas merecen la pena:
- Motores de inferencia alternativos
- Además de Cortex/llama.cpp, que se utiliza por defecto, puedes activar extensiones que apunten a un endpoint remoto compatible con OpenAI (Ollama, vLLM o incluso OpenAI en la nube si aceptas salir del entorno local).
- Cortex en modo standalone
- Cortex viene con Jan pero puede funcionar solo. cortex run qwen3.5:2b en CLI arranca un servidor en el puerto predeterminado sin la interfaz Jan. Útil para scriptear o desplegar en un servidor headless.
- Model Hub configurable
- Puedes añadir fuentes personalizadas de modelos (un repositorio HF privado, un espejo interno) editando los parámetros del Hub. Útil en empresas para distribuir modelos fine-tuned propios.
#5. Modo servidor API
El modo servidor de Jan expone una API compatible con OpenAI en la red local. Esto convierte a Jan de un simple cliente de chat en un verdadero backend para tus scripts, tus automatizaciones n8n, o un copiloto VS Code a través de Continue.dev.
- 01Activar el servidorSettings → Local API Server. Marca "Start Local API Server". Jan inicia Cortex en modo servidor en el puerto 1337 de forma predeterminada (configurable).
- 02Elegir el modelo que se sirveTodos los modelos descargados están expuestos. Cada uno tiene un identificador que puedes usar en el campo "model" de las solicitudes (visible en la columna ID de My Models).
- 03Prueba rápida con curlComprueba que el servidor responda con una llamada estándar a /v1/chat/completions. La sintaxis es idéntica a la de OpenAI.
#Jan vs LM Studio vs Msty
Las tres apps son clientes de escritorio para LLM locales con una interfaz limpia y un servidor API local. El diablo está en los detalles.
- Jan
- De código abierto (AGPL), con una prioridad estricta al funcionamiento sin conexión y una arquitectura modular con Cortex como motor independiente. Catálogo de modelos más reducido que el de LM Studio. Ideal para quienes buscan software libre y auditable.
- LM Studio
- De código cerrado, pero gratuito. El catálogo de Hugging Face más completo de los tres (búsqueda en directo en HF). Soporte para MCP, MLX nativo en Mac, predicción de varios tokens. Más funcionalidades, pero opaco.
- Msty
- De código cerrado, freemium (versión Aurum de pago). La mejor opción para RAG: espacios de trabajo con documentos, chat dividido (comparar dos modelos uno al lado del otro), Knowledge Stacks. Menos sólido para el chat puro, más orientado a un «agente personal».
#Solución de problemas
- El modelo no se carga / OOM
- Comprueba la VRAM/RAM disponible. En Settings → My Models → [modelo] → Edit Parameters, reduce n_gpu_layers para cargar menos capas en la GPU. O cambia a una cuantización más pequeña (Q4_K_S en lugar de Q4_K_M, o IQ3_M).
- Muy pocos tokens por segundo
- Confirma que la GPU se esté utilizando: en NVIDIA, abre nvidia-smi durante una generación; deberías ver a Jan o cortex-server consumir VRAM. En Apple Silicon, Metal está activado por defecto sin necesidad de ajustes.
- Cortex no inicia (Windows)
- Falta Visual C++ Redistributable. Instala los paquetes vc_redist x64 de Microsoft. Comprueba también que ningún otro proceso esté usando el puerto 1337 (cambia el puerto en los ajustes si es necesario).
- Linux: AppImage no se inicia
- Instala libfuse2 (sudo apt install libfuse2 en Ubuntu 22.04+). Para depuración, ejecuta el AppImage desde un terminal para ver los errores.
- Descarga del modelo bloqueada al 99%
- Detén y reinicia. Jan reanuda la descarga. Si el problema persiste, descarga el GGUF manualmente desde Hugging Face e impórtalo mediante Settings → My Models → Import.
- Respuestas en inglés a pesar de un prompt en francés
- El modelo no tiene suficiente capacidad para mantener la coherencia bilingüe. Añade un prompt de sistema explícito «Responde siempre en francés» en el asistente, o pasa a un modelo sólido en francés (Mistral Small 24B, Qwen 3.5, Gemma 4).
#Para ir más allá
Según hacia dónde quieras ir ahora:
- Comparar Jan con sus competidores directos
- « Ollama vs LM Studio vs Jan vs GPT4All » muestra la tabla detallada para elegir la herramienta adecuada para tu perfil.
- Entender las cuantizaciones Q4/Q5/Q8
- «Elegir la cuantización (Q4, Q5, Q8, FP16)» explica los compromisos entre calidad y memoria; resulta útil para elegir con criterio en el Hub de Jan.
- Hacer RAG sobre tus documentos
- Jan no tiene un RAG nativo sólido. «RAG local con Ollama sin programar (Open WebUI, AnythingLLM)» muestra las alternativas sin código que también se conectan al servidor API de Jan.
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.