문서

문서

GitHub Copilot CLI

Copilot CLI의 BYOK 방식은 환경 변수 네 개만 사용하며 GitHub 자체 문서에 따르면 GitHub 로그인도 필요하지 않습니다. Kunavo를 지정하면 에이전트가 AI 크레딧 대신 선불 잔액으로 실행되고, /delegate, GitHub MCP 서버, GitHub 코드 검색은 해당 로그인으로 계속 사용할 수 있습니다.

환경 변수 네 개 — COPILOT_PROVIDER_BASE_URL, COPILOT_PROVIDER_TYPE, COPILOT_PROVIDER_API_KEY, COPILOT_MODEL — 로 Copilot CLI를 자체 엔드포인트로 전환합니다. GitHub 문서에 따르면 BYOK에는 GitHub 로그인이 필요하지 않습니다

copilot을 시작하는 셸
# Set before you start Copilot CLI. Variable names and order are GitHub's;
# COPILOT_PROVIDER_BASE_URL and COPILOT_MODEL are the two marked Required.
export COPILOT_PROVIDER_BASE_URL=https://api.kunavo.com/v1   # see the note below
export COPILOT_PROVIDER_TYPE=openai                          # the default, shown for clarity
export COPILOT_PROVIDER_API_KEY=sk-kn-...
export COPILOT_MODEL=claude-sonnet-5

copilot
GitHub는 Copilot CLI가 어떤 경로를 덧붙이는지 명시하지 않았으므로, 위의 /v1는 규칙이 아니라 작성된 예시입니다. BYOK 페이지는 이 필드를 “모델 제공업체의 API 엔드포인트 기본 URL”로만 정의하며, 자체 예시도 두 가지 방식을 모두 보여 줍니다. 원격 OpenAI 호환 예시는 https://api.openai.com/v1이고 Ollama 및 Anthropic 예시는 출처만 표시한 기본 주소입니다. 이 페이지에서는 Kunavo가 해당하는 원격 OpenAI 호환 형식을 사용합니다. 요청이 404를 반환하면 접미사가 중복된 것이므로 이를 제거하고 https://api.kunavo.com를 사용하세요. 401는 키이지 URL이 아닙니다. 아래의 curl를 사용하면 CLI를 디버깅하기 전에 둘을 구분할 수 있습니다.
기존 ~/.copilot/providers.json 파일이 남아 있으면 내보낸 환경 변수보다 조용히 우선 적용됩니다. GitHub의 구성 디렉터리 참조 문서에 따르면 이 파일에 제공업체나 모델이 하나라도 선언되어 있으면 COPILOT_PROVIDER_* 변수보다 우선하며, 해당 변수를 레거시라고 부릅니다. 하지만 BYOK 사용 방법 문서에는 이 파일에 관한 설명이 없습니다. CLI가 방금 내보낸 기본 URL을 무시한다면 먼저 이 파일을 확인하세요. 같은 참조 문서는 이 파일을 providers 및 models 키가 있는 JSON 객체로만 설명하고 스키마는 공개하지 않았으므로, 여기에는 예시를 싣지 않았습니다. 자세한 내용은 GitHub에서 안내하는 copilot help providers를 참조하세요.
아래 날짜를 기준으로 GitHub 자체 문서를 확인해 작성한 구성입니다. Kunavo는 해당 엔드포인트를 대상으로 Copilot CLI를 실행해 본 적이 없습니다. 세션도, 스트리밍 턴도, 도구 왕복 호출도 테스트하지 않았으며, 이 계열의 다른 모든 클라이언트도 마찬가지입니다. 설정 안내 페이지는 테스트 결과가 아닙니다. GitHub는 BYOK 모델에 도구 호출 및 스트리밍 지원을 요구하며, 이를 지원하지 않으면 오류를 반환합니다. 따라서 첫 작업은 인사말을 보내는 대신 파일을 다루도록 하세요.
Kunavo는 임베딩, 텍스트 음성 변환 또는 음성 텍스트 변환 모델을 제공하지 않으므로 이 엔드포인트는 채팅 요청에만 응답합니다. GitHub 코드 검색, GitHub MCP 서버, /delegate는 BYOK 제공업체로 대체할 수 없는 GitHub 측 기능입니다. GitHub 문서에 따르면 로그인하지 않으면 사용할 수 없으며, 로그인과 제공업체 구성을 모두 하면 계속 사용할 수 있습니다.
아직 키가 없나요? Kunavo 계정을 만들고, 키를 생성한 다음(키는 sk-kn-로 시작합니다) $10부터 크레딧을 추가하세요. 호출 비용은 해당 잔액에서 차감되며 실패한 호출에는 요금이 부과되지 않습니다. 그러면 대시보드가 GitHub Copilot CLI 설정 화면에서 열립니다.

