Volver a las guías
Agentes de programación·21 de septiembre de 2026·Actualizado el 24 de septiembre de 2026·9 min de lectura

Alternativas a Mistral Vibe: elige según el flujo de trabajo y el control de la API

Vibe CLI sigue publicando versiones, así que la pregunta útil es cuál de los cuatro motivos de salida se aplica: cada uno apunta a un reemplazo distinto y cada cambio tiene un protocolo que comprobar y un coste de migración en archivos.

Última revisión: .

El punto de partida honesto para las alternativas a Mistral Vibe es que Vibe CLI no va a desaparecer: mistralai/mistral-vibe tiene licencia Apache-2.0, no está archivado, publicó v2.25.5 el 18 de septiembre de 2026 y recibió su último push el 21 de septiembre de 2026. La gente lo sustituye por cuatro razones concretas: llamadas en segundo plano que siguen llegando a Mistral, funciones de voz sin una vía de terceros, valores predeterminados que pueden cambiarse remotamente y un ritmo de lanzamientos lo bastante rápido como para romper una configuración funcional; cada una de ellas apunta a un sustituto diferente. Esta página es el árbol de decisión, además de lo que realmente te cuesta cambiar en términos de archivos.

Primero, una aclaración, porque determina qué precios son siquiera relevantes. Mistral cambió el nombre de Le Chat a Vibe el 28 de mayo de 2026: «Le Chat ahora es Vibe», un agente y una licencia para el trabajo y el código. Así que «Mistral Vibe» ahora nombra tanto a un asistente de consumo como a un agente de programación, y cada cifra de suscripción que encuentres con ese nombre compra el asistente. La CLI es el paquete mistral-vibe, Apache-2.0, $0. Un tercer producto, Mistral Code Enterprise, es un plugin independiente obsoleto: «obsoleto en favor de Mistral Vibe», operativo hasta marzo de 2027 y solo con licencia empresarial. También conviene mencionar dos colisiones: vibe.us vende hardware de colaboración para salas de reuniones, y las recopilaciones de «vibe coding» sobre Replit, Bolt y Lovable tratan de una metodología, no de sustituir a un agente de terminal.

Por qué la gente abandona Vibe CLI

No todas las solicitudes llegan al proveedor que declaraste. En v2.25.5, el módulo de finalización de utilidades define un modelo Mistral rápido, mistral-vibe-cli-fast, y su docstring indica que se prefiere siempre que haya un proveedor Mistral utilizable «incluso cuando el proveedor activo de la sesión sea otro»; además, los valores predeterminados integrados siempre configuran uno. Las llamadas son funciones auxiliares en segundo plano, no tus turnos de programación: títulos de sesión, nombres de worktrees de git, el bucle del agente y el runtime del servidor de la aplicación. En el mismo archivo existen tres vías de escape documentadas: que no haya un proveedor Mistral utilizable, una lista de permitidos allowed_models que excluya el alias mistral-small, o una MISTRAL_API_KEY no resoluble. Si tu motivo para marcharte es «todo el tráfico debe llegar a un único endpoint», empieza por ahí antes de migrar: puede que ya sea solucionable sin cambiar de cliente.

La voz está limitada al protocolo de audio propio de Mistral. En esa versión, TranscribeClient y TTSClient son enumeraciones de cadenas cuyo único miembro es Mistral, y los valores predeterminados publicados apuntan a wss://api.mistral.ai y https://api.mistral.ai, ambos con la clave MISTRAL_API_KEY. Un bloque [[transcribe_providers]] o [[tts_providers]] permite cambiar api_base y la variable de clave; lo que no puede cambiar es el client, por lo que aquello a lo que lo dirijas todavía debe hablar la API de audio propia de Mistral. Kunavo tampoco ofrece modelos de voz a texto, texto a voz ni de embeddings, así que cambiar de cliente o de gateway no resuelve un requisito de voz: ese paso necesita un proveedor que lo ofrezca, y esta página no fingirá lo contrario.

