Herramientas de código

Visual Studio Code

Usa modelos de TokenLab en el chat de VS Code con el proveedor Custom Endpoint

Descripción general

El chat de VS Code puede usar tu propio proveedor de modelos mediante Custom Endpoint (bring your own key). Esta página conecta TokenLab a través de la API Chat Completions.

  • El chat no necesita un plan de Copilot. Los modelos BYOK de VS Code funcionan sin iniciar sesión en GitHub.
  • Algunas funciones siguen necesitando GitHub: las sugerencias en línea (autocompletado de código), la búsqueda semántica y otras funciones basadas en embeddings no las sirven los modelos BYOK. Una clave de TokenLab no las sustituye.
  • Usuarios de Copilot Business o Enterprise: tu administrador debe permitir la directiva Bring Your Own Language Model Key in VS Code.

Requisitos

  • Una versión estable reciente de VS Code con la vista Chat.
  • Una clave de API de TokenLab (obtener una).
  • Un modelo que acepte openai_chat_completions y admita llamadas a herramientas (el modo agente solo muestra modelos con llamadas a herramientas). La página de un modelo muestra ambas cosas: Chat Completions API en Formato de API y Tool use en Capacidades, por ejemplo GPT-5.6 Luna.

Añadir TokenLab

  1. Abre el selector de modelos en la vista Chat y elige Manage Language Models (icono de engranaje), o ejecuta Chat: Manage Language Models desde la paleta de comandos.
  2. Selecciona Add Models → Custom Endpoint.
  3. VS Code pide un Group Name. El campo viene rellenado con Custom Endpoint; cámbialo por TokenLab y pulsa Intro.
  4. Enseguida se abre un cuadro titulado TokenLab: API Key. Pega tu clave de API de TokenLab y pulsa Intro. VS Code guarda la clave en su almacenamiento de secretos (secret storage).
  5. Si VS Code pregunta por un tipo de API, selecciona Chat Completions. Es posible que este paso no aparezca; apiType en el archivo de abajo lo define en cualquier caso.
  6. VS Code abre chatLanguageModels.json. Conserva la línea apiKey que generó el asistente (apunta a la clave en el almacenamiento de secretos), comprueba que apiType sea chat-completions y edita la lista models para que coincida con la entrada de abajo; luego guarda.

Introduce la clave en el asistente. Una clave escrita directamente en chatLanguageModels.json no se envía y las solicitudes fallan por falta del encabezado Authorization.

[
  {
    "name": "TokenLab",
    "vendor": "customendpoint",
    "apiKey": "${input:tokenlabApiKey}",
    "apiType": "chat-completions",
    "models": [
      {
        "id": "gpt-5.6-luna",
        "name": "GPT-5.6 Luna (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      },
      {
        "id": "claude-sonnet-5-5",
        "name": "Claude Sonnet 5.5 (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": true,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      },
      {
        "id": "gpt-6.1-sol",
        "name": "GPT-6.1 Sol (TokenLab)",
        "url": "https://api.tokenlab.sh/v1/chat/completions",
        "toolCalling": true,
        "vision": false,
        "maxInputTokens": 200000,
        "maxOutputTokens": 32000
      }
    ]
  }
]

Notas:

  • Escribe la URL completa, incluido /chat/completions. VS Code usa tal cual una URL con una ruta de API explícita.
  • Con el tipo Chat Completions, VS Code envía Authorization: Bearer <key>, que es lo que espera TokenLab. No añadas un encabezado de autenticación personalizado.
  • id es el ID del modelo de TokenLab que se envía en la solicitud. Usa cualquier modelo disponible cuyo accepted_request_formats incluya openai_chat_completions.
  • Límites de tokens: VS Code trata maxInputTokens + maxOutputTokens como la ventana de contexto. Los valores de arriba son conservadores; puedes subirlos hasta los límites que indica la página del modelo. Los contextos más grandes cuestan más por solicitud.
  • Si el modelo no aparece en el selector, reinicia VS Code.

Sin iniciar sesión en GitHub

La generación de títulos, los mensajes de commit y otras tareas "utility" en segundo plano usan por defecto modelos de GitHub Copilot. Sin sesión de Copilot, configura chat.utilityModel y chat.utilitySmallModel con un modelo de TokenLab (uno rápido y económico para el modelo pequeño), o configura chat.byokUtilityModelDefault como Main Agent Model. Estas llamadas en segundo plano se cobran de tu saldo de TokenLab.

Verificar

  1. Selecciona GPT-5.6 Luna (TokenLab) en el selector de modelos (un modelo de bajo coste, adecuado para una primera prueba).
  2. Haz primero una pregunta de solo lectura, por ejemplo: Summarize the top-level structure of this workspace. Do not modify files.
  3. Revisa la respuesta y su registro de solicitud correspondiente antes de ejecutar tareas de agente.

Guardar la configuración o listar los modelos no demuestra que la clave funcione. Un prompt consume saldo de TokenLab.

Solución de problemas

  • Falta el encabezado Authorization: la clave no está en el almacenamiento de secretos. Vuelve a ejecutar Add Models → Custom Endpoint e introduce la clave en el asistente en lugar de en el archivo JSON.
  • 401 / error de autenticación: vuelve a introducir la clave desde Manage Language Models → icono de engranaje junto al grupo TokenLab.
  • Modelo no encontrado: id debe ser un ID de modelo de TokenLab exacto; consulta la página del modelo.
  • El modelo no aparece en el modo agente: configura "toolCalling": true y usa un modelo que admita herramientas.
  • Tipos de API Messages o Responses: aún no se tratan en esta página; usa Chat Completions.

No subas claves de API a chatLanguageModels.json ni a ningún archivo rastreado por Git; mantén ${input:...} en el archivo.

En esta página