문제 해결 · opencode
opencode AI_APICallError 원인과 해결 방법
opencode는 프로바이더 실패를 Vercel AI SDK의 AI_APICallError로 표시합니다. 감싸진 상태 코드를 읽는 방법과 그 아래의 baseURL, 키, 모델을 고치는 방법.
표시되는 내용
AI_APICallError발생 원인
- AI_APICallError는 진단이 아니라 래퍼입니다: AI SDK는 성공이 아닌 모든 HTTP 응답에 이를 던지며, 진짜 원인은 감싸진 상태 코드와 본문입니다.
- 내부가 401 — 프로바이더의 apiKey 옵션이 잘못되었거나, {env:...} 플레이스홀더가 설정되지 않은 변수를 지정합니다.
- 내부가 404 — baseURL이 프로바이더의 프로토콜에 맞지 않습니다: /v1 누락, /v1/v1 중복, 또는 엔드포인트가 서비스하지 않는 모델 id.
- 내부가 429 또는 529 — 처리량 또는 업스트림 용량 문제로, 설정에는 잘못이 없습니다.
해결 방법
- 먼저 오류의 statusCode와 responseBody 필드를 읽으세요 — 프로바이더의 실제 답변이 담겨 있습니다.
- 프로바이더 블록을 확인하세요: baseURL은 정확하게, apiKey는 opencode를 실행한 셸에 존재하는 환경 변수에서 해석되도록.
- opencode.json을 바꾼 뒤에는 opencode를 재시작하세요 — 설정은 시작 시점에 읽힙니다.
이 게이트웨이용 프로바이더 블록
{
"provider": {
"apitoken": {
"npm": "@ai-sdk/openai-compatible",
"name": "apiToken.sale",
"options": {
"baseURL": "https://openai.api.apitoken.sale/v1",
"apiKey": "{env:APITOKEN_API_KEY}"
}
}
}
}관련 검색어
opencode AI_APICallErroropencode api call error
자주 묻는 질문
AI_APICallError는 opencode의 버그인가요?+
아니요 — 프로바이더가 성공이 아닌 응답을 반환했다는 AI SDK의 보고입니다. 감싸진 상태 코드가 진짜 문제를 알려줍니다.
opencode는 API 키를 어디서 읽나요?+
프로바이더의 options.apiKey에서 읽습니다. {env:NAME} 플레이스홀더를 쓰면, 그 변수는 opencode가 실행된 환경에 존재해야 합니다.
opencode.json을 고쳤는데 아무 변화가 없습니다 — 왜죠?+
opencode는 설정을 시작 시점에 읽습니다. 변경할 때마다 재시작하세요.