Laras RouterDocs

Integrasi

Claude Code

Coding agent Anthropic untuk terminal. Panduan setup langkah demi langkah dengan Laras Router melalui Anthropic Messages API.

Di halaman ini

Panduan ini menghubungkan Claude Code ke Laras Router melalui Anthropic Messages API. Pengaturan koneksinya sudah dicek dengan dokumentasi gateway Claude Code.

Anda memerlukan API key (lr_live_…) dan saldo yang sudah diisi. Baru mengenal Laras Router? Mulai dari Quickstart.

Setup

Arahkan Claude Code ke Laras Router

Setel base URL dan kunci Anda di shell tempat Anda menjalankan Claude Code.

Shell
export ANTHROPIC_BASE_URL="https://api.larasrouter.com"
export ANTHROPIC_AUTH_TOKEN="lr_live_your_key_here"

Jangan tambahkan /v1 di base URL: Claude Code menambahkan /v1/messages sendiri. ANTHROPIC_AUTH_TOKEN mengirim kunci sebagai Authorization: Bearer, dan ANTHROPIC_API_KEY mengirimnya sebagai x-api-key. Laras Router menerima keduanya.

Pilih model

Claude Code mengirim nama model Claude kecuali Anda mengaturnya, dan Laras Router menjawabnya dengan 404 model_not_found. Arahkan setiap peran ke deepseek-flash.

Shell
export ANTHROPIC_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"

Akhiran [1m] memberi tahu Claude Code bahwa model ini punya jendela konteks 1 juta token. Tanpa akhiran itu, Claude Code tidak mengenali deepseek-flash, mengira jendelanya 200k token, menampilkan peringatan saat mulai, dan memadatkan percakapan jauh lebih awal dari yang perlu. Claude Code membuang akhiran itu sebelum mengirim request.

Variabel Haiku dan subagent penting: Claude Code memakai model itu untuk tugas latar belakang dan subagent, dan request dengan nama lain akan gagal.

Jalankan Claude Code

Jalankan claude, lalu /status. Baris Anthropic base URL harus menampilkan https://api.larasrouter.com dan baris kredensial harus menyebut ANTHROPIC_AUTH_TOKEN. Kirim satu pesan untuk memastikan jawaban masuk.

Simpan di file settings

Export di shell hanya berlaku untuk satu sesi terminal. Agar berlaku di mana pun Claude Code berjalan, simpan di blok env pada ~/.claude/settings.json.

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.larasrouter.com",
    "ANTHROPIC_AUTH_TOKEN": "lr_live_your_key_here",
    "ANTHROPIC_MODEL": "deepseek-flash[1m]",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-flash[1m]",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-flash[1m]",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-flash",
    "CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-flash"
  }
}

Jangan simpan kunci di .claude/settings.json milik proyek: file itu di-commit dan dibagikan ke semua orang yang meng-clone repositori.

Cek koneksi lebih dulu

Untuk menyingkirkan Claude Code sebagai penyebab, kirim satu request dengan curl.

Shell
curl -sS https://api.larasrouter.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model": "deepseek-flash", "max_tokens": 16, "messages": [{"role": "user", "content": "Say hi."}]}'

Balasan JSON yang diawali {"id":"msg_ berarti kunci dan modelnya benar.

Perlu diketahui

  • Baris diagnostik [claude-code:unrecognized_model] mungkin masih muncul saat Anda menjalankan claude -p. Ini hanya informasi: Claude Code tidak mengenal id modelnya, dan akhiran [1m] sudah memberinya jendela konteks.
  • Buat API key terpisah untuk Claude Code dengan anggaran bulanan. Agent coding mengirim ulang seluruh percakapan di setiap giliran, jadi sesi yang panjang cepat bertambah biayanya.
  • Claude Code meminta deepseek-flash melakukan reasoning, dan token reasoning ditagih sebagai output. Pemakaian yang ditampilkan Claude Code adalah pemakaian yang ditagihkan kepada Anda.
  • Input gambar tidak didukung: menempelkan gambar gagal dengan 400 invalid_request_error. Web search berjalan di server Anthropic dan tidak tersedia.
  • POST /v1/messages/count_tokens tidak disediakan. Claude Code beralih ke perkiraan berbasis karakter, jadi /context menampilkan angka perkiraan.
  • Streaming menjaga koneksi tetap hidup dengan event ping saat jeda panjang, jadi batas idle Claude Code tidak memutus generasi yang panjang.
  • Untuk menghentikan Claude Code mengirim lalu lintas latar belakang ke Anthropic (cek pembaruan, telemetri), tambahkan CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1. Ini juga mematikan pembaruan otomatis.

Pemecahan masalah

Yang Anda lihatPenyebabSolusi
404 dengan model_not_foundNama model Claude sampai ke Laras RouterSetel ANTHROPIC_MODEL dan variabel ANTHROPIC_DEFAULT_*_MODEL dari langkah di atas
Peringatan saat mulai bahwa Claude Code "mengira jendela konteks 200k token"Model disetel tanpa [1m]Pakai deepseek-flash[1m] untuk ANTHROPIC_MODEL, Opus, dan Sonnet, seperti pada langkah di atas
401 dengan authentication_errorKunci salah, dicabut, atau terpotongSalin ulang kunci dari konsol. Cek /status untuk melihat variabel yang dipakai
402 dengan billing_errorSaldo atau anggaran kunci tidak cukup untuk request iniIsi saldo atau naikkan anggaran kunci
400 yang menyebut gambarAda gambar yang dilampirkanHapus gambarnya; model hanya menerima teks
429 dengan rate_limit_errorKunci mencapai batas request atau konkurensiTunggu sesuai Retry-After. Lihat Rate limit
Claude Code meminta Anda loginTidak ada kredensial di lingkungan tempat ia dijalankanSetel ANTHROPIC_AUTH_TOKEN lewat export shell atau ~/.claude/settings.json, lalu jalankan ulang claude

Pengaturan dan tampilan bisa berubah antarversi. Jika ada yang berbeda, cek dokumentasi Claude Code. Untuk tool lain, lihat semua integrasi.