Kembali ke Blog

Cara Menggunakan 9Router untuk AI Coding di Zed Editor

Panduan setup 9Router sebagai API router untuk mengakses model AI seperti Claude Opus di Zed Editor dan tools lainnya.

API router adalah layanan yang kompatibel dengan format OpenAI. Dengan API router, kamu bisa mengakses berbagai model AI melalui satu endpoint yang seragam. Cocok dipakai di editor seperti Zed, VS Code, atau tools CLI seperti Claude Code.

Apa itu API Router?

API router adalah proxy yang meneruskan request kamu ke provider AI (Anthropic, OpenAI, dll) dengan format yang standar. Keuntungannya:

  • Satu endpoint untuk banyak model
  • Format OpenAI-compatible sehingga bisa dipakai di tools apa saja yang mendukung OpenAI API
  • Manajemen key terpusat tanpa perlu API key langsung dari setiap provider

Setup di Zed Editor

1. Buka Settings

Tekan Ctrl+, di Zed, atau buka Command Palette (Ctrl+Shift+P) lalu ketik "Open Settings".

2. Tambahkan konfigurasi language_models

Tambahkan blok berikut di settings.json:

{
  "language_models": {
    "openai_compatible": {
      "MyRouter": {
        "api_url": "https://your-router.example.com/v1",
        "available_models": [
          {
            "name": "your-model-name",
            "max_tokens": 200000,
            "max_output_tokens": 32000,
            "max_completion_tokens": 200000
          }
        ]
      }
    }
  }
}

3. Masukkan API Key

Setelah menyimpan settings, Zed akan meminta API key untuk provider "MyRouter". Masukkan key yang kamu dapat dari admin router.

4. Pilih model di Agent Panel

Buka Agent Panel di Zed (panel kanan), klik dropdown model di bagian bawah, dan pilih your-model-name dari provider MyRouter.

Selesai. Sekarang kamu bisa menggunakan Claude Opus untuk coding langsung di Zed.

Konfigurasi model

Beberapa parameter yang bisa kamu atur di available_models:

ParameterFungsiContoh

name

ID model yang tersedia di router

your-model-name

max_tokens

Batas token input (context window)

200000

max_output_tokens

Batas token output per response

32000

Menambahkan model lain

Kalau router menyediakan model lain, tambahkan di array available_models:

{
  "available_models": [
    {
      "name": "your-model-name",
      "max_tokens": 200000,
      "max_output_tokens": 32000
    },
    {
      "name": "another-model",
      "max_tokens": 200000,
      "max_output_tokens": 16000
    }
  ]
}

Pakai di tools lain

Karena formatnya OpenAI-compatible, kamu bisa memakainya di mana saja yang mendukung custom OpenAI endpoint:

cURL:

curl https://your-router.example.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-model-name",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Python (openai library):

from openai import OpenAI

client = OpenAI(
    base_url="https://your-router.example.com/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="your-model-name",
    messages=[{"role": "user", "content": "Hello"}]
)

Troubleshooting

  • 401 Unauthorized - API key salah atau belum dimasukkan. Cek kembali key di settings Zed
  • Model tidak muncul di dropdown - Pastikan name di settings sama persis dengan yang tersedia di router
  • Response lambat - Normal untuk model besar seperti Claude Opus yang perlu waktu berpikir, terutama dengan mode thinking aktif