Jalankan Open Interpreter di endpoint OpenAI-compatible custom.
Updated 2026-07-30
Open Interpreter mengekspos api_base secara langsung. Arahkan ke https://api.apisrouter.com/v1, beri prefiks openai/ pada id model agar LiteLLM berbicara chat completions, dan model yang menulis serta menjalankan kode di mesin Anda bisa jadi id apa pun di katalog di bawah satu key.
Jawaban singkat: api_base plus prefiks model openai/.
Open Interpreter mendokumentasikan jalur endpoint-custom di kedua antarmukanya. Di CLI, berikan --api_base dengan endpoint-nya dan --model dengan prefiks openai/ pada id-nya. Di Python, setel interpreter.llm.api_base, interpreter.llm.api_key, dan interpreter.llm.model sebelum memanggil chat(). Prefiksnya bukan dekorasi. Open Interpreter berjalan di atas LiteLLM, dan LiteLLM meresolusi client provider mana yang dipakai dari string model. openai/claude-sonnet-4-6 berarti "bicara protokol chat-completions OpenAI ke apa pun yang dikatakan api_base, dengan claude-sonnet-4-6 sebagai field model." Hilangkan prefiksnya dan LiteLLM malah menyimpulkan provider dari nama polosnya, merutekan id claude-* ke arah client Anthropic dan mengabaikan endpoint yang Anda konfigurasi.
export OPENAI_API_KEY=sk-APIsRouter-...
interpreter \
--api_base https://api.apisrouter.com/v1 \
--model openai/claude-sonnet-4-6Apa yang dilakukan Open Interpreter dengan modelnya.
Open Interpreter (openinterpreter di GitHub, sekitar 66K bintang) memberi language model sebuah code interpreter di mesin Anda: Anda menyatakan goal dalam bahasa natural, model menulis Python atau shell, Open Interpreter mengeksekusinya secara lokal, dan output-nya menyuapi kembali ke percakapan untuk langkah berikutnya. Loop itu membuatnya secara kualitatif berbeda dari chat client. Model itu tidak menghasilkan prosa; ia menghasilkan kode yang berjalan dengan izin pengguna Anda, dan ia beriterasi terhadap error nyata dari sistem nyata Anda. Dua konsekuensi mengikuti untuk routing. Pertama, kualitas model secara langsung adalah properti keamanan dan kebenaran: model yang berhalusinasi flag atau salah membaca traceback menghasilkan satu round trip gagal lagi, dan dalam mode auto-run itu menghasilkan satu yang tidak Anda tinjau. Kedua, loop-nya lapar-token dengan cara yang spesifik: setiap giliran mengirim ulang percakapan yang tumbuh, kode, dan output yang ditangkap, jadi sesi debugging panjang melipatgandakan context dengan cepat. Pengaturan api_base menggerakkan seluruh loop ini ke satu endpoint. Karena field model diteruskan sebagai string biasa setelah prefiks openai/, id Claude, id GPT, dan id DeepSeek adalah pilihan satu-flag yang bisa dipertukarkan alih-alih setup provider terpisah.
Setup lengkap: Python API dan profile.
Jalur Python menyetel tiga nilai yang sama di interpreter.llm dan menambahkan dua pengaturan yang tidak bisa ditemukan LiteLLM untuk id custom: context_window dan max_tokens. Open Interpreter memakai context_window untuk memutuskan berapa banyak riwayat percakapan yang disimpan sebelum dipangkas, jadi membiarkannya tidak diset atau default pada model 200k memangkas jauh lebih awal dari yang seharusnya; deklarasikan apa yang benar-benar didukung model. Untuk setup yang persisten, key yang sama hidup di profile YAML di bawah block llm: (buka direktori profile dengan interpreter --profiles). Profile menjaga pengaturan endpoint, model, dan window keluar dari shell history Anda dan membuat konfigurasi bisa dibagikan lintas mesin, dengan key tetap disediakan oleh environment.
import os
from interpreter import interpreter
interpreter.llm.api_base = "https://api.apisrouter.com/v1"
interpreter.llm.api_key = os.environ["APISROUTER_API_KEY"]
interpreter.llm.model = "openai/claude-sonnet-4-6"
# LiteLLM cannot infer these for a custom id; declare them:
interpreter.llm.context_window = 200000
interpreter.llm.max_tokens = 8192
interpreter.llm.supports_functions = True
interpreter.chat("Profile data.csv and plot the top 10 rows by revenue.")Memilih model yang menulis kode Anda.
Perbandingan model di sini luar biasa konkret: beri dua model task yang sama dan hitung round trip menuju hasil yang berhasil. Tampilan penggunaan per-key menambahkan biaya token per sesi, yang bersama hitungan round-trip adalah seluruh perbandingannya. Di balik satu endpoint, setiap kandidat hanya satu flag.
- Loop utama menginginkan model yang menulis kode yang bisa dijalankan dan membaca traceback dengan baik pada pass pertama; claude-sonnet-4-6 dan gpt-5.5 adalah menengah yang bisa diandalkan, dan setiap round trip gagal yang dihindari model lebih baik adalah token dan waktu nyata yang dihemat.
- deepseek-v4-pro adalah kandidat kuat untuk sesi berat-kode di mana volume penting; lewat satu endpoint, mencobanya terhadap task Anda sendiri hanya perubahan --model tunggal.
- Sesi utility cepat (rename file, transformasi sekali-pakai, konversi format) tidak membutuhkan reasoning frontier; claude-haiku-4-5-20251001 atau glm-5.2 menjaganya tetap cepat dan murah.
- Mode auto-run (-y) menghilangkan langkah tinjauan manusia antara generasi kode dan eksekusi. Jika Anda memakainya sama sekali, pakai dengan model terkuat yang Anda jalankan, di dalam sandbox atau container, jangan pernah dengan model yang masih Anda evaluasi.
Bayar sesuai pemakaian · di bawah harga resmi
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Harga Resmi | Harga Kami |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GLM-5.2 | $1.14 / $4.00 per M | $1.10 / $4.00 per M |
Mode kegagalan spesifik Open Interpreter.
Id model polos merutekan mengelilingi endpoint Anda. Tanpa prefiks openai/, LiteLLM meresolusi provider dari namanya: id claude-* menuju client Anthropic, dan hasilnya adalah error auth atau routing terhadap host yang tidak pernah Anda konfigurasi. Jika error menyebut SDK vendor alih-alih gateway Anda, prefiksnya hilang. Asumsi context default memangkas sesi Anda. Untuk id yang tidak dikenal LiteLLM, tidak ada yang mengisi context window; Open Interpreter fallback ke perilaku konservatif dan memangkas riwayat lebih awal. Deklarasikan context_window secara eksplisit, karena sesi debugging-kode yang kehilangan percobaan sebelumnya mengulang kesalahan yang sama. Sesi yang tumbuh, tagihan yang tumbuh. Setiap giliran mengirim ulang percakapan plus kode plus output yang ditangkap. Sesi yang menempelkan dataframe besar atau log panjang ke loop membawanya di setiap request berikutnya. Lebih baik biarkan model menulis kode yang memeriksa file daripada menempelkan isi file ke chat, dan mulai sesi baru saat task berubah. Ketidakcocokan function-calling. Open Interpreter bisa memakai function call terstruktur di tempat yang didukung; flag supports_functions ada untuk id di mana deteksinya menebak salah. Jika code block tiba dengan format rusak pada model yang Anda tahu mampu, setel ke True secara eksplisit; jika model benar-benar tidak punya dukungan tool, setel False agar jalur fallback aktif. Sisi eksekusi adalah milik Anda. api_base menggerakkan traffic model; kodenya tetap berjalan lokal dengan izin Anda. Gateway tidak men-sandbox apa pun, jadi jaga auto-run tetap terkurung di container dan biarkan tinjauan keamanan tetap ada di loop di tempat lain.
Siapa yang merutekan Open Interpreter melalui gateway.
- Developer yang memakai Open Interpreter sebagai tool otomasi harian dan menginginkan generasi kode berkualitas-Claude, variasi GPT, dan id utility cepat di balik satu key.
- Orang data yang menjalankan loop analisis eksploratif, di mana satu sesi bisa menghabiskan context yang mengejutkan dan penggunaan per-key membuat biaya per-setara-notebook terlihat.
- Engineer yang membandingkan model penulis-kode berdasarkan round-trip-menuju-berhasil, benchmark paling jujur yang tersedia, satu flag --model per kandidat.
- Tinkerer yang menjalankan job interpreter terjadwal atau di container, di mana endpoint via env-var dan satu secret mengalahkan kumpulan kredensial per-vendor.
- Developer tanpa akses ke billing vendor tertentu. Akses berbasis top-up tanpa syarat kartu menghilangkan ketergantungan sign-up per provider.
Verifikasi endpoint dan debug sesi pertama.
Daftar model gateway dulu; id setelah openai/ harus cocok persis dengan id yang dilayani, termasuk suffix versi. Kegagalan sesi pertama mengikuti sebuah pola. Error yang menyebut anthropic atau SDK vendor lain berarti prefiks openai/ hilang dan LiteLLM merutekan berdasarkan nama. 401 berarti key tidak terlihat di shell yang meluncurkan interpreter, atau diset untuk variabel berbeda dari yang dipakai; dengan prefiks terpasang, OPENAI_API_KEY atau api_key eksplisit sama-sama berfungsi. Error model-not-found dari gateway adalah salah ketik id. Error koneksi biasanya berarti api_base kehilangan suffix /v1-nya; client menambahkan /chat/completions ke base apa pun yang Anda berikan. Setelah loop berjalan, konsol APIsRouter menunjukkan model per request, hitungan token, dan pengeluaran. Sesi interpreter adalah kasus klasik beban kerja yang terasa kecil tapi menagih sedang, dan tampilan penggunaan adalah cara Anda melihat sesi mana yang sebenarnya membawa token.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Pertanyaan umum
Bisakah Open Interpreter menjalankan model Claude atau DeepSeek lewat satu endpoint?
Ya. Dengan api_base diarahkan ke gateway dan prefiks openai/ pada id model, LiteLLM berbicara chat completions standar ke endpoint itu dan meneruskan id sebagai string biasa. Id Claude, GPT, DeepSeek, dan GLM semuanya berfungsi dengan dua pengaturan yang sama.
Mengapa id model butuh prefiks openai/?
Open Interpreter berjalan di atas LiteLLM, yang memilih client provider-nya dari string model. Prefiks openai/ memaksa client protokol-OpenAI yang mengarah ke api_base Anda. Id claude-* polos malah teresolusi ke client Anthropic dan mengabaikan endpoint Anda.
Environment variable mana yang memegang key-nya?
Dengan prefiks openai/ berlaku, OPENAI_API_KEY adalah pilihan konvensional, atau setel interpreter.llm.api_key secara eksplisit di Python, atau berikan --api_key di CLI. Jaga key keluar dari profile dan script; environment adalah rumah yang tepat untuknya.
Apakah saya perlu mengatur context_window secara manual?
Untuk id custom, ya. LiteLLM tidak bisa menyimpulkan window untuk model yang tidak dikenalnya, dan Open Interpreter memangkas riwayat percakapan berdasarkan angka ini. Deklarasikan window nyata model (200000 untuk id Claude di tabel) atau sesi panjang kehilangan context awalnya.
Apakah merutekan lewat gateway membuat auto-run (-y) aman?
Tidak. Gateway membawa traffic model; kode yang dihasilkan tetap dieksekusi lokal dengan izin Anda. Auto-run menghilangkan langkah tinjauan, jadi kurung dalam container atau sandbox terlepas dari endpoint mana yang melayani model.
Berapa banyak token yang dipakai satu sesi interpreter?
Berskala dengan jumlah giliran dan apa yang masuk ke loop: setiap round trip mengirim ulang percakapan, kode, dan output yang ditangkap. Task utility singkat sederhana; sesi debugging panjang dengan data yang ditempel berlipat ganda dengan cepat. Tampilan penggunaan per-key di konsol APIsRouter menunjukkan angka nyata per sesi.