Intermedio 11 minIDE

Mistral Vibe CLI con Devstral en local: puesta en route

Mistral Vibe CLI es el agente de código para terminal publicado por Mistral AI con Devstral 2, bajo licencia Apache 2.0 según el anuncio. De forma predeterminada, envía tus solicitudes a la API de Mistral. Esta guía lo instala y después lo conecta a un Devstral Small 2 servido por Ollama en tu máquina, mediante el archivo config.toml descrito en la documentación «offline models». Termina con las limitaciones reales de un agente de código que se ejecuta completamente en local.

Por Léa B.·Actualización 2026-10-19·Probado en Windows, macOS y Linux

#Mistral Vibe CLI: qué es y qué no es

Mistral Vibe CLI es un programa de línea de comandos, escrito en Python, publicado en diciembre de 2025 al mismo tiempo que Devstral 2 y Devstral Small 2. Lo ejecutas en la carpeta de un proyecto, describes una tarea en lenguaje natural y el agente lee tus archivos, propone modificaciones, ejecuta comandos e itera hasta obtener el resultado. Es el mismo principio que Claude Code, OpenCode o Aider, pero diseñado en torno a los modelos Devstral, que se han entrenado para este tipo de bucle agéntico.

El código fuente está publicado en GitHub, en el repositorio mistralai/mistral-vibe, bajo licencia Apache 2.0 según el anuncio de Mistral. Puedes leerlo, modificarlo y utilizarlo en una empresa sin pagar regalías. La CLI puede comunicarse con la API de Mistral, pero también con cualquier servidor que exponga una API con formato OpenAI: Ollama, llama.cpp, LM Studio o vLLM. Es este segundo modo, documentado en la página «offline models», el que nos interesa aquí.

i
Vibe CLI no es la aplicación Vibe
Mistral cambió el nombre de su asistente para el público general, Le Chat, por «Vibe» durante 2026. La aplicación Vibe (web y móvil) es un chatbot alojado por Mistral, con una cuenta y una suscripción. Mistral Vibe CLI es una herramienta para desarrolladores instalada en tu terminal. Ambas comparten nombre y editor, pero no uso. La palabra clave «mistral vibe» por sí sola suele remitir a la aplicación: si es esa la que buscas, nuestra guía sobre Mistral AI gratuito la compara con los modelos locales.

¿Por qué querer un Vibe CLI local en lugar de la API? Se repiten tres razones. El código no sale de la máquina, algo importante para código propietario o sujeto a un acuerdo de confidencialidad. No hay factura por uso ni cuota: pagas la electricidad y el hardware que ya tienes. Por último, la herramienta sigue funcionando sin conexión o detrás de un cortafuegos estricto. A cambio, pierdes el modelo Devstral 2 de 123 mil millones de parámetros, demasiado grande para una estación de trabajo, y aceptas una velocidad inferior a la de un servidor de producción.

#Requisitos previos: Python, Ollama y la memoria para Devstral Small 2

El kit Copiloto Local

Esta guía te lleva al modelo. El kit te lleva al copiloto que programa en tu editor.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 d

Antes de instalar nada, comprueba estos cuatro puntos. Evitan tres cuartas partes de los fallos que se encuentran con los agentes de código locales.

Sistema
Linux o macOS son los objetivos principales. En Windows, usa WSL2 (Ubuntu): la CLI se instala allí como en Linux y Ollama para Windows sigue siendo accesible desde WSL mediante la dirección localhost.
Python reciente
La CLI se distribuye como paquete de Python. El repositorio indica la versión mínima necesaria en su README; en el momento del anuncio, era Python 3.12 o posterior. Comprueba con python3 --version antes de continuar.
Ollama instalado e iniciado
Ollama sirve el modelo y expone una API compatible con OpenAI en http://localhost:11434. Si aún no lo has hecho, nuestra guía de instalación de Ollama cubre los tres sistemas.
Memoria para un modelo 24B
Devstral Small 2 tiene 24 mil millones de parámetros. Con cuantificación Q4_K_M, los pesos ocupan aproximadamente 14 GB, a lo que se suma la caché de contexto. Cuenta con una GPU de 24 GB (RTX 3090, RTX 4090) o un Mac con 32 GB de memoria unificada para un funcionamiento cómodo. El anuncio de Mistral también menciona «una RTX 4090 o un Mac con 32 GB de RAM» como configuración objetivo.

