Principiante 10 minInterfaces

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 Mohamed Meguedmi·Actualización 2026-08-27·Probado en Windows, macOS y Linux

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

i
En una frase
Jan = una interfaz Electron pulida + Cortex (motor llama.cpp) + una tienda de modelos de Hugging Face. Piensa en un "ChatGPT de escritorio" que nunca sale de tu wifi.

#Prerrequisitos

El kit de IA Local

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.
→
La referencia adecuada para la VRAM
Q4_K_M es la cuantización predeterminada en Jan. En este formato: 3B≈2 GB de VRAM · 7B≈5 GB · 14B≈9 GB · 32B≈19 GB · 70B≈40 GB. Si el modelo supera la capacidad de tu VRAM, Jan descarga parte del modelo en la RAM (caída brusca de tokens/segundo).

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

Sitio oficial
https://jan.ai
!
Siempre desde jan.ai o desde el repositorio oficial en GitHub
El repositorio oficial es github.com/menloresearch/jan (anteriormente janhq/jan). Descarga Jan únicamente desde el sitio oficial o desde las versiones firmadas de GitHub. Desconfía de los forks precompilados distribuidos en sitios de terceros.
  1. 01
    Ejecutar el instalador
    Haz 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.
  2. 02
    Primer inicio
    Jan 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.
  3. 03
    Verificar Cortex
    Al 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).
  4. 04
    Onboarding
    Jan 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.

→
Importar un GGUF que ya tengas
Si ya tienes archivos GGUF locales (descargados mediante huggingface-cli o recuperados de una instalación de Ollama/LM Studio), puedes importarlos a Jan a través de Settings → My Models → Import. Jan no los duplica, solo hace referencia a los archivos.

#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.
i
Conversaciones almacenadas en claro
Por defecto, Jan almacena tus hilos en archivos JSON legibles en el directorio data. Sin cifrado. Si procesas datos sensibles, cifra el disco (LUKS, FileVault, BitLocker) o coloca el directorio Jan en un volumen cifrado.

#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.
Cortex en CLI sin Jan
# Lancer le serveur Cortex seul
cortex start

# Lister les modèles disponibles
cortex models list

# Charger et servir un modèle
cortex run qwen3.5:9b-gguf-q4-km

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

  1. 01
    Activar el servidor
    Settings → Local API Server. Marca "Start Local API Server". Jan inicia Cortex en modo servidor en el puerto 1337 de forma predeterminada (configurable).
  2. 02
    Elegir el modelo que se sirve
    Todos 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).
  3. 03
    Prueba rápida con curl
    Comprueba que el servidor responda con una llamada estándar a /v1/chat/completions. La sintaxis es idéntica a la de OpenAI.
Prueba de la API compatible con OpenAI
curl http://localhost:1337/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.5:9b-gguf-q4-km",
    "messages": [{"role": "user", "content": "Bonjour, qui es-tu ?"}],
    "temperature": 0.7
  }'
!
El servidor escucha localmente por defecto
Jan escucha en 127.0.0.1, por lo que no es accesible desde la red. Para compartirlo con otras máquinas (equipo, familia), cambia la dirección de escucha a 0.0.0.0 en los ajustes, pero añade entonces autenticación (como mínimo, un proxy inverso con autenticación básica): Jan no tiene autenticación nativa.
Cliente Python a través del SDK OpenAI
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:1337/v1",
    api_key="jan-local",  # n'importe quelle string, Jan ne vérifie pas
)

response = client.chat.completions.create(
    model="qwen3.5:9b-gguf-q4-km",
    messages=[
        {"role": "system", "content": "Tu réponds toujours en français."},
        {"role": "user", "content": "Explique-moi ce qu'est un LLM en deux phrases."},
    ],
)
print(response.choices[0].message.content)

#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».
→
Cómo elegir
Quieres código abierto verificable y simplicidad: Jan. Quieres la mayor cantidad de modelos y ajustes avanzados: LM Studio. Quieres RAG en tus documentos sin programar: Msty. Ninguno te impide usar los demás; incluso pueden coexistir (puertos diferentes).

#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.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.