단계별 안내

  1. /app/keys에서 키를 생성해 복사하세요. 키는 한 번만 표시됩니다.
  2. 오래된 ~/.copilot/providers.json 파일(또는 COPILOT_PROVIDERS_CONFIG가 가리키는 파일)이 있는지 확인하세요. 여기에 제공업체나 모델이 선언되어 있다면 3단계의 모든 설정에 우선 적용됩니다.
  3. 위와 같이 COPILOT_PROVIDER_BASE_URL, COPILOT_PROVIDER_API_KEY, COPILOT_MODEL를 내보내세요. COPILOT_PROVIDER_TYPE의 기본값은 openai이며, GitHub는 이를 “다른 모든 OpenAI Chat Completions API 호환 엔드포인트”를 포괄한다고 설명합니다.
  4. 같은 셸에서 copilot를 시작하세요. 이 값은 시작할 때 읽으므로, 이전에 열어 둔 터미널에는 이전 값이 남아 있습니다.
  5. 파일을 읽고 수정하는 작업을 시키세요. Copilot CLI가 사용하려면 모델이 도구 호출과 스트리밍을 지원해야 하며, 이 두 가지를 모두 시험하는 첫 실행이 인사말보다 더 많은 정보를 줍니다. 두 ID를 비교하려면 한 번의 실행에 --model를 사용해 COPILOT_MODEL를 재정의하세요.

GitHub의 “GitHub Copilot CLI에서 자체 LLM 모델 사용하기”에서 확인했습니다(2026년 9월 21일 기준). 서드파티 설정은 변경될 수 있으므로, 여기의 필드 이름이 실제 화면과 다르면 이 문서가 아니라 해당 페이지를 기준으로 삼으세요.

이것이 요약본입니다. 전체 안내—모델 선택, 실제 세션 비용, 실패 유형—는 Copilot CLI와 Claude Code 비교 — BYOK 사용 범위와 두 가지 청구에 있습니다.

클라이언트를 디버깅하기 전에 확인할 사항

한 번의 요청으로 문제가 엔드포인트, 키 또는 구성 파일 중 어디에 있는지 판단할 수 있습니다. 이 요청에서 JSON이 반환되면 동일한 base URL과 키가 GitHub Copilot CLI에서 작동합니다.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

필드에 입력할 model id

모든 텍스트 모델은 model id로 접근할 수 있습니다. 현재 목록은 GET /v1/models이며, 가격이 포함된 카탈로그는 모델 페이지에서 확인할 수 있습니다. 요금은 토큰 100만 개당 USD 기준이며 입력 / 출력 순서입니다.

모델 IDKunavo 입력/출력GitHub Copilot CLI에서의 위치
claude-sonnet-5$1.40 / $7.00파일을 편집하는 세션에 적합한 기본 작업 모델
claude-opus-5$3.50 / $17.50잘못된 계획의 대가가 큰 변경을 계획할 때
claude-haiku-4-5$0.70 / $3.50분류, 요약, 종일 실행되는 반복 작업에 적합한 저렴한 모델
gpt-5-6-sol$2.00 / $12.00같은 키와 기본 URL을 사용하는 다른 계열의 모델로 다른 관점 확보
월정액 없이 선불 잔액에서 토큰별로 청구됩니다. billing을 참고하세요. 반복되는 컨텍스트(에디터나 채팅 클라이언트가 보내는 데이터의 대부분)에서는 모델 선택보다 프롬프트 캐싱이 청구액에 더 큰 영향을 줍니다.

다른 경로: COPILOT_PROVIDER_TYPE=anthropic

GitHub는 제공업체 유형 세 가지를 문서화하며, Kunavo는 그중 두 가지 와이어 형식을 제공합니다. /v1/chat/completions는 openai용이고 /v1/messages는 anthropic용입니다. GitHub 페이지의 Anthropic 예시는 환경 변수 네 개를 설정하며, 기본 URL은 출처만 표시한 https://api.anthropic.com입니다.

  1. COPILOT_PROVIDER_TYPE=anthropic
  2. COPILOT_PROVIDER_BASE_URL — GitHub 예시의 형식으로 볼 때 접미사 없는 https://api.kunavo.com입니다. Anthropic 자체 경로가 해당 출처 아래의 /v1/messages에 있고 Kunavo도 이를 미러링하기 때문입니다. 앞서와 같은 주의사항이 적용됩니다. GitHub가 보여 주는 것은 예시이지 규칙이 아닙니다.
  3. COPILOT_PROVIDER_API_KEY — 본인의 sk-kn- 키입니다. Kunavo의 Messages 엔드포인트는 이를 x-api-key 또는 Authorization: Bearer로 받을 수 있으므로, 여기서 CLI가 어떤 헤더를 선택하든 읽을 수 있습니다.
  4. COPILOT_MODEL — 제공업체가 기대하는 ID입니다. GitHub 예시에는 하이픈이 있는 Anthropic 형식의 표기가 나오지만, 자체 지원 모델 목록에서는 같은 계열을 점으로 구분해 표기합니다. BYOK에서는 ID가 사용자 엔드포인트로 전달되므로 위 표에 나온 표기를 사용하세요.

