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.
#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í.
¿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
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.
#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.
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.
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.
#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.
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.
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.
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.
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.
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
- 01Situarse en un proyectoAbre 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.
- 02Iniciar la CLIEscribe 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.
- 03Comprobar el modelo activoLa 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.
- 04Dar una primera tarea acotadaEmpieza 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.
- 05Revisar antes de aceptarVibe 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.
#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.
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.