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

# OpenCode

> Konfigurasikan OpenCode untuk menggunakan TokenLab API

## Ringkasan

OpenCode adalah asisten coding AI open-source yang berjalan di terminal Anda. Ini mendukung banyak penyedia LLM dan dapat dikonfigurasikan untuk menggunakan API TokenLab guna mengakses ratusan model.

<Note>
  **Jenis**: Alat coding

  **Jalur utama**: kompatibel OpenAI

  **Tingkat dukungan**: Jalur yang didukung
</Note>

## Instalasi

<Tabs>
  <Tab title="Script Instalasi">
    ```bash theme={null}
    curl -fsSL https://opencode.ai/install | bash
    ```
  </Tab>

  <Tab title="Homebrew">
    ```bash theme={null}
    brew install opencode-ai/tap/opencode
    ```

    Atau gunakan tap komunitas (pembaruan lebih sering):

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

  <Tab title="Go">
    ```bash theme={null}
    go install github.com/opencode-ai/opencode@latest
    ```
  </Tab>
</Tabs>

Verifikasi instalasi:

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

## Konfigurasi

### Langkah 1: Atur Environment Variable

```bash theme={null}
export OPENAI_API_KEY="sk-your-tokenlab-key"
```

Untuk konfigurasi permanen, tambahkan ke `~/.bashrc` atau `~/.zshrc`:

```bash theme={null}
echo 'export OPENAI_API_KEY="sk-your-tokenlab-key"' >> ~/.zshrc
source ~/.zshrc
```

### Langkah 2: Konfigurasikan OpenCode

Dokumentasi OpenCode saat ini merekomendasikan konfigurasi penyedia melalui `opencode.json` atau `opencode.jsonc`. Untuk TokenLab, gunakan penyedia kustom alih-alih menimpa penyedia bawaan `openai`:

```jsonc theme={null}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "tokenlab": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "TokenLab",
      "options": {
        "baseURL": "https://api.tokenlab.sh/v1",
        "apiKey": "{env:OPENAI_API_KEY}"
      },
      "models": {
        "gpt-5.4": {
          "name": "GPT-5.4"
        },
        "gpt-5-mini": {
          "name": "GPT-5 Mini"
        }
      }
    }
  },
  "model": "tokenlab/gpt-5.4"
}
```

<Note>
  Gunakan `@ai-sdk/openai-compatible` untuk kompatibilitas gaya chat-completions. Jika Anda secara khusus membutuhkan jalur penyedia yang dibangun di atas `/v1/responses`, dokumentasi OpenCode merekomendasikan untuk mengganti package menjadi `@ai-sdk/openai`.
</Note>

## Penggunaan Dasar

**Mulai mode interaktif:**

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

**Jalankan dengan prompt:**

```bash theme={null}
opencode "Explain this codebase"
```

**Tentukan model:**

```bash theme={null}
opencode --model tokenlab/gpt-5.4 "Fix the bugs in main.py"
```

## Model yang Tersedia

| Model               | Paling Cocok Untuk               |
| ------------------- | -------------------------------- |
| `gpt-5.4`           | Tugas kompleks, arsitektur kode  |
| `gpt-5-mini`        | Perbaikan cepat, query sederhana |
| `claude-sonnet-4-6` | Review kode, dokumentasi         |
| `claude-opus-4-6`   | Penalaran kompleks               |
| `gemini-3.5-flash`  | Respons cepat                    |
| `deepseek-r1`       | Desain algoritma                 |

## Perintah Umum

**Analisis kode:**

```bash theme={null}
opencode "What does this function do?" < src/utils.ts
```

**Hasilkan kode:**

```bash theme={null}
opencode "Create a REST API with Express"
```

**Review perubahan:**

```bash theme={null}
git diff | opencode "Review these changes"
```

**Perbaiki error:**

```bash theme={null}
opencode "Fix the TypeScript errors in this project"
```

## Perintah Interaktif

| Command         | Deskripsi                        |
| --------------- | -------------------------------- |
| `/help`         | Tampilkan perintah yang tersedia |
| `/model <name>` | Beralih ke model yang berbeda    |
| `/clear`        | Hapus riwayat percakapan         |
| `/exit`         | Keluar dari OpenCode             |

## Pemecahan Masalah

<AccordionGroup>
  <Accordion title="Error Koneksi">
    * Verifikasi `options.baseURL` diatur ke `https://api.tokenlab.sh/v1`
    * Periksa konektivitas jaringan
    * Coba `curl https://api.tokenlab.sh/v1/models` untuk pengujian
  </Accordion>

  <Accordion title="Autentikasi Gagal">
    * Verifikasi environment variable `OPENAI_API_KEY` telah diatur
    * Verifikasi `options.apiKey` mereferensikan `{env:OPENAI_API_KEY}` atau sumber secret valid lainnya
    * Periksa bahwa key diawali dengan `sk-`
    * Pastikan key aktif di dashboard TokenLab
  </Accordion>

  <Accordion title="Model Tidak Ditemukan">
    * Periksa nama model di config harus sama persis
    * Verifikasi ketersediaan model di [tokenlab.sh/en/models](https://tokenlab.sh/id/models)
  </Accordion>
</AccordionGroup>

## Praktik Terbaik

<AccordionGroup>
  <Accordion title="Gunakan konteks project">
    Jalankan OpenCode dari root project Anda agar pemahaman terhadap codebase menjadi lebih baik.
  </Accordion>

  <Accordion title="Pilih model yang sesuai">
    Gunakan model yang lebih cepat (`gpt-5-mini`) untuk tugas sederhana dan model yang lebih kuat (`gpt-5.4`, `claude-sonnet-4-6`) untuk tugas yang kompleks.
  </Accordion>

  <Accordion title="Review kode yang dihasilkan">
    Selalu review kode yang dihasilkan AI sebelum menerapkan perubahan pada project Anda.
  </Accordion>
</AccordionGroup>
