VT Code y OpenCode son agentes de codificación para terminal gratuitos que no cobran nada por el cliente y ambos aceptan tu propio endpoint compatible con OpenAI, así que esto no es una comparación de precios. Las diferencias reales son dónde permite cada uno declarar ese endpoint, hacia qué lado apuntan los valores predeterminados de permisos y si quieres una suscripción de $10 al mes en el mismo paquete. VT Code es un único binario de Rust de un proyecto independiente dirigido por un solo mantenedor. OpenCode es un agente de TypeScript de la empresa Anomaly, con una aplicación de escritorio, extensiones para editores y dos billeteras propias de primera parte.
Primero hay que aclarar dos trampas de nombres, porque equivocarse en cualquiera de ellas invalida todo lo que sigue. "VT Code" no es Visual Studio Code, y VT Code incluye confusamente su propia extensión complementaria para VS Code en una serie de versiones independiente. Además, tres cosas diferentes se llaman OpenCode: solo una de ellas forma parte de esta comparación.
Qué estás comparando realmente
| Proyecto | Lo que es hoy | Lenguaje y licencia | Versión al 21 de septiembre de 2026 |
|---|---|---|---|
| vinhnx/VTCode | Activo. Un agente de codificación para terminal escrito en Rust y dirigido por un solo mantenedor, con colaboradores externos reconocidos en el README. Se escribe "VT Code" en prosa, vtcode como binario y crate | Rust. "MIT OR Apache-2.0" según el README; GitHub detecta Apache-2.0 | CLI 0.165.0, publicado ese día; crates.io coincide |
| anomalyco/opencode | Activo. El OpenCode publicado en opencode.ai. github.com/sst/opencode ahora devuelve un 301 aquí y el pie de página del sitio dice "© 2026 Anomaly" | TypeScript. MIT | Dos líneas a la vez: versión v1.18.31 (14 de septiembre) y npm @opencode/cli 2.0.12 |
| opencode-ai/opencode | Archivado. La CLI de Go que continuó como Crush de Charm. No es el OpenCode de esta página; no tomes de él la configuración ni los precios | Go. MIT | Último push: 18 de septiembre de 2025 |
Metadatos del repositorio, versiones y dist-tags leídos de la API de GitHub, npm y crates.io el 21 de septiembre de 2026. Una cuarta colisión: "OpenCode Go" también es el nombre del plan de suscripción de $10 al mes de Anomaly, que no tiene nada que ver con el lenguaje Go ni con la CLI de Go archivada; y VT Code lo empeora al nombrar una de sus claves de proveedor integradas opencode-go. Observa también lo rápido que cambia la versión de VT Code: 0.164.0, 0.164.2 y 0.165.0 se publicaron en unas 27 horas entre el 20 y el 21 de septiembre, así que lee la etiqueta en lugar de confiar en una versión impresa en cualquier página, incluida esta.
Quién debería elegir cuál
| Si esto te describe | Elegir | Por qué, concretamente |
|---|---|---|
| Quieres que la puerta de enlace quede fijada en el repositorio para que cada clon y cada trabajo de CI la utilicen | OpenCode | Un opencode.json confirmado en la raíz del proyecto son datos normales del proyecto y registra el proveedor. VT Code rechaza el mismo procedimiento |
| Quieres lo contrario: un repositorio que clones nunca debe poder redirigir el tráfico de tus modelos | VT Code | Un [[custom_providers]] no vacío procedente de una capa de espacio de trabajo o proyecto se rechaza antes del registro del proveedor; es una capa con nombre dentro de su propio modelo de seguridad |
| Quieres que el agente se detenga y pregunte antes de tocar cualquier cosa, de forma predeterminada | VT Code | Valores predeterminados documentados: tools.default_policy "prompt", security.human_in_the_loop true, sandbox.default_policy "read_only", automation.full_auto.enabled false |
| Preferirías que avanzara y después se restringiera mediante patrones por herramienta | OpenCode | La mayoría de los permisos tienen como valor predeterminado "allow", mientras que doom_loop y external_directory están configurados como "ask"; las reglas son patrones glob por herramienta y gana la última coincidencia |
| Necesitas algo más que una terminal: una aplicación de escritorio, extensiones para editores, GitHub o GitLab | OpenCode | Incluye una aplicación de escritorio mediante brew install --cask opencode-desktop, además de una extensión para VS Code y sus bifurcaciones Cursor, Windsurf y VSCodium, que se instala automáticamente cuando ejecutas opencode en la terminal integrada |
| Quieres controlar el agente desde tu propio servicio mediante HTTP | OpenCode | opencode serve expone una especificación OpenAPI 3.1 en 127.0.0.1:4096 y el SDK se genera a partir de ella; la TUI es solo un cliente |
| Quieres un único binario estático con una lista de comandos permitidos estricta en lugar de una cadena de herramientas de Node | VT Code | Un único binario de Rust. La capa 1 de su modelo de seguridad permite nueve comandos — ls, cat, cp, head, printenv, pwd, rg, sed, which — y bloquea todo lo demás de forma predeterminada |
| Quieres $10 al mes fijos para un catálogo seleccionado en lugar de tokens medidos | OpenCode | OpenCode Go es ese producto, con límites por modelo y un suscriptor por espacio de trabajo. VT Code incluye la clave de proveedor, pero no figura en ninguna de las listas de clientes de Go |
| Quieres un único saldo prepago para las familias de modelos Claude y GPT de vanguardia | Cualquiera | Ambos aceptan un endpoint de terceros compatible con OpenAI sin restricciones del plan. Ninguno pone proveedores personalizados detrás de un muro de pago |
Sobre el coste de migración. La mitad barata es AGENTS.md: ambas herramientas lo leen desde la raíz del proyecto, así que el archivo que describe tus convenciones sobrevive intacto a un cambio en cualquier dirección. La mitad cara es todo lo demás. Los dos formatos de configuración son incompatibles: TOML con matrices de tablas frente a JSON que nombra un paquete npm por proveedor; no hay convertidor, por lo que una configuración local del proyecto debe reescribirse manualmente. Esta página no estableció si las definiciones de MCP, las habilidades, los complementos, los agentes personalizados o el historial de sesiones se trasladan, así que no estima el tiempo de migración más allá de esa reescritura.
La única asimetría que merece influir en la decisión: dónde puede vivir el endpoint
Esta es la diferencia que ninguna plantilla genérica menciona y que contradice la intuición habitual sobre los monorepos. OpenCode trata un proveedor personalizado como datos normales del proyecto: un opencode.json confirmado funciona, que es la forma de estandarizar a todo el equipo en una única puerta de enlace mediante un archivo revisado. VT Code lo rechaza deliberadamente.
La referencia de campos de configuración de VT Code lo establece en el propio campo: "Los valores no vacíos procedentes de capas de espacio de trabajo/proyecto controladas por el repositorio se rechazan; define los endpoints de los proveedores en la configuración de sistema/usuario de confianza o en una configuración seleccionada explícitamente." El mismo rechazo se repite en custom_providers[].base_url, en custom_providers[].auth.command y en provider_overrides.*.base_url y .api_key_env. Su modelo de seguridad explica el razonamiento como una capa propia: el cargador registra el origen ganador de cada campo combinado, trata los archivos de la raíz del espacio de trabajo, los archivos .vtcode/ del espacio de trabajo y los perfiles del proyecto como controlados por el repositorio, y falla de forma segura antes de validar el proveedor; según indica, esto impide que un repositorio introduzca el auth.command ejecutable de un proveedor personalizado o redirija las solicitudes mediante una URL base anulada.
La consecuencia práctica es la siguiente: con OpenCode, una solicitud de incorporación de cambios combinada dirige a todo el equipo a una puerta de enlace. Con VT Code, el mismo cambio es una instalación por máquina en la configuración del usuario o del sistema, o una ruta --config pasada al iniciar. Es una disyuntiva real: una opción ofrece comodidad de despliegue y la otra control de la cadena de suministro; la que prefieras es una razón más sólida para elegir un cliente aquí que cualquier lista de funciones. Ambos datos se leyeron de main el 21 de septiembre de 2026.
Permisos, autonomía y las superficies que incluye cada uno
| Comportamiento | VT Code | OpenCode |
|---|---|---|
| Postura predeterminada de las herramientas | Preguntar primero: tools.default_policy es "prompt" y security.human_in_the_loop es true | Principalmente permitir; read está permitido, pero los archivos .env se deniegan de forma predeterminada |
| Modo autónomo | Desactivado de forma predeterminada y con restricciones: require_profile_ack true, max_turns 100 y una lista explícita de herramientas permitidas | --auto aprueba todo lo que no se haya denegado explícitamente; las denegaciones explícitas siguen aplicándose |
| Entorno aislado | Documentado como una capa opcional con aislamiento del sistema de archivos y una lista de permitidos de red | No hay nada documentado: /docs/sandbox/ devuelve 404, y el sandbox que sí aparece es un complemento de Daytona de terceros en la lista del ecosistema de complementos. La ausencia de documentación no demuestra que el entorno de ejecución carezca de aislamiento |
| Gobernanza de proveedores | providers_whitelist restringe a qué proveedores se puede acceder, algo que la guía presenta como un control para configuraciones con puerta de enlace corporativa o aisladas de la red | whitelist y blacklist operan sobre los modelos dentro de un proveedor y los ocultan del selector /models |
| Alcance en editores | ACP mediante vtcode acp, una extensión de Zed dentro del repositorio y una extensión complementaria para VS Code en su propia serie de versiones | ACP mediante opencode acp, una aplicación de escritorio y extensiones que se instalan automáticamente desde la terminal integrada |
| Superficie sin supervisión | Subcomandos en un único binario — vtcode exec con eventos JSON, review, eval, schedule — además de un servidor compatible con Anthropic-Messages | Una separación cliente/servidor: opencode serve con una especificación OpenAPI 3.1 y un SDK generado a partir de ella |
Fuentes: la referencia de campos de configuración, el modelo de seguridad y la guía de proveedores de VT Code; y la documentación de permisos, proveedores, servidor y ACP de OpenCode. Todo se leyó el 21 de septiembre de 2026 y todo describe valores predeterminados; cualquiera de los clientes puede reconfigurarse en la otra dirección. Ambos hablan ACP y ambos admiten MCP, por lo que el alcance en editores está prácticamente igualado y no es un diferenciador.
El dinero se gasta en la cartera, no en el cliente
OpenCode vende dos cosas propias. VT Code no vende nada, lo cual también es un factor de decisión: cada token que envía lo factura quien hayas configurado y no hay ningún plan de primera parte al que recurrir
| Cartera | Precio publicado | Qué observar |
|---|---|---|
| VT Code | Ninguno. Sin cuentas, sin niveles, sin servicio alojado | La financiación consiste en patrocinio voluntario. Toda tu factura es la del endpoint al que lo dirijas |
| OpenCode Go | "una suscripción de bajo coste de $10 al mes" para un catálogo publicado de modelos de codificación abiertos, que la misma página dice que "puede cambiar a medida que probemos y añadamos nuevos modelos" | No es ilimitado. Cada modelo tiene un límite mensual expresado en dólares de uso, publicado entre $15 y $60; el límite de 5 horas equivale al 20 % de este y el semanal al 50 %. Un miembro por espacio de trabajo puede suscribirse |
| OpenCode Zen | Crédito prepago de pago por uso, por millón de tokens | Recarga automáticamente $20 cuando el saldo baja de $5, salvo que lo cambies o desactives; las comisiones de tarjeta se repercuten al 4.4 % más $0.30 por transacción. Su documentación también señala que aparecen modelos baratos en tu historial de uso porque Zen los utiliza para generar títulos de sesión |
| Cualquier endpoint de terceros | Las tarifas de ese proveedor | Compatible con ambos clientes sin restricciones del plan. Zen y Go se describen en la propia documentación de OpenCode como completamente opcionales |
Precios y cuotas leídos de la documentación propia de OpenCode el 21 de septiembre de 2026. Conviene saber dos cosas antes de compararlos. Go publica términos de datos por modelo que no son uniformes: la mayoría de las filas indican que no se utiliza el modelo para entrenamiento y que la retención es de cero días, mientras que algunas indican una retención de 30 días y dos modelos de colaboradores aparecen marcados como utilizados para entrenamiento y sin retención cero; comprueba la fila del modelo que quieras utilizar. Además, Zen publica descontinuaciones fechadas, por lo que una comparación anclada a un único ID de modelo puede quedar obsoleta más rápido que la página en la que aparece. OpenCode Enterprise es un formulario de contacto sin precio publicado, y esta página no cita ninguno
Cuánto cuesta una sesión en tu propio endpoint
Las cifras siguientes son aritmética ilustrativa de tokens, no costes medidos de tareas ni un límite máximo de facturación. Supón una sesión de agente que envía 200,000 tokens de entrada sin caché y recibe 15,000 tokens de salida: una suposición para comparar, no una medición de tu repositorio. Las tarifas son precios actuales del catálogo de Kunavo por millón de tokens; la última columna simplemente divide, por lo que hereda todas las suposiciones anteriores.
| Modelo | Entrada/salida por 1M | Estimación para una sesión | Sesiones por cada $10 de crédito |
|---|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $0.192 | 51 |
| GPT-5.6 Terra | $0.70 / $4.20 | $0.203 | 49 |
| Claude Sonnet 4.6 | $2.10 / $10.50 | $0.578 | 17 |
| Claude Sonnet 5 | $1.40 / $7.00 | $0.385 | 25 |
Compara esa última columna con los $10 al mes de OpenCode Go y después resiste la tentación de considerarla un veredicto. No son la misma unidad: los límites de Go están expresados en dólares de uso de su catálogo, no en dólares que gastas, y las dos categorías solo se solapan parcialmente: GPT 5.6 Luna aparece en la lista publicada de Go, mientras que las filas de Claude y Gemini de la tabla anterior no. Una suscripción también compra previsibilidad, no una tarifa. Lo que la tabla sí resuelve es la forma de la pregunta: si tu trabajo consiste en unas pocas sesiones largas por semana con un modelo barato, los tokens medidos llegan antes; si es un uso intensivo durante todo el día con modelos que Go realmente ofrece, un plan fijo deja de ser claramente peor. Mide tus propias sesiones antes de elegir, porque un modelo que necesita un segundo intento elimina inmediatamente la ventaja de una tarifa.
El importe del catálogo de Kunavo es un mínimo de facturación, no un límite: cuando el proveedor ascendente informa de su cargo, la factura es el mayor 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 de $10 en crédito prepago — un mínimo de financiación, no una tarifa por tarea ni una suscripción. Consulta detalles de facturación.
Dirigir cualquiera de los dos a tu propio endpoint
El lado de VT Code es un bloque [[custom_providers]], y la regla de ubicación de la sección anterior es lo que la gente suele hacer mal:
# This block is rejected if it arrives from a repository-controlled
# layer. Put it in your user config, in the Unix system layer
# (/etc/vtcode/vtcode.toml), or pass it with --config / VTCODE_CONFIG_PATH.
[[custom_providers]]
name = "kunavo"
display_name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
api_key_env = "KUNAVO_API_KEY"
api_format = "openai-chat"
model = "claude-sonnet-5"
models = ["claude-sonnet-5", "claude-haiku-4-5"]
context_window = 1000000 # omit this and VT Code assumes 128000Cuatro notas sobre ese bloque, todas procedentes de la guía de proveedores y de la referencia de campos. La clave se lee de la variable de entorno indicada en api_key_env, y la documentación de configuración incluye una advertencia explícita de no poner nunca claves de API en vtcode.toml. api_format acepta auto, openai-chat, openai-responses o anthropic-messages; se respeta un valor explícito en lugar de recurrir silenciosamente a un valor alternativo; y la ruta de Anthropic merece una revisión aparte porque las dos convenciones de URL base difieren, como explica la referencia de URL base. Configurar context_window es importante: si lo omites, se supone que son 128,000 tokens, lo que limita silenciosamente la compactación y las comprobaciones previas en un contexto mucho mayor. Además, VT Code aplica puertas de muestreo de OpenAI basadas en el nombre también a los endpoints personalizados: por ejemplo, un ID de modelo que coincida con gpt-6-astra nunca recibe temperature ni top_p; el consejo de la propia guía es "preferir IDs de modelo neutrales en las puertas de enlace si necesitas valores fijados para esos nombres".
El equivalente de OpenCode es un archivo de datos, y el campo npm es el que selecciona el formato de comunicación: @ai-sdk/openai-compatible para un endpoint que ofrece /v1/chat/completions, @ai-sdk/openai para /v1/responses:
{
"$schema": "https://opencode.ai/config.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-5": {
"name": "Claude Sonnet 5",
"limit": { "context": 1000000, "output": 128000 }
}
}
}
}
}OpenCode también puede anular el baseURL de un proveedor integrado en lugar de declarar uno personalizado; su documentación indica que los metadatos de los modelos de los proveedores conocidos proceden de Models.dev, por lo que un proveedor declarado manualmente debe proporcionar su propio limit; y las claves añadidas mediante el comando /connect se guardan en ~/.local/share/opencode/auth.json. Kunavo publica una página de configuración para este cliente: la guía de integración de OpenCode. Aquí no hay una página de integración de VT Code, y el bloque TOML anterior es una referencia de configuración reunida a partir de las definiciones de campos documentadas de VT Code: ninguno de los dos clientes se ha probado en tiempo de ejecución con Kunavo y no se afirma compatibilidad para ninguno. Mantén disponible una ruta funcional, ejecuta una tarea acotada y lee el cargo registrado en tu cuenta antes de cambiar tu herramienta diaria. Crea una cuenta de Kunavo cuando estés listo para financiar una clave.
Una advertencia de instalación que puede costar tiempo real. El paquete público de npm llamado vtcode no es el VT Code actual: su dist-tag latest era 0.52.8, publicado el 24 de diciembre de 2025, mientras que crates.io estaba en 0.165.0 el 21 de septiembre de 2026. La documentación de instalación de VT Code indica una ruta npm diferente: npm install -g @vinhnx/vtcode --registry=https://npm.pkg.github.com, junto con cargo install vtcode y un tap de Homebrew que necesita brew trust vinhnx/tap antes de brew install vinhnx/tap/vtcode. El mismo documento advierte que los artefactos para Windows se ofrecen con los mejores esfuerzos y pueden no aparecer en todas las versiones, mientras que la propia página de instalación de OpenCode recomienda WSL en Windows; por tanto, ninguno es una herramienta de primera clase para Windows según su propia documentación
¿Comparas más allá? Crush frente a OpenCode compara el mismo OpenCode con el agente de Charm, precios de OpenCode profundiza en Zen y Go, y la referencia de la API compatible con OpenAI cubre la convención de endpoint en la que se basan ambos clientes
Preguntas frecuentes
¿VT Code es lo mismo que VS Code?
No, y los resultados de búsqueda los mezclan constantemente. VT Code es un agente de programación para terminal escrito en Rust, distribuido como el binario vtcode desde github.com/vinhnx/VTCode y como el crate vtcode en crates.io. Visual Studio Code es el editor de Microsoft. La confusión empeora porque VT Code publica su propia extensión complementaria para VS Code, cuyo nombre visible en el manifiesto de la extensión es literalmente "VT Code"; además, esa extensión utiliza su propia serie de versiones, 0.50.14 en el repositorio el 21 de septiembre de 2026, mientras que la CLI estaba en 0.165.0 ese mismo día. Por tanto, "VT Code 0.50" significa la extensión del editor, nunca el agente. Comprueba a qué artefacto pertenece un número de versión antes de fijarlo.
¿Qué OpenCode estoy instalando, v1 o v2?
Depende completamente de la página que hayas seguido, y el 21 de septiembre de 2026 ambas versiones estaban vigentes. El README del repositorio y la introducción de la documentación siguen distribuyendo la línea v1: curl -fsSL https://opencode.ai/install | bash, o npm install -g opencode-ai, cuyo dist-tag latest era 1.18.31, publicado el 14 de septiembre de 2026, la entrada más reciente de GitHub Releases. La página de inicio de marketing y opencode.ai/download promocionan únicamente v2: curl -fsSL https://opencode.ai/v2/install | bash, npm install -g @opencode/cli o brew install anomalyco/tap/opencode-v2. El paquete npm @opencode/cli tenía el dist-tag latest 2.0.12, coincidente con la etiqueta v2.0.12 del repositorio, y ninguna etiqueta v2 tiene una entrada en GitHub Releases. Ninguna de las dos líneas es una beta en el sentido habitual, y no se encontró ningún anuncio oficial fechado que declarase v2 generalmente disponible; por tanto, comprueba el nombre del paquete que realmente estás instalando en lugar de confiar en un número de versión citado en cualquier parte.
¿Cuál es más barato, VT Code u OpenCode?
Ningún cliente cobra nada, así que el precio del cliente está empatado en cero. OpenCode tiene licencia MIT. El README de VT Code indica que el código propio está bajo MIT O Apache-2.0, mientras que la detección de licencias de GitHub informa de Apache-2.0, y su única superficie monetaria son los patrocinios voluntarios. En ambos casos pagas los tokens del modelo en el endpoint que configures. La diferencia de coste se crea después: OpenCode incluye dos carteras propias de primera parte: créditos OpenCode Zen de pago por uso y una suscripción OpenCode Go de 10 $ al mes con límites de uso publicados por modelo; VT Code no tiene cuentas, niveles ni servicio alojado, por lo que cada token que envía lo factura otra entidad. Ten en cuenta también que la tarifa más baja de la lista y el menor coste para completar una tarea son preguntas diferentes: un modelo que necesita tres intentos puede costar más que otro más caro que acierta a la primera.
¿Puedo dirigir VT Code a una puerta de enlace personalizada compatible con OpenAI?
Sí, mediante una entrada [[custom_providers]] en vtcode.toml, y hay una regla que sorprende a la gente. La referencia de campos de configuración de VT Code indica que se rechazan los valores no vacíos de custom_providers procedentes de las capas de espacio de trabajo o proyecto controladas por el repositorio, y que los endpoints de proveedores deben definirse en la configuración de confianza del sistema o del usuario, o en un archivo de configuración seleccionado explícitamente. Por tanto, un vtcode.toml confirmado en la raíz del repositorio no registrará una puerta de enlace. Usa la configuración de usuario de la plataforma, la capa del sistema Unix en /etc/vtcode/vtcode.toml o pasa --config. La entrada necesita un name, un display_name y un base_url; la clave se lee de la variable de entorno que nombres en api_key_env; y api_format acepta auto, openai-chat, openai-responses o anthropic-messages, y la documentación indica que se respeta un valor explícito sin recurrir silenciosamente a otro. Configura también context_window, porque un valor omitido toma por defecto 128000 tokens y esa cifra determina la visualización del contexto, la compactación automática y las comprobaciones previas.
¿Puedo usar una suscripción OpenCode Go desde VT Code?
VT Code incluye la conexión; OpenCode no ha validado VT Code como cliente, y esas son dos afirmaciones distintas. La guía de proveedores de VT Code documenta opencode-go como una clave de proveedor integrada con OPENCODE_GO_API_KEY y la URL base https://opencode.ai/zen/go/v1, junto con opencode-zen. Por otro lado, la documentación de OpenCode Go indica que el tráfico se supervisa para detectar abusos, pide a los clientes que se identifiquen con su propio agente de usuario y que envíen un ID de sesión estable en una cabecera x-opencode-session, y publica una tabla de clientes validados que incluye Hermes, Claude Code, Codex, ZCode, Pi, jcode y Kilo Code CLI, además de una tabla de clientes con problemas conocidos que incluye DeepSeek Harness, GitHub Copilot Chat, Kimi Code y MiMo Code. VT Code no aparece en ninguna de las dos tablas, y la propia salvedad de OpenCode es que no garantiza que los clientes enumerados sigan funcionando. La ausencia de una lista no demuestra que algo no funcione, y esta página no tiene pruebas en ningún sentido. Presupuesta también la regla de plazas: solo un miembro por espacio de trabajo puede suscribirse a OpenCode Go.
¿Qué dificultad tiene migrar entre VT Code y OpenCode?
Las instrucciones del proyecto son la mitad barata y la configuración es la mitad cara. Ambas herramientas leen un AGENTS.md en la raíz del proyecto: VT Code lo carga en cada turno y crea uno con vtcode init, mientras que OpenCode genera uno con /init y te indica que lo confirmes; por tanto, el archivo que describe tus convenciones se puede trasladar sin cambios. Nada más. VT Code lee TOML con bloques de proveedores en forma de matriz de tablas y combina nueve capas de configuración, desde los valores predeterminados integrados hasta las capas del sistema, usuario, perfil del proyecto, espacio de trabajo y una ruta --config explícita, combinando profundamente las tablas, mientras que los escalares y las matrices son sustituidos por la capa superior. OpenCode lee un archivo de datos opencode.json cuyas entradas de proveedor nombran un paquete npm del AI SDK para cada formato de cable. No existe ningún conversor, así que una configuración local del proyecto debe reescribirse manualmente. Lo que esta página no pudo establecer es si las definiciones de servidores MCP, las habilidades, los plugins, las definiciones de agentes personalizados o el historial de sesiones se trasladan de alguna forma; por eso no afirma cuánto tarda una migración más allá de reescribir la configuración.
¿VT Code es lo bastante estable como para estandarizarlo en un equipo?
Lee primero la propia nota de estado del proyecto: el README indica que está en desarrollo activo, con algunos flujos de automatización experimentales y sujetos a cambios entre versiones. La cadencia lo confirma en lugar de contradecirlo: el 20 y el 21 de septiembre de 2026, el proyecto publicó 0.164.0, 0.164.2 y 0.165.0, tres versiones en unas 27 horas, y el registro de crates.io avanzó con ellas. El README dice que se desarrolla y mantiene en el tiempo libre, con GitHub Sponsors y Buy Me a Coffee como únicas vías de financiación; aunque el mismo README agradece a una lista de colaboradores externos, uno de ellos acreditado con 52 commits, por lo que es el proyecto de una persona mantenedora y no el código de una sola persona. La escala es la otra asimetría: 852 estrellas frente a las 209.102 de OpenCode el mismo día. Las estrellas miden atención, no calidad, pero un proyecto de tiempo libre dirigido por una persona mantenedora y otro mantenido por una empresa implican riesgos distintos de dependencia de una sola persona; esa es una cuestión de compras, no técnica. Ambos repositorios estaban activos ese día.
Comprobado el 21 de septiembre de 2026: la API de GitHub para los tres repositorios, además de la lista de versiones de VT Code; los dist-tags de npm para opencode-ai, @opencode/cli y vtcode; el registro de crates.io para vtcode; el README, el modelo de seguridad, la guía de proveedores, la referencia de campos de configuración, el documento de instalación y el manifiesto de la extensión de VS Code de VT Code en main; y las páginas de permisos, proveedores, servidor, Zen, Go y descargas de OpenCode. Las tarifas de tokens de Kunavo proceden del catálogo actual. Ninguno de los dos clientes se instaló, ejecutó ni dirigió a un endpoint de Kunavo para esta página; no se realizó ninguna comparación de referencia o rendimiento, ni se afirma ninguna; cada cifra en dólares aquí es aritmética ilustrativa de tokens, no un coste medido de una tarea