Continue es una extensión de asistente de programación con IA de código abierto muy usada en VS Code y JetBrains. Admite claves de modelo propias y también puede conectarse a gateways de terceros mediante el protocolo compatible con OpenAI. Para los equipos en China, apuntar Continue a un gateway unificado permite fijar la ruta de acceso, centralizar la facturación y cambiar entre varios modelos.

Sin embargo, en 2026 Continue fue adquirida por Cursor y el repositorio del proyecto dejó de recibir mantenimiento activo. Todavía puede instalarse y usarse, pero conviene volver a entender su forma de configuración, las funciones disponibles y el riesgo a largo plazo. Este artículo ofrece instrucciones ejecutables en el orden de instalación, preparación, configuración, verificación y despliegue en equipo.

Estado: en junio de 2026, Cursor adquirió Continue; el repositorio del proyecto pasó a solo lectura y dejó de tener mantenimiento activo; el Hub gestionado y el servicio de inicio de sesión también se retiraron. La extensión aún puede instalarse y usarse, pero las versiones se detuvieron básicamente antes de la adquisición, así que los equipos deben incluir el riesgo de mantenimiento en su evaluación.

Marcas: Continue es una marca de Continue Dev, Inc.; Cursor es una marca de Anysphere, Inc. Este artículo solo ofrece una explicación técnica y no mantiene relación de afiliación ni de agencia con las empresas mencionadas; las funciones, la interfaz y los criterios de facturación se rigen por las páginas del proveedor y la versión instalada actual.

1. Cómo se puede usar Continue en 2026

Después de la adquisición, la parte que más cambió fue la nube. El antiguo Hub de Continue servía para alojar asistentes compartidos, bloques de configuración y sincronización de equipo; el inicio de sesión también dependía de él. Con el Hub fuera de servicio, esas capacidades ya no están disponibles y todas las referencias remotas con la forma uses: en la configuración pueden fallar al resolverse.

Las capacidades locales siguen intactas: la extensión se puede instalar, config.yaml se sigue leyendo y, al introducir tu propia clave, puedes llamar a interfaces compatibles con OpenAI, al protocolo de Anthropic o a modelos locales. Pasó de ser un proyecto activo con colaboración en la nube a una versión final de herramienta local que todavía funciona.

Esto deja dos conclusiones: los equipos que ya lo usan pueden continuar, pero deben congelar la versión, respaldar la configuración y preparar una alternativa; los equipos que planean adoptarlo deberían incluir el "fin del mantenimiento" como criterio de selección, y no fijarse solo en si es de código abierto o si admite varios modelos.

2. Instalación en VS Code y JetBrains

La ruta de instalación en VS Code es la más directa:

  1. Abre VS Code y pulsa Cmd/Ctrl + Shift + X para entrar en el panel de extensiones.
  2. Busca Continue, confirma que el editor es Continue y pulsa Instalar.
  3. Al terminar, aparecerá el icono de Continue en la barra lateral; puedes arrastrarlo a la barra derecha para preguntar mientras escribes código.
  4. Pulsa Cmd/Ctrl + L para abrir el Chat, o selecciona código y usa el mismo atajo para llevarlo a la conversación.

JetBrains requiere una mirada adicional. En 2026, el README del proyecto de Continue ya recomienda a los usuarios de JetBrains pasarse a Continue CLI; la versión final del plugin se distribuye mediante GitHub Releases, y su visibilidad en el marketplace cambia según la región y la versión. Los equipos que ya tienen el plugin pueden seguir usándolo, pero no conviene basar proyectos nuevos en un plugin que ya no se actualiza.

La CLI es una ruta alternativa más estable y lee el mismo config.yaml que la extensión del IDE:

# Requiere Node.js 20 o superior
npm install -g @continuedev/cli
cn --version
cn --config ~/.continue/config.yaml

3. Prepara la clave, la Base URL y el ID de modelo

Antes de configurar, prepara tres cosas: una clave del gateway, una dirección compatible y un ID de modelo exacto.

  1. Abre la página de registro de ZSQH AI Gateway, regístrate e inicia sesión en la consola.
  2. Entra en "API Keys", crea una clave nueva y pon en el nombre el usuario y el equipo, por ejemplo continue-zhang-macbook.
  3. Define un límite de gasto y una fecha de caducidad según tus necesidades. También conviene hacerlo en cuentas personales para evitar consumos anómalos.
  4. Copia la clave y guárdala en un gestor de contraseñas. La consola suele mostrarla completa una sola vez.
  5. Abre precios de modelos y copia el ID del modelo que vas a usar. Los modelos y los precios cambian; toma como referencia lo que muestre la página en ese momento.

Usa estos valores durante la configuración:

