OpenCode 연동
OpenCode에서 베이즈 Gateway의 AI 모델을 사용하는 방법을 안내합니다.
opencode.json 설정 파일 하나만 수정하면 Gateway 모델에 바로 접근할 수 있습니다. 모델 계열마다 알맞은 프로바이더에 등록해야 도구 호출과 프롬프트 캐시가 제대로 동작합니다.- 공식 레퍼런스: OpenCode Providers
시작하기 전에 베이즈 API 키가 필요합니다. 인증 가이드에서 발급 방법을 확인해주세요.
설정
프로젝트 루트에
opencode.json을 생성하거나 업데이트합니다:API 키를 설정합니다:
프로바이더를 나누는 이유
| 프로바이더 | 모델 | 호출 경로 | 이유 |
|---|---|---|---|
factchat-claude | Claude | /v1/gateway/claude/v1/messages (Anthropic 형식) | 프롬프트 캐시가 동작합니다. 대화가 길어질수록 반복되는 앞부분이 캐시 읽기로 과금되어 입력 비용이 크게 줄어듭니다. OpenAI 호환 경로로 Claude를 부르면 캐시가 적용되지 않습니다 |
factchat-openai | GPT | /v1/gateway/responses (Responses API) | 일부 GPT 모델(예: gpt-5.6-sol)은 OpenAI 호환 /chat/completions/에서 도구 호출과 추론 설정을 함께 받지 않아, OpenCode의 파일 편집·셸 도구가 동작하지 않습니다 |
factchat | 그 외 모델 | /v1/gateway/chat/completions/ (OpenAI 호환) | Grok, DeepSeek 등 나머지 모델 |
주요 형식 세부사항
| 필드 | 값 |
|---|---|
npm | Claude는 "@ai-sdk/anthropic", GPT는 "@ai-sdk/openai", 그 외는 "@ai-sdk/openai-compatible" |
options.baseURL | Claude는 https://factchat-cloud.mindlogic.ai/v1/gateway/claude/v1, 그 외는 Gateway Base URL (후행 슬래시 없음) |
options.apiKey | API 키, 또는 환경 변수용 "{env:VAR_NAME}" |
models.*.limit.context | 최대 입력 토큰 |
models.*.limit.output | 최대 출력 토큰 |
모델 선택
OpenCode 내에서
/model로 모델을 전환합니다:/model factchat-claude/claude-sonnet-5
/model factchat-openai/gpt-6-astra
/model factchat/grok-4.6
참고
- 모델 ID는
GET /v1/gateway/models/에서 반환되는 것과 정확히 일치해야 합니다 - 목록에 없는 Gateway 모델도 같은 계열의 프로바이더
models에 추가해 사용할 수 있습니다 - Gemini 모델은 현재 OpenCode에서 도구를 연달아 호출하면 두 번째 호출에서 오류가 납니다(
thought_signature누락). 파일 편집·셸 작업에는 Claude, GPT 또는 위 목록의 다른 모델을 사용해 주세요 limit값은 컨텍스트 관리를 위한 힌트이며, 하드 리밋이 아닙니다
마지막 수정 날짜: Sep 11, 2026

