Ferramentas de código

Visual Studio Code

Use modelos da TokenLab no chat do VS Code com o provedor Custom Endpoint

Visão geral

O chat do VS Code pode usar seu próprio provedor de modelos por meio do Custom Endpoint (bring your own key). Esta página conecta a TokenLab pela API Chat Completions.

  • O chat não precisa de um plano do Copilot. Os modelos BYOK do VS Code funcionam sem login no GitHub.
  • Alguns recursos ainda precisam do GitHub: sugestões inline (autocompletar código), busca semântica e outros recursos baseados em embeddings não são atendidos por modelos BYOK. Uma chave da TokenLab não os substitui.
  • Usuários do Copilot Business ou Enterprise: o administrador precisa permitir a política Bring Your Own Language Model Key in VS Code.

Requisitos

  • Uma versão estável recente do VS Code com a visualização Chat.
  • Uma chave de API da TokenLab (obter uma).
  • Um modelo que aceite openai_chat_completions e suporte chamada de ferramentas (o modo agente só lista modelos com chamada de ferramentas). A página de um modelo mostra as duas coisas: Chat Completions API em Formato de API e Tool use em Recursos, por exemplo GPT-5.6 Luna.

Adicionar a TokenLab

  1. Abra o seletor de modelos na visualização Chat e escolha Manage Language Models (ícone de engrenagem), ou execute Chat: Manage Language Models na paleta de comandos.
  2. Selecione Add Models → Custom Endpoint.
  3. O VS Code pede um Group Name. O campo vem preenchido com Custom Endpoint; troque por TokenLab e pressione Enter.
  4. Em seguida abre uma caixa com o título TokenLab: API Key. Cole sua chave de API da TokenLab e pressione Enter. O VS Code guarda a chave no armazenamento de segredos (secret storage).
  5. Se o VS Code perguntar o tipo de API, selecione Chat Completions. Esta etapa pode não aparecer; apiType no arquivo abaixo define isso de qualquer forma.
  6. O VS Code abre chatLanguageModels.json. Mantenha a linha apiKey gerada pelo assistente (ela aponta para a chave no armazenamento de segredos), confira se apiType é chat-completions e edite a lista models para ficar igual à entrada abaixo; depois salve.

Informe a chave no assistente. Uma chave digitada diretamente em chatLanguageModels.json não é enviada, e as requisições falham por falta do cabeçalho 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
      }
    ]
  }
]

Observações:

  • Escreva a URL completa, incluindo /chat/completions. O VS Code usa como está uma URL com caminho de API explícito.
  • Com o tipo Chat Completions, o VS Code envia Authorization: Bearer <key>, que é o que a TokenLab espera. Não adicione um cabeçalho de autenticação personalizado.
  • id é o ID do modelo da TokenLab enviado na requisição. Use qualquer modelo disponível cujo accepted_request_formats inclua openai_chat_completions.
  • Limites de tokens: o VS Code trata maxInputTokens + maxOutputTokens como a janela de contexto. Os valores acima são conservadores; você pode aumentá-los até os limites mostrados na página do modelo. Contextos maiores custam mais por requisição.
  • Se o modelo não aparecer no seletor, reinicie o VS Code.

Sem login no GitHub

Geração de títulos, mensagens de commit e outras tarefas "utility" em segundo plano usam modelos do GitHub Copilot por padrão. Sem login no Copilot, defina chat.utilityModel e chat.utilitySmallModel como um modelo da TokenLab (um rápido e barato para o modelo pequeno), ou defina chat.byokUtilityModelDefault como Main Agent Model. Essas chamadas em segundo plano são cobradas do seu saldo na TokenLab.

Verificar

  1. Selecione GPT-5.6 Luna (TokenLab) no seletor de modelos (um modelo de baixo custo, bom para o primeiro teste).
  2. Faça primeiro uma pergunta somente leitura, por exemplo: Summarize the top-level structure of this workspace. Do not modify files.
  3. Confira a resposta e o registro da requisição correspondente antes de executar tarefas de agente.

Salvar a configuração ou listar os modelos não prova que a chave funciona. Um prompt consome saldo da TokenLab.

Solução de problemas

  • Cabeçalho Authorization ausente: a chave não está no armazenamento de segredos. Execute Add Models → Custom Endpoint novamente e informe a chave no assistente, não no arquivo JSON.
  • 401 / falha de autenticação: informe a chave novamente em Manage Language Models → ícone de engrenagem ao lado do grupo TokenLab.
  • Modelo não encontrado: id deve ser um ID de modelo da TokenLab exato; confira a página do modelo.
  • Modelo ausente no modo agente: defina "toolCalling": true e use um modelo que suporte ferramentas.
  • Tipos de API Messages ou Responses: ainda não cobertos nesta página; use Chat Completions.

Não faça commit de chaves de API em chatLanguageModels.json nem em qualquer arquivo rastreado pelo Git; mantenha ${input:...} no arquivo.

Nesta página