> ## 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.

# Penyiapan Penyedia TokenLab

> Konfigurasikan TokenLab sebagai penyedia kustom di OpenClaw menggunakan rute yang kompatibel dengan OpenAI, Responses, Anthropic, dan Gemini

<Note>
  Panduan ini ditujukan untuk pengguna **self-hosted OpenClaw** yang ingin menghubungkan TokenLab sebagai penyedia AI mereka.
</Note>

## Disarankan: instal plugin

Untuk eksekusi agen OpenClaw standar, instal plugin penyedia TokenLab:

```bash theme={null}
openclaw plugins install @tokenlabai/openclaw-provider
openclaw onboard --tokenlab-api-key "$TOKENLAB_API_KEY"
```

Plugin mengambil katalog model chat aktif TokenLab dan menyimpan 18 model fallback untuk penemuan offline. Model menggunakan format `tokenlab/<model-id>`.

[Paket npm](https://www.npmjs.com/package/@tokenlabai/openclaw-provider) · [Daftar ClawHub](https://clawhub.ai/tokenlabai/plugins/openclaw-provider) · [Kode sumber](https://github.com/hedging8563/tokenlab-openclaw-provider)

## Konfigurasi penyedia manual

Gunakan entri `models.providers` manual di bawah hanya saat Anda secara eksplisit membutuhkan rute terpisah untuk **Responses API**, **Claude native**, **Gemini native**, atau **MiniMax native**.

Jika Anda memilih konfigurasi manual, mengonfigurasi `tokenlab` saja sudah cukup. Tambahkan penyedia lain hanya ketika Anda secara eksplisit membutuhkan perilaku **Responses API**, **Claude native**, **Gemini native**, atau **MiniMax native**.

| Penyedia             | OpenClaw `api`         | Cocok untuk                                                                     | baseUrl                      |
| -------------------- | ---------------------- | ------------------------------------------------------------------------------- | ---------------------------- |
| `tokenlab`           | `openai-completions`   | GPT, DeepSeek, Qwen, dan sebagian besar panggilan yang kompatibel dengan OpenAI | `https://api.tokenlab.sh/v1` |
| `tokenlab-responses` | `openai-responses`     | Alur kerja OpenAI Responses yang mengharapkan semantik `/v1/responses`          | `https://api.tokenlab.sh/v1` |
| `tokenlab-claude`    | `anthropic-messages`   | API Pesan Claude Native                                                         | `https://api.tokenlab.sh`    |
| `tokenlab-gemini`    | `google-generative-ai` | Format API Gemini native                                                        | `https://api.tokenlab.sh`    |
| `tokenlab-minimax`   | `anthropic-messages`   | Routing MiniMax native                                                          | `https://api.tokenlab.sh`    |

<Warning>
  Gunakan sufiks `/v1` hanya untuk `openai-completions` dan `openai-responses`.

  Penyedia native seperti `anthropic-messages` dan `google-generative-ai` harus menggunakan `https://api.tokenlab.sh` tanpa `/v1`, jika tidak OpenClaw mungkin menyusun path upstream yang salah.
</Warning>

## Prasyarat

* Instance OpenClaw self-hosted
* Kunci API TokenLab — [Dapatkan satu di sini](https://tokenlab.sh/dashboard)

## Konfigurasi

Edit konfigurasi OpenClaw Anda:

* **Hosting sendiri**: `~/.openclaw/openclaw.json`

Tambahkan penyedia TokenLab di bawah `models.providers`:

```json5 theme={null}
{
  agents: {
    defaults: {
      model: {
        primary: "tokenlab-claude/claude-sonnet-4-6"
      }
    }
  },
  models: {
    mode: "merge",
    providers: {
      tokenlab: {
        api: "openai-completions",
        baseUrl: "https://api.tokenlab.sh/v1",
        apiKey: "sk-your-tokenlab-key",
        models: [
          { id: "gpt-4o", name: "GPT-4o" },
          { id: "deepseek-r1", name: "DeepSeek R1" },
          { id: "qwen3-coder-flash", name: "Qwen 3 Coder Flash" }
        ]
      },
      "tokenlab-responses": {
        api: "openai-responses",
        baseUrl: "https://api.tokenlab.sh/v1",
        apiKey: "sk-your-tokenlab-key",
        models: [
          { id: "gpt-4o", name: "GPT-4o (Responses)" },
          { id: "gpt-5.2", name: "GPT-5.2 (Responses)" }
        ]
      },
      "tokenlab-claude": {
        api: "anthropic-messages",
        baseUrl: "https://api.tokenlab.sh",
        apiKey: "sk-your-tokenlab-key",
        models: [
          { id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
          { id: "claude-opus-4-6", name: "Claude Opus 4.6" }
        ]
      },
      "tokenlab-gemini": {
        api: "google-generative-ai",
        baseUrl: "https://api.tokenlab.sh",
        apiKey: "sk-your-tokenlab-key",
        models: [
          { id: "gemini-3.5-flash", name: "Gemini 3.5 Flash" },
          { id: "gemini-2.5-pro", name: "Gemini 2.5 Pro" }
        ]
      },
      "tokenlab-minimax": {
        api: "anthropic-messages",
        baseUrl: "https://api.tokenlab.sh",
        apiKey: "sk-your-tokenlab-key",
        models: [
          { id: "minimax-m3", name: "MiniMax M3" }
        ]
      }
    }
  }
}
```

<Info>
  Kelima penyedia menggunakan **API Key yang sama**. Anda hanya membutuhkan satu akun TokenLab.
</Info>

<Info>
  Array `models` di atas hanya menampilkan contoh umum. Tambahkan lebih banyak ID model ke masing-masing penyedia sesuai kebutuhan.
</Info>

## Menggunakan Model

OpenClaw masih merujuk model dengan format `provider/model`:

```json5 theme={null}
{
  agents: {
    defaults: {
      model: {
        primary: "tokenlab-gemini/gemini-3.5-flash"
      }
    }
  }
}
```

### Contoh Model

| Penyedia             | Referensi model                     | Deskripsi                          |
| -------------------- | ----------------------------------- | ---------------------------------- |
| `tokenlab`           | `tokenlab/gpt-4o`                   | Rute yang kompatibel dengan OpenAI |
| `tokenlab`           | `tokenlab/deepseek-r1`              | Model penalaran DeepSeek           |
| `tokenlab-responses` | `tokenlab-responses/gpt-4o`         | Rute Responses API                 |
| `tokenlab-claude`    | `tokenlab-claude/claude-sonnet-4-6` | Rute native Claude Messages        |
| `tokenlab-gemini`    | `tokenlab-gemini/gemini-3.5-flash`  | Rute native Gemini                 |
| `tokenlab-minimax`   | `tokenlab-minimax/minimax-m3`       | Rute native MiniMax                |

Telusuri semua model yang tersedia di [tokenlab.sh/models](https://tokenlab.sh/id/models).

## Kapan Menggunakan Penyedia Mana

* `tokenlab`: pilihan default untuk sebagian besar kasus penggunaan agen dan obrolan umum.
* `tokenlab-responses`: gunakan ketika alur kerja OpenClaw Anda secara eksplisit bergantung pada semantik OpenAI Responses.
* `tokenlab-claude`: gunakan ketika Anda menginginkan perilaku Messages native Claude.
* `tokenlab-gemini`: gunakan ketika Anda menginginkan pemformatan permintaan/respon native Gemini atau integrasi bergaya Gemini yang sudah ada.
* `tokenlab-minimax`: gunakan ketika Anda menginginkan MiniMax melalui rute native-nya.

Jika Anda tidak memerlukan perilaku Gemini-native, Anda masih dapat memanggil model Gemini melalui `tokenlab/gemini-*` pada rute yang kompatibel dengan OpenAI.

## Kesalahan Umum

<AccordionGroup>
  <Accordion title="Masih menggunakan array penyedia tingkat atas yang lama">
    Dokumentasi OpenClaw saat ini menggunakan `models.providers`. Jika Anda mempertahankan format array `providers` tingkat atas yang lebih lama, OpenClaw mungkin mengabaikan konfigurasi atau gagal menyelesaikan prefix penyedia sebagaimana diharapkan.
  </Accordion>

  <Accordion title="Lupa menambahkan /v1 pada tokenlab-responses">
    `openai-responses` memetakan ke path `/v1/responses` di TokenLab, jadi `tokenlab-responses` harus menggunakan `https://api.tokenlab.sh/v1`.
  </Accordion>

  <Accordion title="Menambahkan /v1 ke tokenlab-claude, tokenlab-gemini, atau tokenlab-minimax">
    `anthropic-messages` dan `google-generative-ai` harus menggunakan `https://api.tokenlab.sh` tanpa `/v1`. Menambahkan `/v1` dapat menghasilkan path permintaan yang tidak benar.
  </Accordion>

  <Accordion title="Apakah OpenClaw masih mendukung Gemini native?">
    Ya. Dokumentasi OpenClaw saat ini masih menyertakan penyedia bawaan `google` dan juga mendukung penyedia kustom yang menggunakan `api: "google-generative-ai"`. Jadi `tokenlab-gemini` tetap menjadi rute Gemini native yang valid bagi pengguna OpenClaw.
  </Accordion>
</AccordionGroup>

## Verifikasi Pengaturan

Setelah menyimpan konfigurasi, restart instance OpenClaw Anda dan uji dengan pesan sederhana. Jika Anda melihat respons, penyedia dikonfigurasi dengan benar.

```bash theme={null}
# Hosting sendiri: mulai ulang layanan
systemctl --user restart openclaw    # Linux
launchctl stop cc.tokenlab.openclaw && launchctl start cc.tokenlab.openclaw  # macOS
```

## Langkah Selanjutnya

Setelah OpenClaw tersambung, panduan berikut membantu Anda menggunakan TokenLab dengan lebih efektif:

* [Format API](/guides/api-formats) — pahami perbedaan antara rute OpenAI, Responses, Anthropic, dan Gemini
* [IDE / SDK Compatibility](/guides/ide-sdk-compatibility) — lihat kapan `/v1/responses` adalah pilihan yang lebih cocok
* [Penanganan error](/guides/error-handling) — pelajari mode kegagalan umum dan pola pemulihan
* [Ringkasan model](https://tokenlab.sh/id/models) — telusuri ID model sebelum menghubungkannya ke agen
