> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCode

> OpenCode를 EvoLink.AI에 연결하기

## 개요

<img src="https://mintcdn.com/muyutechnology/K_Zw7kcC-XNOjX6V/images/opencode_image/f9f7fa98-62b6-4d46-af43-a9f07e4afb07.png?fit=max&auto=format&n=K_Zw7kcC-XNOjX6V&q=85&s=bc0908a7443bc9f45e06d6917437d1e4" alt="OpenCode Interface" width="1748" height="1452" data-path="images/opencode_image/f9f7fa98-62b6-4d46-af43-a9f07e4afb07.png" />

OpenCode는 Go 기반의 오픈소스 커맨드라인 프로그래밍 도구(CLI)로, 개발자에게 강력한 AI 지원을 제공합니다. 직관적인 터미널 사용자 인터페이스(TUI)를 제공하며 OpenAI, Anthropic, Gemini 등 다양한 LLM 제공업체를 지원합니다.

OpenCode를 **EvoLink API**와 통합하면, 하나의 키로 통합 인터페이스를 통해 EvoLink의 Claude, GPT, Gemini 시리즈 모델에 접근할 수 있습니다.

## 사전 준비

설정하기 전에 다음 사항을 확인하세요:

### 1. 터미널 에뮬레이터

OpenCode는 최신 터미널 에뮬레이터가 필요합니다. 권장 옵션:

* **WezTerm** (크로스 플랫폼)
* **Alacritty** (크로스 플랫폼)
* **Ghostty** (Linux 및 macOS)
* **Kitty** (Linux 및 macOS)

Windows 사용자는 PowerShell 또는 Windows Terminal을 사용할 수도 있습니다.

macOS 사용자는 내장된 Terminal.app 또는 iTerm2를 사용할 수 있습니다.

Linux 사용자는 내장 터미널 또는 GNOME Terminal, Konsole 등을 사용할 수 있습니다.

### 2. EvoLink API Key 발급