Algunos valores predeterminados se establecen remotamente. El esquema de configuración 2.25.5 incluye ExperimentsConfig con enable = True contra https://experiments.mistral.services/, y enable_telemetry tiene el valor predeterminado True. Esa capa puede proporcionar routed_default_model, routed_model_config y routed_extra_models en runtime, y mantiene el modo Smart Approve detrás de dos indicadores experimentales que permanecen desactivados hasta que un despliegue los activa. Esto añade una salvedad a nuestra propia página Vibe CLI frente a Claude Code, que describe el clasificador de Smart Approve ejecutándose en el modelo Mistral rápido: en 2.25.5 ambos indicadores están desactivados de forma predeterminada y el modo permanece oculto hasta que un despliegue lo expone, así que ese enrutamiento solo te alcanza cuando Smart Approve se ofrece realmente. El enrutamiento del modelo de utilidad descrito arriba sigue aplicándose a títulos y nombres de worktrees.

El ritmo es lo bastante rápido como para romper una configuración funcional. El registro de cambios de 2.25.5 documenta una corrección para proveedores configurados sin una variable de entorno de clave de API —servidores de modelos locales o autoalojados— que «vuelven a ejecutarse en el Unified Harness en lugar de fallar en cada turno con un error de MISTRAL_API_KEY ausente». Eso significa que un proveedor local sin clave había estado fallando en el Unified Harness al menos en una versión anterior; el registro de cambios no indica desde qué versión, así que compáralo con la que instales. La misma versión elimina la etiqueta «experimental» de ese harness y nombra --legacy-harness como vía de escape, y 2.25.4 enumera cinco identificadores CVE corregidos en la comprobación de permisos del shell (identificadores tal como aparecen impresos en el registro de cambios, no comprobados por separado contra una base de datos de CVE). Fija la versión en cualquier runbook que escribas.

Qué alternativa corresponde a cada motivo de salida

Por qué te vasGrupoQué debes examinarEstado el 21 de septiembre de 2026
Cada llamada debe llegar al endpoint que declarasteControl de API abiertaCrush, OpenCodeCrush v0.96.1 (2026-09-21); OpenCode v1.18.31 (2026-09-14), el repositorio ahora resuelve a anomalyco/opencode
Prioridad local, sin una cuenta del proveedor de por medioPrioridad localProveedor llama.cpp integrado de Vibe; GooseVibe 2.25.5 incluye llamacpp en http://127.0.0.1:8080/v1 y una entrada local de Devstral con precio de entrada y salida de 0.0; Goose v1.51.0, cuya documentación ahora está bajo Agentic AI Foundation
Quieres el agente dentro de un editor, no de un terminalFlujo de trabajo del IDECline, Kilo Code, ContinueExtensión de Cline 4.1.19 (2026-09-17); Kilo Code v7.7.6 (2026-09-21); Continue activo bajo Apache-2.0
Ejecuciones autónomas prolongadas en lugar de ediciones turno a turnoEjecución autónomaOpenHandsv1.20.0 (2026-09-17), MIT; el repositorio ahora resuelve a OpenHands/OpenHands
Quieres el propio agente de OpenAIControl de API abierta, con una restricciónCodex CLIrust-v0.155.1 (2026-09-18); solo acepta el protocolo Responses para un proveedor personalizado
Alguien recomendó Roo CodeRetiradoKilo Code o Roomote, adonde ahora redirige roocode.comRooCodeInc/Roo-Code archivado; último lanzamiento v3.54.0 y último push, ambos el 2026-05-15; roocode.com redirige con 301 a roomote.dev
Alguien recomendó AiderInactivo; decide según las fechasAiderNo está archivado, Apache-2.0; último commit el 2026-05-22, último lanzamiento de GitHub v0.86.0 del 2025-08-09, PyPI aider-chat 0.86.2 del 2026-02-12. Ninguna declaración del mantenedor en un sentido u otro

Las cifras del repositorio, los lanzamientos y el marketplace se consultaron en la API de GitHub, PyPI, Visual Studio Marketplace y la documentación propia de cada proyecto el 21 de septiembre de 2026. Tres de ellos ahora responden bajo un propietario diferente del que todavía muestran la mayoría de las guías en su URL. Las redirecciones de GitHub demuestran el nuevo propietario, pero no se encontró ningún anuncio fechado para ninguno, así que interprétalos como cambios de nombre documentados, no como adquisiciones. Un límite de la primera fila: lo que se comprobó fue la configuración del proveedor personalizado de cada proyecto, no su tráfico en segundo plano; por tanto, si el requisito real es «cada llamada llega a mi endpoint», confírmalo con un registro de proxy en tu propia configuración. Hay comparaciones más profundas en alternativas a OpenCode, alternativas a Aider y Crush frente a OpenCode.