Con una GPU de 16 GB (RTX 4080, RTX 5070 Ti de escritorio), el modelo Q4 cabe, pero el contexto pasa rápidamente a la memoria del sistema y la velocidad cae. Con 12 GB (RTX 3060, RTX 4070), Ollama reparte las capas entre la GPU y la CPU: el agente funciona, pero cada vuelta del bucle tarda varias decenas de segundos. No hemos cuantificado estas velocidades en esas tarjetas; basta con recordar que 24 GB es el umbral de comodidad para un 24B utilizado como agente, donde el contexto crece con cada archivo leído.

→
Un modelo más pequeño para probar la cadena
Si tu máquina va justa, valida primero la instalación y el archivo config.toml con un modelo de código ligero de 7 a 8 mil millones de parámetros (aproximadamente 5 GB en Q4). La configuración es idéntica: solo cambia el nombre del modelo. Pasarás a Devstral Small 2 una vez verificada la cadena.

#Instalar Mistral Vibe CLI

Mistral ofrece un script de instalación de una sola línea que configura la CLI en un entorno aislado. Es el método recomendado en el README del repositorio.

Terminal
curl -LsSf https://mistral.ai/vibe/install.sh | bash

Si prefieres controlar la instalación, el paquete se publica en PyPI con el nombre mistral-vibe. La herramienta uv lo instala en un entorno específico, sin tocar tus otros proyectos de Python. El pip clásico también funciona, preferiblemente en un entorno virtual.

Terminal — alternativa con uv
# Installer uv si besoin : https://docs.astral.sh/uv/
uv tool install mistral-vibe

# Ou avec pip, dans un environnement virtuel
python3 -m venv ~/.venvs/vibe
source ~/.venvs/vibe/bin/activate
pip install mistral-vibe

Después, comprueba que el comando vibe esté disponible. Si el terminal no lo encuentra, ciérralo y vuelve a abrirlo: el script de instalación añade una carpeta a tu PATH, que se tiene en cuenta en el siguiente arranque del shell.

Terminal
vibe --version
vibe --help
!
Leer un script antes de ejecutarlo
El comando curl | bash ejecuta un script descargado sin mostrártelo. Es el uso propuesto por Mistral, pero si tu política de seguridad lo prohíbe, descarga primero el script con curl -o, léelo y después ejecútalo. La variante uv tool install evita por completo la cuestión.

#Preparar Devstral Small 2 en Ollama

Devstral Small 2 es publicado por Mistral bajo licencia Apache 2.0, con una ventana de contexto de 256 000 tokens. Ollama lo ofrece en su biblioteca; el comando siguiente descarga la versión predeterminada, con cuantificación de 4 bits. La descarga ocupa aproximadamente 14 GB.

Terminal
ollama pull devstral-small-2
ollama list

El nombre exacto del modelo en la biblioteca Ollama puede cambiar (variante de cuantización, sufijo de tamaño). Si el comando falla, busca «devstral» en ollama.com/library y recupera el nombre mostrado. Es ese nombre, tal como aparece en ollama list, el que copiarás en la configuración de Vibe.

Queda un ajuste decisivo: la longitud de contexto. Ollama carga los modelos con un contexto predeterminado corto, a menudo de 4 096 tokens. Para un agente de código, es demasiado poco: el prompt del sistema de Vibe, la lista de herramientas, el contenido de los archivos leídos y el historial de la sesión superan ese tamaño en unos pocos intercambios. Entonces el modelo olvida el principio de la conversación y el agente da vueltas en círculo. Fija un contexto de 32 000 tokens como mínimo, por ejemplo con un Modelfile derivado.

Terminal — contexto de 32k mediante un Modelfile
cat > Modelfile.devstral <<'EOF'
FROM devstral-small-2
PARAMETER num_ctx 32768
EOF

ollama create devstral-small-2-32k -f Modelfile.devstral
ollama run devstral-small-2-32k "Réponds en un mot : prêt ?"

También puedes fijar el contexto globalmente con la variable de entorno OLLAMA_CONTEXT_LENGTH al iniciar el servicio Ollama. El Modelfile tiene la ventaja de afectar solo a este modelo y de mantener un nombre explícito. Un contexto más largo consume más memoria: con 32k tokens en un 24B, calcula entre 2 y 4 GB adicionales según el tipo de caché KV. En 24 GB, ese es el límite cómodo; por encima de 64k, vigila la memoria con nvidia-smi.

#Conectar el modelo local en config.toml

Mistral Vibe CLI lee su configuración del archivo ~/.vibe/config.toml. La documentación «offline models» describe allí dos tablas: providers, que declara un servidor y su dirección, y models, que asocia un nombre de modelo con un proveedor. Una clave active_model designa el modelo utilizado de forma predeterminada. Esta es una configuración completa para el Ollama preparado anteriormente.

~/.vibe/config.toml
# Modèle utilisé au lancement (doit correspondre à un alias ci-dessous)
active_model = "devstral-small-local"

# Fournisseur : votre Ollama local, API au format OpenAI
[[providers]]
name = "ollama"
api_base = "http://localhost:11434/v1"
api_key_env_var = ""
api_style = "openai"
backend = "generic"

# Modèle : le nom exact affiché par `ollama list`
[[models]]
name = "devstral-small-2-32k"
provider = "ollama"
alias = "devstral-small-local"
input_price = 0.0
output_price = 0.0

Tres detalles merecen una explicación. La dirección termina en /v1 porque Vibe habla el dialecto de OpenAI y Ollama solo expone este formato bajo ese prefijo; la API nativa de Ollama, sin /v1, no será adecuada. La clave api_key_env_var se deja vacía: Ollama no requiere autenticación en local. Los precios son cero para que la estimación de costes que muestra la CLI siga siendo coherente; no tienen ningún efecto sobre el funcionamiento.

!
Los nombres de las claves siguen la documentación, no al revés
Este ejemplo retoma la estructura proporcionada por la página «offline models» de docs.mistral.ai en el momento de redactarlo. La CLI evoluciona rápidamente y el nombre de una clave puede cambiar de una versión a otra. Si vibe rechaza tu archivo o ignora el modelo, compara tu config.toml con el ejemplo oficial en lugar de adivinar: la documentación es la referencia válida.

Para otro servidor local, solo cambia la sección providers. Con llama.cpp (llama-server), la dirección suele ser http://localhost:8080/v1; con LM Studio, http://localhost:1234/v1; con vLLM, http://localhost:8000/v1. En todos los casos, el campo name del modelo debe ser el identificador que espera ese servidor, el que devuelve en su ruta /v1/models.

Terminal — comprobar lo que anuncia el servidor
curl -s http://localhost:11434/v1/models | python3 -m json.tool

Puedes declarar varios modelos, por ejemplo Devstral Small 2 en local y Devstral 2 mediante la API Mistral, y después cambiar de uno a otro dentro de la sesión. Para el proveedor Mistral, la clave de API se lee desde una variable de entorno, normalmente MISTRAL_API_KEY; la clave no tiene que aparecer en texto plano en el archivo. Si tu objetivo es trabajar al 100 % en local, no añadas ningún proveedor remoto: no saldrá nada de la máquina.

#Primera sesión: iniciar vibe y comprobar el modelo

  1. 01
    Situarse en un proyecto
    Abre un terminal en la carpeta de un repositorio Git, preferiblemente limpio (git status sin modificaciones pendientes). El agente trabaja sobre los archivos de la carpeta actual; un repositorio limpio permite revisar y deshacer sus cambios con git diff y git checkout.
  2. 02
    Iniciar la CLI
    Escribe vibe. En el primer lanzamiento, la CLI puede pedirte que introduzcas una clave API de Mistral y crear su carpeta ~/.vibe. Si has escrito config.toml antes, tu proveedor local ya se conoce. Si aun así aparece la solicitud de clave, consulta /help: según la versión, se omite o se deja vacía cuando hay configurado un proveedor local.
  3. 03
    Comprobar el modelo activo
    La interfaz muestra el modelo en uso. Debe ser tu alias devstral-small-local. El comando /help enumera los comandos disponibles en la sesión, incluido el que cambia de modelo si has declarado varios.
  4. 04
    Dar una primera tarea acotada
    Empieza con algo pequeño: «Lee el README y resume la arquitectura del proyecto en cinco líneas», y después «Añade una prueba unitaria para la función X en el archivo Y». Observa la primera respuesta: si el modelo responde sin utilizar ninguna herramienta o se inventa una ruta de archivo, el problema suele ser un contexto demasiado corto o un modelo que no ha sido preparado para el uso de herramientas.
  5. 05
    Revisar antes de aceptar
    Vibe pide confirmación antes de las acciones sensibles, como escribir archivos o ejecutar comandos. Lee cada diff propuesto. Un modelo de 24B en local se equivoca más a menudo que un modelo de 123B servido mediante la API, sobre todo en bases de código grandes: la revisión forma parte del flujo de trabajo, no es una excepción.

Durante la sesión, vigila la carga de Ollama: el comando ollama ps indica el modelo cargado, la parte que está en la GPU y en la CPU, y el contexto efectivo. Si ves una distribución parcial en la CPU cuando pensabas que cabía en la memoria de vídeo, es el contexto el que ha desbordado la tarjeta.

Terminal — en una segunda pestaña
ollama ps
nvidia-smi --query-gpu=memory.used,memory.total --format=csv

#Límites de un Vibe CLI 100 % local

