문서
Theia IDE
Theia IDE에는 임의의 OpenAI 호환 모델을 지원하는 제공업체가 있으며, settings.json에서 목록으로 설정합니다. 모델 id마다 항목을 하나씩 추가하고 모두 같은 기본 URL과 키를 지정하세요.
ai-features.openAiCustom.customOpenAiModels의 항목 하나 — model, url, apiKey — 로 Theia Coder, Architect, 인라인 완성 기능 뒤에 Kunavo를 연결합니다
{
"ai-features.openAiCustom.customOpenAiModels": [
{
"model": "claude-sonnet-5",
"url": "https://api.kunavo.com/v1",
"id": "kunavo-sonnet-5",
"apiKey": "sk-kn-...",
"developerMessageSettings": "system"
},
{
"model": "claude-haiku-4-5",
"url": "https://api.kunavo.com/v1",
"id": "kunavo-haiku-4-5",
"apiKey": "sk-kn-...",
"developerMessageSettings": "system"
}
]
}url는 /v1를 포함합니다. Theia 문서의 설명에는 규칙이 없습니다. Readme에서는 “model와 url는 엔드포인트와 사용할 모델을 지정하는 필수 속성”이라고만 합니다. 형식은 같은 문서 페이지의 실제 예시에서 확인할 수 있습니다. 그 페이지에서 OpenAI가 아닌 업체를 다룬 유일한 예시입니다. 바로 "url": "https://api.mistral.ai/v1"입니다. 접미사가 포함된 엔드포인트 루트이므로 여기서는 https://api.kunavo.com/v1를 사용하며, 기본 주소만 입력하면 안 됩니다. 요청이 404를 반환하면 이 필드부터 확인하세요. 아래의 curl를 보면 엔드포인트가 실제로 두 형식 중 어느 쪽에 응답하는지 알 수 있습니다.curl이며, 클라이언트의 동작은 사용자와 Theia 사이에서 확인할 문제입니다.sk-kn-로 시작합니다) $10부터 크레딧을 추가하세요. 호출 비용은 해당 잔액에서 차감되며 실패한 호출에는 요금이 부과되지 않습니다. 그러면 대시보드가 Theia IDE 설정 화면에서 열립니다.단계별 안내
/app/keys에서 키를 생성해 복사하세요. 키는 한 번만 표시됩니다.- 기능을 켜세요. Theia 문서에서는 Preferences로 이동해 “AI-features => AI Enable” 설정을 활성화하라고 안내합니다. 이 단계를 완료하기 전에는 아래 항목이 표시되지 않습니다.
- AI Configuration 보기를 여세요.
Alt+A를 사용하거나, 왼쪽 아래의 Manage(기어) 메뉴에서 Settings 바로 아래에 있는 AI Configuration을 선택하면 됩니다. 범주는 General, Providers & Models, Model Aliases, Agents, Prompts & Skills, Variables, Tools, Token Usage, MCP Servers입니다. - 위 항목을 추가하세요. 문서에서는 설정 섹션에서 OpenAI Compatible Models 링크를 클릭하는 방법으로 안내합니다. 이 환경설정은 구조화된 목록이며, Theia는 전용 편집기가 없는 구조화된 설정이 “
settings.json로 연결된다”고 설명합니다. 바로 그 파일이 열립니다. 모델 ID마다 객체 하나를 추가하세요.url와apiKey는 반복됩니다. - 모델을 지정하세요. Agents에서 각 에이전트에는 Language Model 선택기가 있습니다. 다만 많은 에이전트는 모델 별칭을 참조하므로, Model Aliases에서
default/code,default/universal,default/code-completion,default/summarize,default/fast를 설정하면 여러 에이전트를 한 번에 바꿀 수 있습니다. - Theia Coder에 채팅 메시지를 보낸 다음 파일을 다루는 작업을 요청하세요. 이 IDE의 에이전트는 도구 호출과 작업 공간 콘텐츠에 의존하므로, 무언가를 읽거나 수정하는 첫 실행이 인사말보다 더 많은 정보를 알려줍니다. 같은 화면의 Token Usage에서 해당 대화 차례에 사용된 토큰 수도 확인할 수 있습니다.
Theia IDE의 AI 기능 페이지, OpenAI Compatible Models 섹션에서 확인했습니다(2026년 9월 21일 기준). 서드파티 설정은 변경될 수 있으므로, 여기의 필드 이름이 실제 화면과 다르면 이 문서가 아니라 해당 페이지를 기준으로 삼으세요.
클라이언트를 디버깅하기 전에 확인할 사항
한 번의 요청으로 문제가 엔드포인트, 키 또는 구성 파일 중 어디에 있는지 판단할 수 있습니다. 이 요청에서 JSON이 반환되면 동일한 base URL과 키가 Theia IDE에서 작동합니다.
# 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 입력/출력 | Theia IDE에서의 위치 |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | 파일을 수정하는 Theia Coder 및 기본/code 별칭 모델 |
claude-opus-5 | $3.50 / $17.50 | 잘못된 계획의 비용이 큰 Plan Mode의 Architect |
claude-haiku-4-5 | $0.70 / $3.50 | default/ |
gpt-5-6-sol | $2.00 / $12.00 | 다른 계열 모델의 추가 의견 — 동일한 URL과 키를 사용하는 항목 하나 추가 |
Theia가 이 제공자에 대해 설명하는 내용
Theia 자체 페이지의 LLM Providers Overview 표는 각 제공자를 세 가지 기준으로 평가합니다. 이는 위 날짜에 해당 표에서 가져온 Theia의 주장이지 Kunavo의 테스트 결과가 아닙니다. 이 표에서 여기 작성자가 직접 쓴 부분은 “모델 ID에 필요한 사항”이라는 열뿐입니다.
| Theia의 항목 | OpenAI 호환 | 모델 ID에 필요한 사항 |
|---|---|---|
| 스트리밍 | 예 (상태: 공개) | 추가 설정은 없습니다. Readme에는 같은 객체의 enableStreaming이 문서화되어 있으며 기본값은 true입니다. 대화가 멈추고 스트림을 분리해 확인하려면 false로 설정하세요. |
| 도구 호출 | 예 (상태: 공개) | 도구를 지원하는 모델 ID가 필요합니다. 파일을 수정하거나 명령을 실행하거나 MCP 서버를 구동하는 에이전트는 모두 도구 호출 에이전트이므로, 도구를 지원하지 않는 ID를 사용하면 일반 채팅만 가능합니다. |
| 구조화된 출력 | 예 (상태: 공개) | 설정할 때 추가로 필요한 사항은 없지만, 단일 엔드포인트에서 서로 다른 계열의 ID를 사용할 때 가장 차이가 날 수 있는 기준입니다. |
Theia는 표에서 두 문단 위에 자체 주의사항을 덧붙였습니다. 이 페이지 전체의 솔직한 전제를 보여 주므로 다시 인용할 가치가 있습니다. 모든 모델이 “별도의 사용자 지정이나 최적화가 필요할 수 있으므로 바로 작동하는 것은 아닐 수 있습니다”.
실제로 비용이 드는 항목
Theia IDE는 오픈 소스이며 무료로 다운로드할 수 있고, AI 기능 자체에는 요금이 부과되지 않습니다. 비용이 발생하는 것은 모델 호출이며, apiKey에서 키를 보유한 주체가 요금을 청구합니다. 모델 선택보다 청구액에 더 큰 영향을 주는 설정 두 가지가 문서에 나와 있습니다.
- Automatic Code Completion은 기본적으로 켜져 있으며, 문서에 따르면 코딩 중 “기반 LLM에 지속적으로 요청을 보냅니다”. 하루에도 수천 번 실행되는 에이전트입니다.
default/code-completion을 저렴한 ID에 고정하거나,'AIFeatures'=>'CodeCompletion'에서 에이전트를 수동 모드로 전환한 뒤Ctrl+Alt+Space로 실행하세요. - 같은 설정 그룹의 Max Context Lines는 각 자동 완성 요청에 포함되는 주변 파일 내용의 양을 제한합니다. 키 입력으로 발생하는 모든 호출에서 각 줄은 입력 토큰으로 요금이 부과됩니다.
채팅 에이전트는 정반대의 특성을 가집니다. 호출은 적지만 컨텍스트가 훨씬 크고, 같은 작업 공간 파일을 대화 차례마다 다시 전송합니다. 이 경우를 위해 프롬프트 캐싱이 있습니다. 자세한 내용은 /docs/caching을 참조하세요. 따라서 위 모델 표의 두 부분은 에이전트의 지능이 아니라 실행 빈도에 따라 나뉩니다.
연결되지 않을 때
- 404 —
url문제입니다. Kunavo는/v1/chat/completions를 제공하므로 필드에는/v1루트가 필요합니다. 호스트만 입력하거나 전체.../chat/completions를 입력하면 모두 연결되지 않습니다. - 401 — 키 문제입니다. Theia Readme에 따르면
apiKey는 “인증 요청에서 Bearer Token으로 전송됩니다”. 이는sk-kn-키가 기대하는 방식과 정확히 일치합니다. 문서에 나온 기본값에 유의하세요.apiKey자체가 없으면 Theia는no-key를 전송하므로, 필드 누락이 키 누락이 아니라 거부된 키처럼 보입니다. (true는 “전역 OpenAI API 키 사용”을 뜻하므로 여기서는 적절하지 않습니다.) - 모델 ID가 선택 목록에 없습니다 — 목록은 엔드포인트가 아니라 사용자가 직접 추가한
customOpenAiModels항목에서 가져오므로, ID가 없으면 객체가 누락된 것입니다. UI에 표시되는 값은id필드입니다. 이 필드를 생략하면 모델 이름이 대신 사용됩니다. - 첫 번째 시스템 메시지가 거부되거나 무시됩니다 —
developerMessageSettings문제입니다. 기본값은developer이며, OpenAI 형식의 역할입니다. Theia의 비 OpenAI 제공자 예시에서는system를 설정하므로 위 블록도 그렇게 되어 있습니다.user,mergeWithFollowingUserMessage,skip는 문서에 나온 대안입니다. - 어디에서도 아무런 응답이 없습니다 — Workspace Trust를 확인하세요. Theia는 모든 AI 기능을 Workspace Trust 뒤에서 제어하므로, 신뢰하지 않는 작업 공간에서는 채팅 입력과 인라인 자동 완성이 비활성화되고 AI Features are Restricted 메시지가 표시됩니다.
자주 묻는 질문
Theia IDE에서 사용자 지정 OpenAI 호환 API를 어떻게 사용하나요?
Preferences에서 AI-features => AI Enable을 활성화한 다음 ai-features.openAiCustom.customOpenAiModels 환경설정에 항목을 추가하세요. 각 항목은 model, url, id, apiKey, developerMessageSettings 순서의 객체입니다. 이 순서는 Theia 자체 예시를 따른 것이며, model과 url은 필수 항목입니다. 목록은 구조화된 설정이므로 IDE에서 편집을 위해 settings.json을 엽니다. 그런 다음 AI Configuration 화면의 Agents에서 에이전트에 모델을 지정하거나 모델 별칭 중 하나에 지정하세요.
Theia IDE의 url 필드 끝에 /v1을 붙여야 하나요?
Kunavo처럼 OpenAI 호환 엔드포인트를 사용하는 경우에는 그렇습니다. Theia 문서에는 이 규칙이 서술형으로 명시되어 있지 않습니다. Readme에는 model과 url이 사용할 엔드포인트와 모델을 나타낸다고만 나와 있지만, 같은 페이지의 비 OpenAI 제공자 예시에는 접미사가 붙은 엔드포인트 루트가 제시되어 있습니다. "url": "https://api.mistral.ai/v1" 따라서 https://api.kunavo.com/v1을 사용하세요. /v1이 빠지거나 중복되면 인증 오류가 아니라 404가 표시되므로 키 문제와 구분할 수 있습니다.
Theia IDE에서 Anthropic 계정 없이 Claude 모델을 사용할 수 있나요?
네, 두 가지 방법이 있습니다. Theia에는 Anthropic 키를 직접 받는 Anthropic 제공자가 있으며, OpenAI 호환 제공자는 설정한 url로 OpenAI 형식의 요청을 보내고 모델 ID를 그대로 전달합니다. 두 번째 방식을 쓰면 ID는 IDE가 아니라 해당 엔드포인트에서 확인되므로 보유해야 할 자격 증명은 엔드포인트의 자격 증명입니다. Kunavo는 OpenAI 호환 인터페이스에서 Claude ID 요청에 응답합니다. 이 페이지에서 설명하는 조합이 바로 이것입니다.
각 Theia 에이전트에는 어떤 모델을 지정해야 하나요?
순위가 아니라 에이전트가 실행되는 빈도에 따라 나누세요. 이 IDE에서 해당 ID를 벤치마크한 곳은 없기 때문입니다. Code Completion은 입력하는 동안 계속 실행되고 컨텍스트는 Max Context Lines로 제한되므로 저렴한 ID가 적합합니다. Theia Coder는 파일을 수정하며 도구 호출이 필요합니다. Plan Mode의 Architect는 더 강력하고 비용이 높은 ID를 사용하는 것이 보람을 주는 유일한 곳입니다. 잘못된 계획은 세션 전체의 비용을 초래하기 때문입니다. 모델 별칭인 default/code, default/code-completion, default/fast 등으로 여러 에이전트를 한 번에 바꿀 수 있습니다.
Kunavo는 Theia IDE를 엔드포인트에 연결해 테스트했나요?
아니요. 2026년 9월 21일에 확인한 것은 Theia 자체 문서입니다. 환경설정 ID, 필드 이름과 순서, 기본 URL 형식은 theia-ide.org/docs/user_ai/ 및 해당 페이지에서 연결된 ai-openai Readme에서 인용했습니다. Kunavo는 Theia 세션, 인라인 자동 완성 또는 도구 왕복 호출을 실행하지 않았으며 이 클라이언트의 동작 방식에 관해 어떠한 주장도 하지 않습니다. 직접 확인할 수 있는 것은 엔드포인트와 키가 작동하는지 여부이며, 이 페이지의 curl 명령으로 확인할 수 있습니다.