프로바이더
OpenCode는 AI SDK와 Models.dev를 통해 75개 이상의 LLM 프로바이더를 지원하며, 다양한 언어 모델 서비스와 로컬 모델과의 통합을 가능하게 합니다.
설정 과정
/connect명령어로 API 키 추가- OpenCode 설정에서 프로바이더 구성
- 인증 정보는
~/.local/share/opencode/auth.json에 저장됨
디렉토리
지원되는 프로바이더 빠른 참조:
| 프로바이더 | 설정 방법 | 주요 기능 |
|---|---|---|
| Anthropic | OAuth 또는 API 키 | Claude Pro/Max 지원 |
| OpenAI | ChatGPT Plus/Pro 또는 API 키 | GPT-4o, o1 모델 |
| GitHub Copilot | 디바이스 코드 인증 | Pro+ 구독 모델 |
| Google Vertex AI | 서비스 계정 또는 gcloud 인증 | 40개 이상 모델 |
| Amazon Bedrock | AWS 자격 증명/프로필 | VPC 엔드포인트 지원 |
| Azure OpenAI | API 키 + 리소스 이름 | 커스텀 배포 |
| Groq | API 키 | 고속 추론 |
| DeepSeek | API 키 | 추론 모델 |
| OpenRouter | API 키 | 멀티 프로바이더 라우팅 |
| GitLab Duo | API 키 | GitLab 통합 |
| Ollama | 로컬 설정 | 로컬에서 모델 실행 |
| LM Studio | 로컬 설정 | 로컬 모델 관리 |
추가 프로바이더: 302.AI, Baseten, Cerebras, Cloudflare AI Gateway, Cortecs, Deep Infra, Firmware, Fireworks AI, Hugging Face, Helicone, IO.NET, Moonshot AI, MiniMax, Nebius Token Factory, OVHcloud AI Endpoints, SAP AI Core, Scaleway, Together AI, Venice AI, Vercel AI Gateway, xAI, Z.AI, ZenMux.
기본 URL 설정
baseURL 옵션을 설정하여 모든 프로바이더의 기본 URL을 커스터마이즈할 수 있습니다. 프록시 서비스나 커스텀 엔드포인트를 사용할 때 유용합니다.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.anthropic.com/v1"
}
}
}
}OpenCode Zen
OpenCode Zen은 OpenCode 팀에서 테스트하고 검증한 모델 목록입니다.
/connect실행, opencode 선택- opencode.ai/auth에서 인증
- API 키 복사 및 붙여넣기
/models로 권장 모델 보기
인기 프로바이더
Anthropic
/connect실행 후 Anthropic 선택- 브라우저 인증을 위해 Claude Pro/Max 선택
/models명령어로 모델 접근
OpenAI
- platform.openai.com/api-keys에서 API 키 생성
/connect실행 후 OpenAI 검색- API 키 입력
/models로 모델 선택
Groq
Groq는 다양한 모델에 대해 고속 추론을 제공합니다.
- console.groq.com에서 API 키 생성
/connect실행 후 Groq 검색- API 키 입력
/models로 모델 선택
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"groq": {
"options": {
"apiKey": "{env:GROQ_API_KEY}"
}
}
}
}DeepSeek
DeepSeek는 강력한 추론 모델을 제공합니다.
- platform.deepseek.com에서 API 키 생성
/connect실행 후 DeepSeek 검색- API 키 입력
/models로 모델 선택
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"deepseek": {
"options": {
"apiKey": "{env:DEEPSEEK_API_KEY}"
}
}
}
}GitHub Copilot
GitHub Copilot 통합에는 Pro+ 구독이 필요합니다.
/connect실행 후 GitHub Copilot 선택- 디바이스 코드 인증 완료
/models명령어로 모델 접근
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"github-copilot": {
"models": {
"gpt-4o": {
"name": "GPT-4o (Copilot)"
}
}
}
}
}GitLab Duo
GitLab Duo는 GitLab과 통합된 AI 기능을 제공합니다.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"gitlab-duo": {
"options": {
"apiKey": "{env:GITLAB_API_KEY}"
}
}
}
}OpenRouter
{
"provider": {
"openrouter": {
"models": {
"moonshotai/kimi-k2": {
"options": {
"provider": {
"order": ["baseten"],
"allow_fallbacks": false
}
}
}
}
}
}
}Ollama (로컬)
{
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama2": {
"name": "Llama 2"
}
}
}
}
}LM Studio (로컬)
{
"provider": {
"lmstudio": {
"npm": "@ai-sdk/openai-compatible",
"name": "LM Studio (local)",
"options": {
"baseURL": "http://127.0.0.1:1234/v1"
},
"models": {
"google/gemma-3n-e4b": {
"name": "Gemma 3n-e4b (local)"
}
}
}
}
}Amazon Bedrock
{
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "my-aws-profile"
}
}
}
}인증 우선순위
Amazon Bedrock 사용 시 인증은 다음 우선순위를 따릅니다:
- Bearer Token -
AWS_BEARER_TOKEN_BEDROCK이 설정된 경우 (/connect또는 환경 변수를 통해), 다른 모든 방법보다 우선합니다 - AWS 자격 증명 체인 - 표준 AWS 자격 증명 해결:
- AWS 프로필 설정
- 액세스 키 (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) - IAM 역할
- EKS IRSA (서비스 계정용 IAM 역할)
Azure OpenAI
- Azure 포털에서 Azure OpenAI 리소스 생성
- Azure AI Foundry에서 모델 배포
/connect실행 후 Azure 검색AZURE_RESOURCE_NAME환경 변수 설정
사용자 정의 프로바이더 설정
OpenAI 호환 프로바이더의 경우:
{
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My AI Provider",
"options": {
"baseURL": "https://api.myprovider.com/v1",
"apiKey": "{env:MY_API_KEY}"
},
"models": {
"my-model": {
"name": "My Model",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}환경 변수 구문
설정에서 환경 변수를 참조하려면 {env:VARIABLE_NAME} 구문을 사용하세요:
{
"provider": {
"myprovider": {
"options": {
"apiKey": "{env:MY_PROVIDER_API_KEY}"
}
}
}
}이를 통해 민감한 자격 증명을 설정 파일 외부에 보관할 수 있습니다.
모델 제한
limit 필드는 OpenCode가 모델의 컨텍스트 윈도우와 출력 제한을 이해하는 데 도움이 됩니다:
{
"provider": {
"myprovider": {
"models": {
"my-model": {
"name": "My Model",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}context: 모델이 처리할 수 있는 최대 입력 토큰 수output: 모델이 생성할 수 있는 최대 출력 토큰 수
커스텀 헤더
API 요청에 커스텀 헤더를 추가할 수 있습니다:
{
"provider": {
"myprovider": {
"options": {
"headers": {
"Authorization": "Bearer custom-token",
"X-Custom-Header": "value"
}
}
}
}
}문제 해결
- 인증 확인:
opencode auth list실행으로 인증 정보 확인 - 사용자 정의 프로바이더 문제:
/connect와 설정 간 프로바이더 ID 일치 확인- 올바른 npm 패키지 확인
options.baseURL의 API 엔드포인트 확인