Base URL: https://ai.zhongshangqihang.com/v1
API Key:  sk-... (se crea en la consola y se guarda en .env o en el gestor de contraseñas)
Model:    el ID que muestre la página de precios de modelos en ese momento

La Base URL se escribe hasta /v1. No pongas la página principal del sitio ni añadas /chat/completions por tu cuenta; de lo contrario, el cliente volverá a concatenar la ruta y quedará duplicada.

4. Escribe config.yaml: provider y models

La configuración global de Continue está en ~/.continue/config.yaml (macOS/Linux) o %USERPROFILE%\.continue\config.yaml (Windows). Si existe config.yaml, se carga con prioridad sobre el antiguo config.json; no mezcles ambos formatos.

No conviene escribir la clave directamente en el YAML. Primero pon una línea en ~/.continue/.env, sin comillas en el valor:

ZSQH_API_KEY=sk-tu-clave-del-gateway

Después, haz referencia a ella desde config.yaml:

name: zsqh-continue
version: 0.0.1
schema: v1

models:
  - name: Modelo principal ZSQH
    provider: openai
    model: YOUR_MODEL_ID
    apiBase: https://ai.zhongshangqihang.com/v1
    apiKey: ${{ secrets.ZSQH_API_KEY }}
    roles: [chat, edit, apply]
    capabilities: [tool_use]

  - name: Modelo de autocompletado ZSQH
    provider: openai
    model: YOUR_FIM_MODEL_ID
    apiBase: https://ai.zhongshangqihang.com/v1
    apiKey: ${{ secrets.ZSQH_API_KEY }}
    roles: [autocomplete]

Qué significa cada campo:

  • provider: openai indica que las solicitudes se envían con el protocolo compatible con OpenAI; para un gateway compatible de terceros también se usa este valor.
  • apiBase sobrescribe la dirección predeterminada y se escribe hasta /v1.
  • apiKey se lee de .env mediante ${{ secrets.nombre }}.
  • roles determina qué funciones cubre el modelo; el valor predeterminado es [chat, edit, apply, summarize].
  • capabilities: [tool_use] permite que el modo Agent llame a herramientas; añádelo solo si el modelo del gateway realmente lo admite.

El modelo de autocompletado no es obligatorio. Configúralo así solo si la página de precios ofrece un modelo que admita FIM o una interfaz de autocompletado; de lo contrario, elimínalo o usa el autocompletado local de Ollama, y deja el chat y la edición en el gateway.

5. Verifica Chat, Edit y el autocompletado

Después de guardar la configuración, Continue suele recargarse automáticamente; si cambiaste .env, reinicia el IDE como recomienda la FAQ del proyecto. Luego verifica en este orden:

  1. Abre el Chat y selecciona explícitamente el modelo recién configurado en el selector; no uses la selección automática.
  2. Envía una solicitud corta, por ejemplo "explica esta función del archivo actual", y confirma que responde con normalidad.
  3. Abre el registro de uso o de solicitudes de la consola del gateway y confirma que aparece un registro con la misma hora, el mismo modelo y la misma clave.
  4. Selecciona un fragmento de código y pulsa Cmd/Ctrl + I para abrir Edit; pide un cambio pequeño y acepta o rechaza el diff.
  5. Crea un archivo nuevo, escribe un comentario o el inicio de una función y prueba el autocompletado con Tab; si no responde, revisa primero si el modelo autocomplete es un modelo FIM.
  6. Si configuraste tool_use, pide al Agent que lea un archivo y proponga cambios para confirmar que la llamada a herramientas funciona.

No basta con ver si el editor responde; toma como referencia el registro del gateway para confirmar que las solicitudes realmente pasaron por la API personalizada.

6. Cómo repartir los roles de modelo

Función Rol Requisitos del modelo Ten en cuenta
Chat chat Capacidad general de seguir instrucciones Preguntas en la barra lateral, explicación de código
Edición edit, apply Comprensión de código y cambios precisos Selecciona código y pulsa Cmd/Ctrl + I
Autocompletado autocomplete Entrenado para FIM y de baja latencia Los modelos de chat suelen completar mal
Agent chat con tool_use Admite llamadas a herramientas Debe declararse en capabilities
Búsqueda en el código embed Modelo de embeddings Afecta la disponibilidad de @Codebase

Un mismo modelo puede asumir chat, edit y apply a la vez; no hace falta crear una entrada para cada rol. Lo que sí conviene configurar por separado es el autocompletado: se activa con mucha frecuencia y sus requisitos de latencia y de capacidad FIM son distintos de los del chat. Si fuerzas un modelo de chat como autocomplete, lo habitual es que el autocompletado sea lento, demasiado largo o que directamente no aparezca.