* [EvoLink Dashboard](https://evolink.ai/dashboard)에 로그인합니다
* 대시보드에서 API Keys를 찾아 '새 키 생성' 버튼을 클릭한 후, 생성된 Key를 복사합니다
* API Key는 보통 `sk-`로 시작합니다

## Step 1: OpenCode 설치

<Note>
  **팁:** 커맨드라인 터미널을 여는 방법을 모르시면 [FAQ - 커맨드라인 터미널 여는 방법](#11-커맨드라인-터미널-여는-방법)을 참고하세요
</Note>

<Tabs>
  <Tab title="macOS / Linux">
    가장 간단한 방법은 설치 스크립트를 사용하는 것입니다:

    ```bash theme={null}
    curl -fsSL https://opencode.ai/install | bash
    ```

    또는 Homebrew를 사용할 수 있습니다:

    ```bash theme={null}
    brew install anomalyco/tap/opencode
    ```
  </Tab>

  <Tab title="Windows">
    Windows 사용자는 먼저 [Node.js](https://nodejs.org/ko/download)를 설치한 후, NPM을 통해 설치합니다:

    ```bash theme={null}
    npm i -g opencode-ai@latest
    ```

    또는 Chocolatey를 사용할 수 있습니다:

    ```bash theme={null}
    choco install opencode
    ```

    또는 Scoop을 사용할 수 있습니다:

    ```bash theme={null}
    scoop bucket add extras
    scoop install extras/opencode
    ```
  </Tab>
</Tabs>

### 설치 확인

```bash theme={null}
opencode --version
```

**성공 표시:** 버전 정보가 표시됩니다.

그래픽 인터페이스를 선호하시면, OpenCode는 [OpenCode 다운로드 페이지](https://opencode.ai/download)에서 데스크톱 앱도 제공합니다.

## Step 2: EvoLink API 설정

### 1. Provider 초기화

설치 후, OpenCode를 실행하기 전에 터미널에서 다음 명령어를 실행합니다:

```bash theme={null}
opencode auth login
```

<img src="https://mintcdn.com/muyutechnology/K_Zw7kcC-XNOjX6V/images/opencode_image/37792e89-017b-407c-ac98-2331dfd38a7c.png?fit=max&auto=format&n=K_Zw7kcC-XNOjX6V&q=85&s=a2d0356f85cc9a1a242d36665f50d17c" alt="Select Provider" width="1502" height="942" data-path="images/opencode_image/37792e89-017b-407c-ac98-2331dfd38a7c.png" />

1. Provider 목록에서 **other**를 선택합니다 (하단에 있으며, 검색할 수 있습니다)

2. **Provider ID** 입력: `evolink-anthropic`을 입력합니다

<img src="https://mintcdn.com/muyutechnology/K_Zw7kcC-XNOjX6V/images/opencode_image/6dabad70-7294-4896-ae36-161d1c56ac3a.png?fit=max&auto=format&n=K_Zw7kcC-XNOjX6V&q=85&s=68582f3d5a6725ed74a34cecdc18d7e7" alt="Enter Provider ID" width="1236" height="782" data-path="images/opencode_image/6dabad70-7294-4896-ae36-161d1c56ac3a.png" />

3. **API Key token** 입력: 아무 값이나 입력할 수 있습니다 (예: `admin`), 실제 키는 설정 파일을 통해 참조됩니다

<img src="https://mintcdn.com/muyutechnology/K_Zw7kcC-XNOjX6V/images/opencode_image/ScreenShot_2026-01-14_175225_106.png?fit=max&auto=format&n=K_Zw7kcC-XNOjX6V&q=85&s=a78a8611acf2748fccea0d8a460d67f4" alt="Enter API Key" width="2090" height="914" data-path="images/opencode_image/ScreenShot_2026-01-14_175225_106.png" />

이 단계는 OpenCode의 로컬 자격 증명 관리자에 커스텀 Provider를 등록합니다.

### 2. 설정 파일 편집

OpenCode 설정 디렉토리를 엽니다:

<Tabs>
  <Tab title="Windows">
    `Win + R`을 누르고, 다음을 붙여넣은 후 Enter를 누릅니다:

    ```
    %userprofile%\.config\opencode
    ```
  </Tab>

  <Tab title="macOS / Linux">
    터미널에서 다음을 실행합니다:

    ```bash theme={null}
    cd ~/.config/opencode
    ```

    또는 Finder/파일 관리자에서 `~/.config/opencode/`에 접근합니다
  </Tab>
</Tabs>

이 디렉토리에서 `opencode.json`을 생성하거나 편집합니다:

```json theme={null}
{
    "$schema": "https://opencode.ai/config.json",
    "provider": {
        "evolink-anthropic": {
            "npm": "@ai-sdk/anthropic",
            "name": "EvoLink Claude",
            "options": {
                "baseURL": "https://direct.evolink.ai/v1",
                "apiKey": "your-evolink-api-key"
            },
            "models": {
                "claude-fable-5": {
                    "name": "Claude Fable 5",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-opus-4-8": {
                    "name": "Claude Opus 4.8",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-opus-4-7": {
                    "name": "Claude Opus 4.7",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-opus-4-6": {
                    "name": "Claude Opus 4.6",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-sonnet-4-6": {
                    "name": "Claude Sonnet 4.6",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-sonnet-5": {
                    "name": "Claude Sonnet 5",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-opus-4-5-20251101": {
                    "name": "Claude 4.5 Opus",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-sonnet-4-5-20250929": {
                    "name": "Claude 4.5 Sonnet",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "claude-haiku-4-5-20251001": {
                    "name": "Claude 4.5 Haiku",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                }
            }
        },
        "evolink-google": {
            "npm": "@ai-sdk/google",
            "name": "EvoLink Gemini",
            "options": {
                "baseURL": "https://direct.evolink.ai/v1beta",
                "apiKey": "your-evolink-api-key"
            },
            "models": {
                "gemini-2.5-flash": {
                    "name": "Gemini-2.5-Flash",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gemini-2.5-pro": {
                    "name": "Gemini-2.5-Pro",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gemini-3-flash-preview": {
                    "name": "Gemini-3-Flash-Preview",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gemini-3-pro-preview": {
                    "name": "Gemini-3-Pro-Preview",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gemini-3.1-flash-lite-preview": {
                    "name": "Gemini-3.1-Flash-Lite-Preview",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gemini-3.1-pro-preview": {
                    "name": "Gemini-3.1-Pro-Preview",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                }
            }
        },
        "evolink-openai": {
            "npm": "@ai-sdk/openai",
            "name": "EvoLink GPT",
            "options": {
                "baseURL": "https://direct.evolink.ai/v1",
                "apiKey": "your-evolink-api-key"
            },
            "models": {
                "gpt-5.1": {
                    "name": "GPT-5.1",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gpt-5.2": {
                    "name": "GPT-5.2",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gpt-5.4": {
                    "name": "GPT-5.4",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "gpt-5.5": {
                    "name": "GPT-5.5",
                    "modalities": { "input": ["text", "image"], "output": ["text"] }
                },
                "MiniMax-M2.5": {
                    "name": "MiniMax M2.5",
                    "modalities": { "input": ["text"], "output": ["text"] }
                }
            }
        }
    }
}
```

**⚠️ 중요:**

* `"your-evolink-api-key"`를 실제 API Key로 교체하세요
* JSON 형식은 기호에 민감합니다

## Step 3: OpenCode 사용 시작

### 1. OpenCode 실행

설정 파일을 저장한 후, 터미널을 재시작하고 작업 디렉토리로 이동합니다:

```shell theme={null}
cd your-working-directory
```

OpenCode를 실행합니다:

```shell theme={null}
opencode
```

### 2. 설정 확인

채팅 인터페이스에서 다음 명령어를 입력합니다:

```
/models
```

<img src="https://mintcdn.com/muyutechnology/K_Zw7kcC-XNOjX6V/images/opencode_image/2f257b9e-476d-4abf-98b1-0b7a54065e64.png?fit=max&auto=format&n=K_Zw7kcC-XNOjX6V&q=85&s=bfb56e79aa0c473986baefe0d119ce55" alt="OpenCode Interface and Model Selection" width="1818" height="1208" data-path="images/opencode_image/2f257b9e-476d-4abf-98b1-0b7a54065e64.png" />

모델 목록에서 EvoLink Claude, EvoLink Gemini, EvoLink GPT와 해당 모델들이 표시되어야 합니다. 하나를 선택하면 바로 사용할 수 있습니다!

## FAQ

### 1. OpenCode란 무엇이며 어떤 용도로 사용되나요?

OpenCode는 최신 TUI 인터페이스를 갖춘 오픈소스 터미널 AI 코딩 어시스턴트입니다. 코드 편집, 파일 작업, 명령어 실행을 지원하며, 터미널 환경에서의 AI 지원 프로그래밍에 적합합니다.

### 2. 처음 사용 시 설치 및 설정을 어떻게 확인하나요?

다음 단계를 순서대로 실행합니다:

* `opencode --version`: OpenCode가 설치되었는지 확인합니다
* OpenCode를 실행하고 `/models`를 입력합니다: 설정된 모델이 표시되는지 확인합니다

### 3. 설정 파일은 어디에 위치해야 하나요?

`opencode.json` 설정 파일은 다음 위치에 있어야 합니다:

* Windows: `C:\Users\{username}\.config\opencode\opencode.json`
* macOS / Linux: `~/.config/opencode/opencode.json`

### 4. OpenCode는 어떤 모델을 지원하나요?

EvoLink API를 통해 OpenCode는 다음 모델을 지원합니다:

**Claude 시리즈:**

* **Claude Opus 4.6 / Sonnet 4.6**: 최신 세대 모델
* **Claude 4.5 Opus / Sonnet / Haiku**: 고성능 모델 패밀리

**Gemini 시리즈:**

* **Gemini 2.5 Flash / Pro**: 안정적인 고성능 모델
* **Gemini 3 Flash / Pro Preview**: 차세대 프리뷰 모델
* **Gemini 3.1 Flash Lite / Pro Preview**: 최신 프리뷰 모델

**GPT 시리즈:**

* **GPT-5.1**: OpenAI의 고성능 모델
* **GPT-5.2**: 향상된 추론 능력
* **GPT-5.4**: 최신 플래그십 모델
* **GPT-5.5**: 차세대 플래그십 모델
* **MiniMax M2.5**: MiniMax 고성능 모델

### 5. 모델을 어떻게 전환하나요?

OpenCode 인터페이스에서 `/models` 명령어를 입력한 후, 목록에서 원하는 모델을 선택합니다.

### 6. 설정 변경이 적용되지 않는 이유는 무엇인가요?

* OpenCode를 재시작합니다
* `opencode.json` 구문을 확인합니다 (JSON 형식)
* 설정 파일 경로가 올바른지 확인합니다

### 7. 401/403 오류의 원인은 무엇인가요?

* **401 오류**: API Key가 설정되지 않았거나 유효하지 않습니다
* **403 오류**: 권한이 부족하거나 키가 만료되었습니다
* 설정 파일의 `apiKey`를 확인하세요

### 8. OpenCode가 로컬 파일과 코드를 자동으로 읽거나 업로드하나요?

OpenCode는 사용자가 명시적으로 승인한 경우에만 파일 내용을 읽습니다. 전용 프로젝트 폴더에서 사용하는 것을 권장합니다.

### 9. OpenCode는 한국어 입력 및 출력을 지원하나요?

네, 완벽하게 지원됩니다.

### 10. OpenCode는 어떤 시나리오에 적합한가요?

**적합한 경우:**

* 코드 작성, 디버깅 및 리팩토링
* 터미널 환경에서의 AI 지원 프로그래밍
* 파일 내용 분석 및 처리
* 최신 TUI 인터페이스를 선호하는 사용자

**적합하지 않은 경우:**

* 복잡한 GUI 상호작용
* 터미널 작업에 익숙하지 않은 사용자

### 11. 커맨드라인 터미널 여는 방법

<Tabs>
  <Tab title="Windows">
    * 방법 1: `Win + R`을 누르고, `cmd` 또는 `powershell`을 입력한 후 Enter를 누릅니다
    * 방법 2: 시작 메뉴에서 "명령 프롬프트" 또는 "PowerShell"을 검색합니다
    * 방법 3: 폴더에서 Shift를 누른 채 마우스 오른쪽 버튼을 클릭하고, "여기에 PowerShell 창 열기"를 선택합니다
  </Tab>

  <Tab title="macOS">
    * 방법 1: `Command + Space`를 눌러 Spotlight를 열고, `Terminal`을 입력한 후 Enter를 누릅니다
    * 방법 2: "응용 프로그램" → "유틸리티" → "터미널"로 이동합니다
  </Tab>

  <Tab title="Linux">
    * 방법 1: `Ctrl + Alt + T` 단축키를 누릅니다
    * 방법 2: 애플리케이션 메뉴에서 "Terminal"을 검색합니다
  </Tab>
</Tabs>

## 주의사항

<Warning>
  OpenCode는 전용 프로젝트 폴더에서 실행하세요. 민감한 디렉토리(시스템 폴더 또는 자격 증명이 포함된 디렉토리 등)에서 실행하지 마세요. OpenCode는 현재 작업 디렉토리를 기준으로 작동합니다.
</Warning>

<Tip>
  OpenCode는 JSON 형식의 설정 파일을 사용합니다. 설정 파일 구문이 올바른지 확인하세요. 온라인 JSON 검증 도구를 사용하여 형식을 확인할 수 있습니다.
</Tip>
