문서
Qwen Code
Qwen Code는 모든 엔드포인트를 한 파일에서 관리합니다. modelProviders 아래에 Kunavo를 한 번 선언하고 selectedType을 openai로 설정하면, /model 선택기에서 하나의 키로 Claude와 GPT를 전환할 수 있습니다.
Qwen Code는 ~/.qwen/settings.json의 modelProviders에서 엔드포인트를 읽습니다 — baseUrl과 envKey가 있는 항목 하나로 /model 선택기에서 Claude와 GPT를 사용할 수 있습니다
{
"modelProviders": {
"openai": [
{
"id": "claude-sonnet-5",
"name": "Claude Sonnet 5 (Kunavo)",
"baseUrl": "https://api.kunavo.com/v1",
"description": "Kunavo, OpenAI-compatible",
"envKey": "KUNAVO_API_KEY"
}
]
},
"env": {
"KUNAVO_API_KEY": "sk-kn-..."
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "claude-sonnet-5"
}
}/v1가 포함됩니다. 모델 공급자 참조 문서에 한 문장으로 명시되어 있습니다. 호스팅된 OpenAI 호환 게이트웨이에 항목을 연결할 때는 전체 /v1/chat/completions 경로가 아니라 API의 “/v1 루트”를 baseUrl로 설정해야 하며, “SDK가 요청 경로를 자체적으로 추가합니다.” 인증 페이지의 OPENAI_BASE_URL 예시도 모두 같은 경로로 끝납니다. URL에 경로를 이미 포함하면 인증 오류가 아니라 404가 발생합니다.realtimeOnly 경로의 호스트가 DashScope 엔드포인트여야 한다고 요구하므로, 채팅 모델을 어디에 연결하든 해당 기능에는 자체 키를 계속 사용해야 합니다./auth 목록에 OpenRouter와 Requesty를 서드파티 제공업체로 명시합니다.sk-kn-로 시작합니다) $10부터 크레딧을 추가하세요. 호출 비용은 해당 잔액에서 차감되며 실패한 호출에는 요금이 부과되지 않습니다. 그러면 대시보드가 Qwen Code 설정 화면에서 열립니다.단계별 안내
/app/keys에서 키를 생성해 복사하세요. 키는 한 번만 표시됩니다.~/.qwen/settings.json를 열고(없으면 새로 만드세요) 위의 네 블록을 병합하세요. 문서에서는 “프로젝트 설정과 사용자 설정 간 병합 충돌을 방지하기 위해”modelProviders를 사용자 범위 파일에 선언할 것을 권장합니다.- 가능하면 키를
env보다 안전한 곳에 두세요. Qwen Code는process.env[envKey]에서 키를 읽습니다. 문서에 따르면 우선순위는 높은 순서대로 셸export,.env파일, 그리고settings.json의env블록이며, 마지막 방식은 평문 저장이라고 명시되어 있습니다. 위의env블록은 실행에 필요한 최소 설정이지, 계속 보관하기에 가장 좋은 방식은 아닙니다. qwen를 실행하세요.security.auth.selectedType가openai로 설정되고model.name가 선언한id와 일치하면 대화형/auth단계가 필요하지 않습니다. 한 파일 예시 뒤에서 문서가 이를 명확히 설명합니다.- 인사말이 아니라 파일을 읽고 수정하는 작업을 맡기세요. Qwen Code는 에이전트입니다. 첫 실행에서는 도구 호출과 스트리밍을 확인해야 하며, 이 두 기능은 호환성이 불완전한 엔드포인트에서 가장 먼저 실패합니다.
modelProviders.openai아래에 항목을 더 추가하면/model로 실행 중 모델을 전환할 수 있습니다. 이 설정은 실행 중인 세션에서 핫 리로드되지만,providerProtocol는 시작 시 한 번 읽으므로 변경 후 재시작해야 합니다.
Qwen Code 인증 페이지, 옵션 4: API 키(유연한 방식)에서 확인했습니다(2026년 9월 21일 기준). 서드파티 설정은 변경될 수 있으므로, 여기의 필드 이름이 실제 화면과 다르면 이 문서가 아니라 해당 페이지를 기준으로 삼으세요.
클라이언트를 디버깅하기 전에 확인할 사항
한 번의 요청으로 문제가 엔드포인트, 키 또는 구성 파일 중 어디에 있는지 판단할 수 있습니다. 이 요청에서 JSON이 반환되면 동일한 base URL과 키가 Qwen Code에서 작동합니다.
# 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 기준이며 입력 / 출력 순서입니다.
| 모델 ID | Kunavo 입력/출력 | Qwen Code에서의 위치 |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | 기본 작업 모델 — model. |
claude-opus-5 | $3.50 / $17.50 | 잘못 선택하면 비용이 많이 드는 계획 |
claude-haiku-4-5 | $0.70 / $3.50 | 저비용 턴: 분류, 요약, 하루 종일 실행되는 작업 루프 |
gpt-5-6-sol | $2.00 / $12.00 | 같은 키와 같은 baseUrl을 사용하는 다른 계열의 2차 의견 |
gpt-5-6-terra | $0.70 / $4.20 | openai protocol 키를 그대로 사용하는 긴 컨텍스트 읽기 |
문서로 확인되는 사실 세 가지: 사람들이 자주 잘못 짐작하는 부분
위에 링크한 인증 페이지와 모델 제공업체 참조 문서에서 확인한 내용입니다. 문서를 읽지 않고 추측하면 각각 실제 디버깅 시간을 잡아먹습니다.
modelProviders항목은 CLI 플래그보다 우선합니다. 문서에 명시된 우선순위는 높은 순서대로 실행 중인 세션에서/auth로 설정한 재정의, 선택한 모델 제공업체의envKey,--openai-api-key같은 CLI 인수, 환경 변수, 설정의security.auth.apiKey입니다. 대부분은 플래그가 우선한다고 생각하지만 그렇지 않습니다. 그래서--openai-base-url가 무시되는 것처럼 보일 수 있습니다.security.auth.apiKey와security.auth.baseUrl는 더 이상 사용되지 않습니다. 참조 문서에서도 이를 명시하고modelProviders로 이전할 것을 권장합니다. 오래된 튜토리얼에서 이 두 키를 수정하라고 한다면, 곧 폐기될 경로를 설정하고 있는 것입니다.wireApi가 요청 형식을 결정하며, 형식 불일치를 감지하는 기능은 없습니다. 이를 생략하면 위 설정 블록에서 사용하는 Chat Completions가 기본값으로 선택됩니다."wireApi": "responses"를 설정하려면 실제로 Responses와 호환되는 엔드포인트가 필요합니다. 문서에는 요청이 실패해도 엔드포인트를 감지하거나 자동으로 대체 경로를 사용하지 않는다고 명시되어 있습니다. Kunavo는/v1/responses와/v1/chat/completions모두에 응답하지만, 이 페이지에서는 어느 조합도 테스트하지 않았으므로 기본값으로 시작하세요.
무료 요금제를 찾아 이곳에 오셨다면
Qwen Code에 관한 기존 자료 중 상당수는 일일 무료 한도가 있는 Qwen OAuth 로그인을 설명합니다. 이 옵션은 더 이상 제공되지 않습니다. 문서에 따르면 무료 요금제는 2026년 4월 15일에 종료되었으며, Qwen OAuth는 이제 /auth 대화상자에서 선택할 수 없습니다. 현재 문서에 나오는 항목은 Alibaba ModelStudio(하위 메뉴에 Coding Plan, Token Plan, Standard API Key 포함), Third-party Providers, 그리고 “로컬 서버, 프록시 또는 지원되지 않는 제공업체”에 연결하는 기능으로 설명된 Custom Provider입니다. Kunavo는 이 세 번째 항목입니다. ModelStudio 하위 메뉴의 항목들은 하나의 청구 방식에서 고르는 세 가지 옵션이 아닙니다. 각 항목은 호스트와 키가 별개이므로, Token Plan 호스트에서 Coding Plan 키를 사용할 수 없습니다.
자주 묻는 질문
Qwen Code가 사용자 지정 API 엔드포인트를 사용하도록 설정하려면 어떻게 하나요?
~/.qwen/settings.json의 modelProviders 아래에 엔드포인트를 선언하세요. OpenAI 호환 호스트에는 "openai" 키를 사용하고, 모델 항목에 id, baseUrl, API 키가 저장된 환경 변수의 이름을 지정하는 envKey를 설정하세요. 그런 다음 security.auth.selectedType을 "openai"로, model.name을 해당 id로 설정합니다. qwen을 실행하면 대화형 /auth 단계 없이 이 경로로 시작합니다. 환경 변수로 설정하려면 OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL을 사용하면 됩니다. 다만 문서에서는 셸을 바꿔도 설정이 유지되고 여러 엔드포인트를 동시에 지원하는 설정 파일 방식을 권장합니다.
Qwen Code의 baseUrl 끝에 /v1을 붙여야 하나요?
OpenAI 호환 엔드포인트라면 그렇습니다. Qwen Code의 모델 제공업체 참조 문서에서는 전체 /v1/chat/completions 경로가 아니라 https://gateway.example.com/v1과 같은 API의 /v1 루트를 baseUrl로 지정하라고 안내합니다. SDK가 요청 경로를 직접 덧붙이기 때문입니다. Kunavo에서는 https://api.kunavo.com/v1을 값으로 사용합니다. 끝에 요청 경로를 남겨 두면 인증 실패가 아니라 404가 발생하며, 보통 이런 식으로 문제가 드러납니다.
무료 Qwen Code 요금제를 계속 이용할 수 있나요?
아니요. Qwen Code 자체 문서에 따르면 Qwen OAuth 무료 요금제는 2026년 4월 15일에 종료되었으며, 이제 /auth 대화상자에서 Qwen OAuth를 선택할 수 없습니다. 문서에서는 Qwen OAuth 모델이 코드에 고정되어 modelProviders로 재정의할 수 없다고도 안내합니다. 따라서 기존 경로의 엔드포인트만 다른 곳으로 바꿀 수도 없습니다. 현재 이용할 수 있는 방식은 Alibaba ModelStudio, 내장 서드파티 제공업체 또는 직접 설정하는 사용자 지정 엔드포인트입니다.
Qwen Code에서 Qwen 대신 Claude 또는 GPT 모델을 실행할 수 있나요?
네. Qwen Code의 프로토콜 표에서는 openai 제공업체 키가 모든 OpenAI 호환 엔드포인트를 지원한다고 안내합니다. 또한 modelProviders 항목의 모델 id는 설정한 baseUrl로 그대로 전달되므로 클라이언트 내부가 아니라 해당 엔드포인트에서 처리됩니다. 따라서 엔드포인트가 Claude 또는 GPT id를 제공한다면 사용할 수 있습니다. Kunavo는 OpenAI 호환 인터페이스를 통해 Claude 및 GPT id를 제공하며, 이 설정은 테스트 실행 결과가 아니라 공급업체 문서를 바탕으로 게시했습니다.
Qwen Code가 --openai-base-url을 무시하는 이유는 무엇인가요?
modelProviders 항목이 해당 플래그보다 우선하기 때문입니다. 문서에 명시된 자격 증명 우선순위는 실행 중인 세션에서 /auth로 입력한 재정의가 가장 높고, 선택한 모델 제공업체의 baseUrl 및 envKey가 그다음이며, CLI 인수는 환경 변수와 설정 파일보다 우선하지만 세 번째입니다. 제공업체 항목을 선택했다면 해당 항목의 baseUrl이 플래그보다 우선합니다. 그 항목을 수정하세요. modelProviders 변경 사항은 실행 중인 세션에서 핫 리로드됩니다. 플래그를 적용하려던 것이라면 항목을 제거하세요.