Los embeddings y el reranking son capacidades opcionales; su disponibilidad depende del modelo y de la documentación de la interfaz.

7. Limitaciones y errores frecuentes

  • Las referencias remotas uses: pueden dejar de funcionar. Con el Hub fuera de servicio, los bloques de configuración compartidos ya no se resuelven; cámbialos por provider, model y apiKey en línea.
  • El autocompletado no aparece solo por configurarlo. El modelo debe admitir FIM o una interfaz de autocompletado; un modelo normal de Chat Completions no siempre sirve.
  • La longitud de contexto y las capacidades de un modelo personalizado no se detectan automáticamente. Si hace falta, decláralas manualmente con defaultCompletionOptions.contextLength y capabilities.
  • El modo Agent depende de las llamadas a herramientas. Si el gateway solo es compatible con la interfaz de chat, la conversación normal funcionará, pero el Agent puede fallar.
  • El proyecto ya no tiene mantenimiento activo. Las actualizaciones del IDE, los cambios de certificados del sistema y las actualizaciones de dependencias pueden causar problemas de compatibilidad; el equipo debe prever un plan de reversión.
  • La Base URL y el ID de modelo son las dos fuentes de error más habituales. En la primera se escribe /v1 de más o de menos; en el segundo no coinciden las mayúsculas o el sufijo de versión.
  • La extensión del IDE normalmente no lee las variables exportadas en la terminal. La clave debe estar en un archivo .env, no solo en la configuración del shell.

8. Lista de implementación para el equipo

  1. Congela una versión verificada y guarda el VSIX, el plugin de JetBrains o el instalador de la CLI para poder recuperar la misma versión más adelante.
  2. Crea claves en el gateway por persona y por dispositivo, con límite de gasto y caducidad; no uses una clave compartida por todo el equipo.
  3. Guarda la plantilla de config.yaml en el repositorio interno, deja ${{ secrets.nombre }} como marcador y añade .env a las reglas de exclusión.
  4. Elige de tres a cinco desarrolladores para una prueba de dos semanas y registra la tasa de éxito, la latencia media, la adopción del autocompletado y el consumo por persona.
  5. Mantén una tabla de correspondencia de modelos: uso, ID en la configuración, modelo equivalente en el gateway y modelo de respaldo en caso de fallo.
  6. Incluye el fin del mantenimiento de Continue en la evaluación trimestral y compara con antelación herramientas que sigan en desarrollo activo, conservando una ruta de migración.
  7. Cuando alguien deje el equipo, cambie de equipo o termine un proyecto, desactiva su clave ese mismo día y borra el .env local.

En cuanto al costo, primero ejecuta una semana con solicitudes reales y luego calcula con los datos vigentes de precios de modelos. Los precios cambian según el proveedor; no hagas presupuestos con capturas de pantalla antiguas.

9. Preguntas frecuentes

¿Se puede instalar Continue después de la adquisición?

Sí. La extensión de VS Code sigue disponible en el marketplace y la CLI también se puede instalar; para JetBrains, el README del proyecto ya recomienda usar la CLI. Poder instalarlo no significa que siga recibiendo mantenimiento; los proyectos nuevos deben evaluar el riesgo a largo plazo.

¿Hasta qué nivel se escribe la Base URL?

Hasta https://ai.zhongshangqihang.com/v1. No pongas la página principal del sitio ni añadas /chat/completions; de lo contrario, es fácil que la ruta se duplique o que aparezca un 404.

¿Por qué funciona el chat pero no el autocompletado con Tab?

El autocompletado necesita un modelo autocomplete independiente y que ese modelo admita FIM o una interfaz de autocompletado. Un modelo de chat puede conversar y aun así no completar código. Primero confirma si el gateway ofrece un modelo de autocompletado adecuado.

¿Una clave puede configurar varios modelos a la vez?

Sí. La clave es la credencial de autenticación y el modelo lo determina el campo model. Varias entradas de modelo pueden reutilizar la misma clave; si el equipo necesita contabilidad separada, divide las claves por rol o por proyecto.

¿Los usuarios de JetBrains deben instalar el plugin o usar la CLI?

Si el equipo ya tiene un plugin que funciona, puede seguir usándolo, pero debe congelar la versión. En entornos nuevos conviene seguir la recomendación del README del proyecto y usar Continue CLI, que lee el mismo config.yaml y tiene menor riesgo de mantenimiento.

Siguiente paso

Primero crea una clave de prueba en ZSQH AI Gateway, recorre Chat, Edit y el autocompletado con los ejemplos de este artículo y después distribuye la plantilla de configuración al equipo. La disponibilidad de modelos y los precios vigentes se rigen por precios de modelos.

Lecturas relacionadas: