> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-mintlify-6ce01df5.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCode

> OpenAI 호환 사용자 지정 제공자를 통해 OpenCode를 Venice AI와 함께 사용

[OpenCode](https://opencode.ai/)는 터미널용 AI 코딩 에이전트입니다. Venice는 OpenAI 호환 어댑터와 사용자 지정 base URL을 사용하여 OpenCode의 사용자 지정 제공자 구성을 통해 작동합니다.

<CardGroup cols={3}>
  <Card title="사용자 지정 제공자" icon="sliders">
    `opencode.json`에 Venice를 제공자로 추가
  </Card>

  <Card title="OpenAI 호환" icon="plug">
    Venice의 `/chat/completions` 엔드포인트 사용
  </Card>

  <Card title="환경 키" icon="key">
    `VENICE_API_KEY`에서 API 키를 읽음
  </Card>
</CardGroup>

***

## 사전 요구 사항

* [venice.ai/settings/api](https://venice.ai/settings/api)에서 받은 Venice API 키
* 설치되어 작동 중인 OpenCode

***

## 설정

<Steps>
  <Step title="Venice API 키 설정">
    OpenCode를 실행하는 셸에서 Venice API 키를 내보냅니다:

    ```bash theme={"system"}
    export VENICE_API_KEY="your-api-key"
    ```
  </Step>

  <Step title="OpenCode 구성 파일 생성">
    프로젝트별 설정의 경우 프로젝트 루트에 `opencode.json`을 만듭니다.

    전역 설정의 경우 `~/.config/opencode/opencode.json`을 대신 사용하세요.
  </Step>

  <Step title="Venice 제공자 추가">
    이 구성을 `opencode.json`에 붙여넣으세요:

    ```json theme={"system"}
    {
      "$schema": "https://opencode.ai/config.json",
      "model": "venice/zai-org-glm-5-1",
      "small_model": "venice/zai-org-glm-5-1",
      "provider": {
        "venice": {
          "npm": "@ai-sdk/openai-compatible",
          "name": "Venice AI",
          "options": {
            "baseURL": "https://api.venice.ai/api/v1",
            "apiKey": "{env:VENICE_API_KEY}"
          },
          "models": {
            "zai-org-glm-5-1": {
              "name": "GLM 5.1"
            },
            "kimi-k2-5": {
              "name": "Kimi K2.5"
            },
            "minimax-m25": {
              "name": "MiniMax M2.5"
            }
          }
        }
      }
    }
    ```
  </Step>

  <Step title="OpenCode 실행">
    동일한 프로젝트 디렉터리에서 OpenCode를 시작합니다:

    ```bash theme={"system"}
    opencode
    ```

    OpenCode는 `opencode.json`을 로드하고, `VENICE_API_KEY`를 사용하며, 선택한 Venice 모델을 `https://api.venice.ai/api/v1`을 통해 라우팅합니다.
  </Step>
</Steps>

***

## 설정 확인

OpenCode 내에서 다음을 실행합니다:

```txt theme={"system"}
/models
```

구성의 Venice 모델이 표시됩니다. 하나를 선택한 다음 작은 테스트 프롬프트를 보내세요.

위와 같이 `"model": "venice/zai-org-glm-5-1"`을 설정했다면 OpenCode는 기본적으로 해당 Venice 모델을 사용해야 합니다. `zai-org-glm-5-1`을 [텍스트 모델 카탈로그](/models/text)의 모델 ID로 바꾸고 `models` 맵에 추가하여 기본값을 변경할 수 있습니다.

***

## 구성 참고 사항

* `baseURL`을 `https://api.venice.ai/api/v1`로 유지하세요. OpenCode의 OpenAI 호환 어댑터는 chat completions에 이 base URL을 사용합니다.
* Venice의 OpenAI 호환 chat 엔드포인트를 위해 `npm`을 `@ai-sdk/openai-compatible`로 유지하세요.
* 제공자 ID는 `venice`이므로 모델 참조는 `venice/<model-id>` 형식을 사용합니다.
* OpenCode의 `/connect` 흐름을 선호하는 경우, **Other**를 선택하고 제공자 ID로 `venice`를 사용하며, Venice API 키를 붙여넣고 구성에서 `options.apiKey`를 제거하세요.

<Info>
  OpenCode는 이미 `@ai-sdk/openai-compatible`을 통해 사용자 지정 제공자 `baseURL` 값과 OpenAI 호환 제공자를 지원합니다. Venice를 위해 OpenCode 코어 제공자 변경은 필요하지 않습니다.
</Info>

***

## 리소스

<CardGroup cols={2}>
  <Card title="Venice 텍스트 모델" icon="list" href="/models/text">
    사용 가능한 Venice 모델 ID
  </Card>

  <Card title="OpenCode 제공자 문서" icon="book" href="https://opencode.ai/docs/providers/">
    사용자 지정 제공자 및 base URL 참조
  </Card>
</CardGroup>