Un agente de código local funciona, pero no se puede comparar término por término con la versión de la API. Esto es lo que puedes esperar, sin inventar cifras: no hemos realizado pruebas de rendimiento para esta guía, y las puntuaciones publicadas por Mistral corresponden a modelos servidos en condiciones de referencia, no a una máquina de escritorio con un modelo cuantificado.

Devstral 2 sigue estando fuera de alcance
El modelo grande de 123 mil millones de parámetros necesita decenas de gigabytes de memoria incluso muy cuantizado. En local, trabajas con Devstral Small 2, cuyo Mistral anuncia un 68,0 % en SWE-bench Verified, frente al 72,2 % de Devstral 2. La diferencia es modesta en esta prueba, pero se nota en las tareas largas y en los repositorios voluminosos.
La cuantificación cambia el modelo
La puntuación anunciada corresponde a los pesos completos. Un Q4_K_M degrada ligeramente la precisión; un Q8_0 la conserva mejor, pero requiere aproximadamente 26 GB solo para los pesos, por lo que hace falta una tarjeta de 32 GB o un Mac bien equipado. Elegir la cuantización es un compromiso que debe asumirse con conocimiento de causa.
El contexto local es mucho más corto que 256k
Devstral Small 2 admite 256 000 tokens, pero no podrás usarlos en 24 GB. Entre 32k y 64k tokens, el agente cubre un módulo o un servicio pequeño. Para un monorepo, hay que delimitar la tarea archivo por archivo.
La velocidad depende del hardware, no de la CLI
Un 24B denso genera más despacio que un modelo MoE de tamaño comparable con la misma memoria. Cada vuelta del bucle del agente incluye una nueva lectura de todo el contexto: cuanto más dura la sesión, más tarda cada respuesta. Planifica sesiones cortas y tareas divididas.
Tool calling y formatos
El agente se basa en llamadas a herramientas estructuradas. Un modelo cuantificado puede producir ocasionalmente una llamada con un formato incorrecto que la CLI rechaza. Devstral ha sido entrenado para este tipo de uso y lo hace mucho mejor que un modelo generalista, pero el fenómeno no desaparece por completo.
Una herramienta joven
La CLI se publicó en diciembre de 2025 y evoluciona rápidamente. Los comandos, el formato de configuración y la integración con los editores cambian. Actualízala con regularidad (uv tool upgrade mistral-vibe, o vuelve a ejecutar el script de instalación) y relee el registro de versiones en GitHub antes de quejarte de un comportamiento.

El anuncio de Mistral menciona también una integración con editores mediante el protocolo ACP, especialmente con Zed. Si prefieres un editor al terminal, nuestra guía Zed + Ollama muestra cómo este editor ya se comunica con un modelo local; combinar ambos equivale a dejar que Vibe controle el agente y que Zed muestre los diffs.

#Solución de problemas

«vibe: comando no encontrado»
La carpeta de los ejecutables no está en tu PATH. Vuelve a abrir el terminal. Con uv, la ruta suele ser ~/.local/bin; compruébala con uv tool dir --bin y añádela a tu archivo de shell si es necesario.
Error de conexión con localhost:11434
Ollama no está iniciado o escucha en otra dirección. Prueba con curl http://localhost:11434/v1/models. En WSL2, asegúrate de que Ollama se esté ejecutando correctamente en Windows y de que la variable OLLAMA_HOST no se haya restringido.
El servidor no reconoce el modelo
El campo name de la sección models no corresponde a ningún modelo presente en ollama list. Copia el nombre exacto, incluido el sufijo, también el de tu Modelfile derivado si has creado uno.
El agente olvida lo que acaba de leer
Contexto demasiado corto. Comprueba con ollama ps el valor de contexto que se ha cargado realmente; si es 4 096, tu Modelfile o tu variable OLLAMA_CONTEXT_LENGTH no se han tenido en cuenta.
Respuestas muy lentas, GPU poco utilizada
Una parte del modelo está en la CPU. Reduce el contexto, cambia a una cuantización más ligera o cierra los demás modelos cargados por Ollama (OLLAMA_MAX_LOADED_MODELS).
La CLI exige una clave de API aunque todo es local
Comportamiento que depende de la versión. Comprueba que config.toml se encuentre en la ubicación ~/.vibe/config.toml, que active_model apunte a un alias existente y consulta la página «offline models» de la documentación para conocer el procedimiento actualizado.

#Para ir más allá

Vibe CLI es una buena opción si estás vinculado al ecosistema Mistral y a Devstral. Si quieres comparar antes de instalarlo, OpenCode juega en la misma categoría y ofrece más proveedores compatibles, y la cuestión del modelo de código local se plantea independientemente del agente elegido.

¿Esta guía te ha ayudado?

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