TokenLab

코딩 도구

Visual Studio Code

Custom Endpoint 공급자로 VS Code 채팅에서 TokenLab 모델 사용하기

개요

VS Code 채팅은 Custom Endpoint(BYOK, 자체 키 사용)를 통해 원하는 모델 공급자를 사용할 수 있습니다. 이 페이지에서는 Chat Completions API로 TokenLab을 연결합니다.

  • 채팅에는 Copilot 플랜이 필요하지 않습니다. VS Code의 BYOK 모델은 GitHub에 로그인하지 않아도 작동합니다.
  • 일부 기능은 여전히 GitHub가 필요합니다: 인라인 제안(코드 완성), 시맨틱 검색 및 기타 임베딩 기반 기능은 BYOK 모델이 제공하지 않습니다. TokenLab 키로 대체할 수 없습니다.
  • Copilot Business 또는 Enterprise 사용자: 관리자가 Bring Your Own Language Model Key in VS Code 정책을 허용해야 합니다.

요구 사항

  • Chat 보기가 있는 최신 안정 버전 VS Code.
  • TokenLab API 키(발급받기).
  • openai_chat_completions를 지원하고 도구 호출이 가능한 모델(에이전트 모드에는 도구 호출을 지원하는 모델만 표시됩니다). 모델 상세 페이지에서 두 가지를 모두 확인할 수 있습니다. API 형식에 Chat Completions API, 기능에 Tool use가 표시됩니다. 예: GPT-5.6 Luna.

TokenLab 추가하기

  1. Chat 보기에서 모델 선택기를 열고 Manage Language Models(톱니바퀴 아이콘)를 선택하거나, 명령 팔레트에서 Chat: Manage Language Models를 실행합니다.
  2. Add Models → Custom Endpoint를 선택합니다.
  3. VS Code가 Group Name을 묻습니다. 입력란에 Custom Endpoint가 미리 채워져 있으니 TokenLab으로 바꾸고 Enter를 누릅니다.
  4. 곧바로 TokenLab: API Key라는 입력창이 열립니다. TokenLab API 키를 붙여 넣고 Enter를 누릅니다. VS Code는 키를 보안 저장소(secret storage)에 보관합니다.
  5. VS Code가 API 유형을 물으면 Chat Completions를 선택합니다. 이 단계는 나타나지 않을 수 있으며, 어느 경우든 아래 파일의 apiType으로 설정됩니다.
  6. VS Code가 chatLanguageModels.json을 엽니다. 마법사가 생성한 apiKey 줄(보안 저장소의 키를 가리킴)은 그대로 두고, apiType이 chat-completions인지 확인한 뒤 models 목록을 아래 항목에 맞게 수정하고 저장합니다.

키는 마법사에서 입력하세요. chatLanguageModels.json에 직접 입력한 키는 전송되지 않으며, 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
      }
    ]
  }
]

참고:

  • /chat/completions까지 포함한 전체 URL을 입력하세요. API 경로가 명시된 URL은 VS Code가 그대로 사용합니다.
  • Chat Completions 유형에서는 VS Code가 Authorization: Bearer <key>를 보내며, 이것이 TokenLab이 요구하는 방식입니다. 사용자 지정 인증 헤더를 추가하지 마세요.
  • id는 요청에 전송되는 TokenLab 모델 ID입니다. accepted_request_formats에 openai_chat_completions가 포함된 제공 중인 모델이면 무엇이든 사용할 수 있습니다.
  • 토큰 한도: VS Code는 maxInputTokens + maxOutputTokens를 컨텍스트 윈도로 취급합니다. 위 값은 보수적으로 잡은 값이며, 모델 상세 페이지에 나온 한도까지 올릴 수 있습니다. 컨텍스트가 클수록 요청당 비용이 커집니다.
  • 모델이 선택기에 나타나지 않으면 VS Code를 다시 시작하세요.

GitHub 로그인 없이 사용할 때

제목 생성, 커밋 메시지 등 백그라운드 "utility" 작업은 기본적으로 GitHub Copilot 모델을 사용합니다. Copilot에 로그인하지 않았다면 chat.utilityModel과 chat.utilitySmallModel을 TokenLab 모델(small에는 빠르고 저렴한 모델)로 설정하거나, chat.byokUtilityModelDefault를 Main Agent Model로 설정하세요. 이러한 백그라운드 호출은 TokenLab 잔액에서 청구됩니다.

확인하기

  1. 모델 선택기에서 GPT-5.6 Luna (TokenLab) 모델을 선택합니다(저비용 모델로 첫 테스트에 적합합니다).
  2. 먼저 읽기 전용 질문을 합니다. 예: Summarize the top-level structure of this workspace. Do not modify files.
  3. 에이전트 작업을 실행하기 전에 응답과 해당 요청 기록을 확인합니다.

구성을 저장하거나 모델 목록을 불러오는 것만으로는 키가 작동한다는 것이 증명되지 않습니다. 프롬프트를 보내면 TokenLab 잔액이 사용됩니다.

문제 해결

  • Authorization 헤더 누락: 키가 보안 저장소에 없습니다. Add Models → Custom Endpoint를 다시 실행하고 JSON 파일이 아닌 마법사에서 키를 입력하세요.
  • 401 / 인증 실패: Manage Language Models → TokenLab 그룹 옆 톱니바퀴 아이콘에서 키를 다시 입력하세요.
  • 모델을 찾을 수 없음: id는 정확한 TokenLab 모델 ID여야 합니다. 모델 상세 페이지를 확인하세요.
  • 에이전트 모드에 모델이 없음: "toolCalling": true를 설정하고 도구 사용을 지원하는 모델을 사용하세요.
  • Messages 또는 Responses API 유형: 이 페이지에서는 아직 다루지 않습니다. Chat Completions를 사용하세요.

API 키를 chatLanguageModels.json이나 Git으로 추적되는 파일에 커밋하지 마세요. 파일에는 ${input:...}을 유지하세요.

이 페이지의 내용