Comprueba el protocolo antes de elegir

Esta es la parte que una tabla de funciones omite y la que determina si tu clave actual funciona. Cada cliente acepta un conjunto diferente de protocolos para un endpoint personalizado, y uno de ellos rechaza el formato que sirven la mayoría de los gateways.

Cliente y versión comprobadosDónde se declara un endpoint personalizadoProtocolos aceptados
Vibe CLI 2.25.5~/.vibe/config.toml o ./.vibe/config.toml, como [[providers]] más [[models]]Cinco valores de api_style: openai, reasoning, anthropic, openai-responses, vertex-anthropic. Token Bearer para los tres con formato de OpenAI; x-api-key más anthropic-version: 2023-06-01 para anthropic
OpenCode 1.18.31opencode.json: provider.<id>.npm más options.baseURL y options.apiKeyElegido por el paquete: @ai-sdk/openai-compatible para un endpoint /v1/chat/completions, @ai-sdk/openai cuando el modelo usa /v1/responses
Crush v0.96.1./.crushrc, ./crushrc o ~/.config/crush/crushrc — «solo Bash con algunos elementos integrados específicos de Crush»Los proveedores se añaden con provider add --type. El README documenta openai y openai-compat para API con formato de OpenAI, y anthropic para las que tienen formato de Anthropic, junto con tipos para Ollama, llama.cpp y Vertex; openai-compat es el nombre que usa para proveedores que no son de OpenAI pero tienen API compatibles con OpenAI
Codex CLI rust-v0.155.1~/.codex/config.toml, bajo model_providers.<id>Solo Responses. La enumeración WireApi tiene una única variante y el deserializador rechaza "chat" con un error de eliminación
Goose, documentación comprobada el 21 de septiembre de 2026Entorno: OPENAI_API_KEY, además de OPENAI_HOST y OPENAI_BASE_PATHLos proveedores personalizados admiten tipos de API OpenAI Compatible, Anthropic Compatible y Ollama Compatible

Tres detalles que cuestan una tarde cada uno. Para los estilos con formato de OpenAI de Vibe, api_base debe ser la raíz /v1, porque el adaptador de OpenAI añade /chat/completions por sí mismo; mientras que el adaptador anthropic añade /v1/messages, por lo que ese requiere la raíz del host. La configuración de Crush cambió: en v0.96.1, crushrc es el lugar documentado para añadir un proveedor, mientras que crush.json permanece bajo $HOME/.local/share/crush/, así que un tutorial que añade un proveedor al archivo JSON describe una estructura anterior; además, el README advierte que ambos archivos son código de confianza, ya que crushrc se ejecuta en un shell completo. Y la restricción de Codex CLI detiene pronto las migraciones: una clave de chat-completions no es un proveedor de Codex CLI en esta versión.

Para el cambio más habitual — de Vibe CLI a OpenCode, conservando una sola clave—, la declaración del lado de destino es un archivo, no un asistente:

opencode.json
{
  "provider": {
    "kunavo": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Kunavo",
      "options": {
        "baseURL": "https://api.kunavo.com/v1",
        "apiKey": "{env:KUNAVO_API_KEY}"
      },
      "models": {
        "claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" }
      }
    }
  }
}

El equivalente de Crush es una línea crushrc — provider add kunavo --type openai-compat --base-url "https://api.kunavo.com/v1" --api-key "$KUNAVO_API_KEY" — seguida de un model add por cada modelo que quieras incluir en la lista; esa es la estructura que utiliza el propio ejemplo de proveedor personalizado del README. Ambas son estructuras de configuración publicadas, tomadas de la documentación de cada proyecto, no de pruebas en tiempo de ejecución: Kunavo no ha ejecutado ninguno de los dos clientes contra su endpoint. Las referencias de configuración están en Integración con OpenCode, Integración con Crush e Integración con Mistral Vibe.

Qué migra, qué no y cómo volver atrás