이 페이지가 openai 유형을 먼저 다루는 이유는 다음과 같습니다. GitHub 문서 어디에도 Anthropic BYOK 경로가 cache_control, anthropic-beta 또는 특정 anthropic-version를 전달하는지 나와 있지 않습니다. 반복되는 컨텍스트는 청구액에 영향을 줍니다. 프롬프트 캐싱을 참조하세요. 문서에 없는 답을 이 페이지에서 가정할 수는 없습니다. openai 유형에는 그런 미해결 문제가 없으므로, 구성 블록을 채워 제공하는 유형으로 선택했습니다.

자주 묻는 질문

GitHub Copilot CLI가 사용자 지정 API 엔드포인트를 가리키도록 하려면 어떻게 하나요?

CLI를 시작하기 전에 환경 변수를 설정하세요. GitHub의 BYOK 페이지에서 필수로 지정한 변수는 COPILOT_PROVIDER_BASE_URL과 COPILOT_MODEL 두 개이며, 인증이 필요한 엔드포인트에는 COPILOT_PROVIDER_API_KEY도 추가합니다. COPILOT_PROVIDER_TYPE의 기본값은 openai이며, GitHub는 이 유형이 OpenAI, Ollama, vLLM, Foundry Local 및 기타 모든 OpenAI Chat Completions API 호환 엔드포인트를 포괄한다고 설명합니다. 나머지 값은 azure와 anthropic입니다. GitHub가 다른 문서에서 설명하는 주의사항이 하나 있습니다. ~/.copilot/providers.json에 제공업체나 모델이 하나라도 선언되어 있으면 이 모든 변수보다 우선 적용됩니다.

Copilot CLI의 기본 URL은 끝에 /v1을 붙여야 하나요?

GitHub 문서에는 이에 대한 명확한 답이 없습니다. 해당 필드는 “모델 제공업체의 API 엔드포인트 기본 URL”로만 정의되어 있으며, 페이지 자체의 예시도 두 방식을 모두 보여 줍니다. 원격 OpenAI 호환 예시는 https://api.openai.com/v1이고 Ollama 및 Anthropic 예시는 경로 없이 오리진만 포함한 URL입니다. OpenAI 호환 엔드포인트라면 GitHub가 해당 사례에 제시한 형식인 https://api.kunavo.com/v1부터 사용하세요. 요청이 401이 아니라 404로 실패하면 접미사가 중복된 것이므로 제거하세요. 404는 URL 문제이고 401은 키 문제입니다. CLI를 디버깅하기 전에 같은 기본 URL로 curl을 실행하면 둘을 구분할 수 있습니다.

GitHub Copilot CLI BYOK를 사용하려면 GitHub 계정이 필요한가요?

아니요. GitHub의 인증 문서에 따르면 Copilot CLI에서 자체 LLM 제공업체 API 키를 설정하면 GitHub 인증이 필요하지 않으며 CLI는 구성된 제공업체에 직접 연결됩니다. 이때 /delegate, GitHub MCP 서버, GitHub 코드 검색은 사용할 수 없습니다. 로그인과 제공업체 구성을 동시에 하면 세 기능을 모두 유지할 수 있습니다. 또한 CLI가 GitHub 서버에 전혀 연결하면 안 되는 환경을 위해 COPILOT_OFFLINE=true도 문서화되어 있습니다. 다만 제공업체가 로컬에 있을 때만 네트워크를 격리합니다. 원격 기본 URL을 사용하면 프롬프트와 코드 컨텍스트는 여전히 그곳으로 전송됩니다.

Kunavo는 GitHub Copilot CLI를 엔드포인트 대상으로 테스트했나요?

아니요. 이 페이지의 구성은 표시된 날짜에 확인한 GitHub 자체 BYOK 문서를 바탕으로 작성했으며, 런타임에서 확인한 결과는 없습니다. 세션, 스트리밍 턴, 도구 왕복 호출도 테스트하지 않았으며, 여기에 문서화된 다른 모든 클라이언트도 마찬가지입니다. GitHub는 BYOK 모델이 도구 호출과 스트리밍을 지원해야 하며, 지원하지 않으면 오류를 반환합니다. 따라서 직접 확인하는 것이 가장 정직한 첫 점검입니다. 파일을 읽고 수정하는 작업을 한 번 실행하고, 이 페이지가 아니라 기록된 청구 내역과 CLI 동작을 증거로 삼으세요.