Se transfiere como una copia de archivo: AGENTS.md. Vibe CLI 2.25.5 define AGENTS_MD_FILENAME = "AGENTS.md", la documentación de OpenCode indica que debes confirmar el AGENTS.md de tu proyecto en Git, y Crush v0.96.1 lee ~/.config/AGENTS.md y ofrece una opción initialize-as AGENTS.md. El nombre de archivo es el mismo, por lo que esta parte es portable —aunque cada cliente interpreta el contenido a su manera; léelo una vez en la nueva herramienta en lugar de asumir un comportamiento idéntico.

No se transfieren: herramientas, habilidades, plugins y subagentes. Vibe los conserva en un directorio de proyecto .vibe/ con los subdirectorios tools/, skills/, plugins/ y agents/, además de un directorio .agents/skills, con equivalentes globales en ~/.vibe. Ningún otro cliente de esta lista lee esa estructura, así que calcula volver a declararlos manualmente. Las claves tampoco se transfieren: el flujo de configuración de Vibe las escribe en ~/.vibe/.env, las variables de entorno tienen prioridad y cada cliente de destino utiliza su propia variable.

El historial no se transfiere en absoluto. Las sesiones de Vibe son archivos locales bajo ~/.vibe/logs/session: un .session_index.json, seguido de un meta.json y un messages.jsonl por sesión. El paquete wheel 2.25.5 incluye tres scripts de consola (vibe, vibe-acp, vibe-app-server) y expone --continue y --resume; no se encontró ningún comando de exportación. Desde la versión 2.25.5, ese directorio solo puede ser leído y modificado por su propietario en sistemas que no son Windows. Consérvalo en lugar de planear importarlo.

Una migración que no te dejará sin salida, en orden: copia AGENTS.md a la raíz del proyecto del nuevo cliente; declara el proveedor en el archivo propio de ese cliente usando el protocolo de la tabla anterior; exporta la variable de clave que indique; ejecuta una tarea acotada —una edición de un solo archivo y después una investigación en varios archivos— en ambos clientes; lee lo que tu cuenta del proveedor registró para cada una. Prepara la reversión antes de empezar: Vibe CLI es un paquete de Python normal, por lo que reinstalar la versión que utilizabas (uv tool install mistral-vibe==2.25.5) restaura el cliente, y dejar ~/.vibe intacto durante la prueba conserva tanto tu configuración como tu archivo de claves.

Qué efecto tiene el cambio en tu factura

Prácticamente ninguno, y ese es el objetivo: con una ruta de clave propia, el cliente es software gratuito y el modelo determina la factura. Estas cifras son cálculos ilustrativos de tokens, no costes medidos de tareas ni un límite de facturación. Supón una sesión que envía 200.000 tokens de entrada sin caché y recibe 12.000 tokens de salida. La primera fila es la tarifa publicada por Mistral para el modelo predeterminado de Vibe CLI, mostrada a modo de comparación; Kunavo no vende modelos de Mistral. El resto son tarifas actuales del catálogo de Kunavo por millón de tokens.

ModeloEntrada/salida por 1MFacturado porEstimación para la sesión supuesta
Mistral Medium 3.5$1.50 / $7.50API propia de Mistral$0.390
Claude Haiku 4.5$0.70 / $3.50Catálogo de Kunavo$0.182
GPT-5.6 Terra$0.70 / $4.20Catálogo de Kunavo$0.190
Claude Sonnet 4.6$2.10 / $10.50Catálogo de Kunavo$0.546
Claude Opus 5$3.50 / $17.50Catálogo de Kunavo$0.910

La cifra de Mistral se ha tomado de su lista de precios de la API el 21 de septiembre de 2026, y la configuración incluida con Vibe declara los mismos dos valores para mistral-vibe-cli-latest. Lo que la tabla no puede indicar: la tarifa más barata de la lista y el coste más bajo para completar la tarea son afirmaciones distintas, y un modelo que necesita tres intentos puede costar más que otro más caro que termina en una sola pasada. Escálalo según tus propias sesiones diarias antes de tratarlo como un presupuesto.

El importe del catálogo de Kunavo es un mínimo de facturación, no un tope: cuando el proveedor ascendente comunica su cargo, la factura es el mayor valor entre el coste del catálogo y el coste del proveedor ascendente multiplicado por el margen aplicable. Los cargos de caché y las herramientas externas quedan fuera de este ejemplo. La recarga mínima es $10 en crédito prepago, que financia un saldo en lugar de comprar un plan; consulta los detalles de facturación y crea una cuenta de Kunavo cuando estés listo para financiar una clave para el cliente que elijas.

¿Aún estás decidiendo entre quedarte y cambiar? Mistral Vibe frente a Claude Code explica cómo conservar la CLI y dirigirla a otro lugar; la mejor API para OpenCode aborda la cuestión del proveedor en el destino más habitual; y alternativas a Claude Code amplía el conjunto si el terminal no es la limitación.

Preguntas frecuentes

¿Cuál es la mejor alternativa a Mistral Vibe CLI?

No hay un único ganador, porque las cuatro razones por las que la gente se marcha apuntan a cuatro herramientas diferentes. Si el problema es que las llamadas en segundo plano siguen yendo a Mistral, prueba primero las propias vías de escape de Vibe y después considera Crush u OpenCode, cada uno de los cuales declara un endpoint personalizado en su propio archivo de configuración; aunque esta página verificó la estructura de su configuración, no su tráfico en segundo plano, así que confírmalo con un registro de proxy en lugar de con una tabla. Si quieres una configuración local como prioridad, ten en cuenta que Vibe CLI ya incluye un proveedor llama.cpp en http://127.0.0.1:8080/v1 y una entrada local Devstral con precio cero, por lo que la alternativa más barata a Vibe CLI a veces es Vibe CLI apuntando a localhost; Goose también documenta un proveedor personalizado compatible con Ollama. Si quieres el agente dentro de un editor en lugar de un terminal, Cline, Kilo Code y Continue son tres opciones de código abierto con lanzamientos activos. Si quieres ejecuciones autónomas prolongadas, OpenHands. Ninguna de ellas se ha probado en runtime contra Kunavo, y ninguna comparativa de esta página las clasifica por calidad de salida.

¿Mistral Vibe es gratuito?

La CLI sí lo es. El paquete mistral-vibe en PyPI tiene licencia Apache-2.0, versión 2.25.5 subida el 18 de septiembre de 2026, y requiere Python 3.12 o posterior, por lo que el software cuesta $0. La suscripción que ahora comparte su nombre es independiente: después de que Mistral cambiara el nombre de Le Chat a Vibe el 28 de mayo de 2026, mistral.ai/pricing muestra Free a $0 con «Sesiones de programación limitadas», Pro a $14.99 al mes ($5.99 para estudiantes verificados) con «Programación durante todo el día en la CLI, el IDE o la web», y Team a $24.99 por usuario al mes, con un mínimo mensual de $50. Mistral no publica ningún número de sesiones, límite de tokens ni ventana de restablecimiento asociada a ninguna de las dos formulaciones, así que «todo el día» es la afirmación publicada y no indica que el uso sea ilimitado. Además del plan, pagas los tokens del modelo, según las tarifas de Mistral o las del proveedor que declares tú mismo.

¿Roo Code sigue siendo una alternativa utilizable?

No como recomendación nueva. RooCodeInc/Roo-Code está archivado en GitHub; su último lanzamiento, v3.54.0, y su último push tienen ambos fecha del 15 de mayo de 2026, y roocode.com devuelve un HTTP 301 a roomote.dev (todo comprobado el 21 de septiembre de 2026). La extensión de VS Code RooVeterinaryInc.roo-cline todavía se puede instalar, pero permanece congelada en 3.54.0 desde esa misma fecha. Ninguna página oficial contiene un anuncio de cierre fechado, así que toma esas fechas del repositorio y la redirección como evidencia, en lugar de cualquier fecha citada en un artículo de terceros. Roomote, el sitio al que ahora redirige roocode.com, se describe como un compañero de programación de IA autoalojado y con código disponible, y muestra Cloud a $49 al mes para hasta 10 usuarios y $249 al mes para 11-50, mientras que el autoalojamiento es gratuito hasta 10 usuarios. Consulta los precios en roomote.dev, no en artículos de terceros. Como agente de VS Code con lanzamientos activos, Kilo Code tiene licencia MIT y publicó v7.7.6 el 21 de septiembre de 2026.

¿Mis reglas de AGENTS.md pasan a otro agente de programación?

El archivo AGENTS.md pasa como copia de archivo, porque tres de estos clientes leen ese nombre. Vibe CLI 2.25.5 define AGENTS_MD_FILENAME como «AGENTS.md», la documentación de OpenCode indica que debes confirmar en Git el AGENTS.md de tu proyecto, y Crush v0.96.1 lee ~/.config/AGENTS.md y ofrece una opción para inicializarlo como AGENTS.md. Lo que no pasa es todo lo que lo rodea: el directorio .vibe del proyecto de Vibe, con sus subdirectorios tools, skills, plugins y agents, y el directorio .agents/skills no comparten formato con los equivalentes de otro cliente, así que debes volver a declararlos manualmente. Vuelve a leer una vez el archivo copiado en el nuevo cliente, en lugar de asumir una interpretación idéntica.

¿Puede un gateway compatible con OpenAI controlar Codex CLI?

No en la versión rust-v0.155.1. La enumeración WireApi de esa versión tiene exactamente una variante, Responses; su deserializador devuelve un error de eliminación para el valor «chat» y un error de variante desconocida para cualquier otro valor, y la referencia de configuración de OpenAI indica que responses es el único valor compatible y el predeterminado cuando se omite. Por tanto, un gateway que sirva /v1/chat/completions no se puede declarar como proveedor de modelos de Codex CLI en esta versión, y el identificador de proveedor ollama-chat también se eliminó. Los tutoriales antiguos que muestran wire_api = «chat» describen una versión anterior. Fija esto a la versión que instales y vuelve a comprobarlo, ya que ya cambió una vez.

¿Vibe CLI sigue llamando a Mistral cuando lo dirijo a otro proveedor?

Para parte del trabajo en segundo plano, sí. En la versión 2.25.5, la ruta de finalización de utilidades define un modelo Mistral rápido, mistral-vibe-cli-fast, y su propia docstring indica que ese modelo se prefiere siempre que haya un proveedor Mistral utilizable; además, los valores predeterminados integrados siempre configuran uno, incluso cuando el proveedor activo de la sesión es otro. Sus llamadas son funciones auxiliares en segundo plano, no tus turnos de programación: títulos de sesión, nombres de worktrees de git, el bucle del agente y el runtime del servidor de la aplicación. El código fuente nombra tres vías de escape: que no haya un proveedor Mistral utilizable, una lista de permitidos allowed_models que excluya el alias mistral-small, o una MISTRAL_API_KEY no resoluble; después, la llamada de utilidad vuelve al modelo activo de la sesión. De todos modos, la titulación automática de sesiones está desactivada de forma predeterminada en esa versión, con un comentario del código fuente que explica que no todas las implementaciones de Mistral sirven el modelo rápido.

¿Necesito una cuenta de Mistral para ejecutar Vibe CLI en un endpoint de terceros?

Esta página no puede responderlo y prefiere decirlo antes que adivinar. La ruta de código funciona sin una MISTRAL_API_KEY resoluble, porque las finalizaciones de utilidades vuelven al modelo activo de la sesión, y la documentación de Mistral solo indica que el inicio de sesión basado en navegador está habilitado de forma predeterminada cuando tu configuración apunta a un modelo con un proveedor Mistral. No se encontró ninguna frase oficial que indique que no se requiere una cuenta, ni ninguna que exija una. Compruébalo en tu propia cuenta antes de planificar basándote en cualquiera de las dos respuestas.

Comprobado el 21 de septiembre de 2026: la API de GitHub para mistral-vibe, opencode, goose, OpenHands, Roo-Code, crush, codex, cline y kilocode; PyPI para mistral-vibe 2.25.5; las listas de Visual Studio Marketplace y JetBrains Marketplace mencionadas arriba; el código fuente, el registro de cambios y el README del wheel v2.25.5; las páginas de configuración de CLI y claves de API de docs.mistral.ai; mistral.ai/pricing, mistral.ai/pricing/api y el anuncio del cambio de nombre de Vibe; opencode.ai, goose-docs.ai, roomote.dev, el README de Crush v0.96.1 y la referencia de configuración de Codex de OpenAI. No se instaló ni ejecutó ningún cliente contra Kunavo, por lo que nada de esto constituye una prueba de compatibilidad, y cada cifra en dólares es un cálculo ilustrativo de tokens, no un coste medido de una tarea.