Arahkan NextChat ke endpoint OpenAI-compatible custom.

Updated 2026-07-29

NextChat meng-override API host-nya dengan satu environment variable BASE_URL pada deploy server, atau endpoint custom in-app di Settings pada client. Tambahkan id katalog lewat CUSTOM_MODELS dengan suffix @OpenAI dan Claude, Gemini, serta DeepSeek muncul di model picker yang sama di bawah satu key.

Jawaban singkat: BASE_URL, satu key, dan daftar model.

Pada deploy server (Vercel, Docker, atau Node telanjang), tiga environment variable mengerjakan semuanya. BASE_URL meng-override ke mana request API pergi; README-nya mendeskripsikannya sebagai "override openai api request base url" dengan default https://api.openai.com, dan nilainya dimasukkan tanpa /v1 karena NextChat menambahkan path request-nya sendiri. OPENAI_API_KEY membawa key gateway. CUSTOM_MODELS mengontrol model picker: plus menambahkan model, minus menyembunyikan satu, -all membersihkan daftar default, dan name=displayName mengganti nama entri. Detail yang membuat id multi-vendor berfungsi adalah suffix provider. NextChat menyertakan jalur kode client terpisah untuk beberapa vendor, jadi id claude polos yang ditambahkan ke CUSTOM_MODELS bisa muncul di bawah jalur Anthropic, yang mengharapkan key dan format request berbeda. Menambahkan @OpenAI ke id, seperti di +claude-sonnet-4-6@OpenAI, mem-pin model ke jalur OpenAI-compatible sehingga request pergi ke BASE_URL Anda dalam format chat-completions standar terlepas dari vendor mana yang melatih model itu.

BASE_URL=https://api.apisrouter.com        # no /v1
OPENAI_API_KEY=sk-APIsRouter-...
CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI,+deepseek-v4-pro@OpenAI
DEFAULT_MODEL=claude-sonnet-4-6

Bagaimana NextChat me-resolve endpoint-nya.

NextChat (ChatGPTNextWeb di GitHub, sekitar 88K bintang) adalah salah satu frontend chat yang paling banyak di-deploy yang ada: web app ringan dengan deployment Vercel satu-klik plus client terpaket untuk iOS, macOS, Android, Windows, dan Linux. Popularitasnya berasal dari mekanisme yang persis dipakai halaman ini, semuanya adalah permukaan konfigurasi, dan endpoint hanyalah pengaturan lain. Ada dua permukaan itu. Deploy server membaca environment variable saat build dan boot: BASE_URL menentukan host-nya, OPENAI_API_KEY mengautentikasi, dan CUSTOM_MODELS membentuk picker untuk setiap pengguna deployment itu. Client dan web UI-nya juga mengekspos jalur in-app: Settings, Model Provider, pilih OpenAI, lalu isi field endpoint dan key serta daftarkan id ekstra di field custom model names. Jalur in-app menyimpan nilai secara lokal per device, yang membuatnya permukaan yang tepat untuk client pribadi, sementara env var adalah permukaan yang tepat untuk deployment yang dipakai orang lain. Bagaimanapun caranya, request yang keluar dari NextChat adalah chat completion standar terhadap endpoint Anda dengan id model sebagai string biasa. Dengan gateway multi-vendor di balik BASE_URL, deployment yang sama melayani Claude untuk jawaban panjang, id Gemini cepat untuk pertanyaan singkat, dan DeepSeek atau GLM untuk traffic dwibahasa, semuanya melalui satu key.

Setup lengkap: deploy server atau pengaturan in-app.

Untuk deploy Vercel, set variabel di pengaturan environment project dan redeploy; Vercel memanggang nilai env saat build, jadi mengedit variabel tanpa redeploy tidak mengubah apa pun. Untuk Docker, kirim variabel yang sama dengan flag -e atau file env. Variabel CODE layak diset di deployment publik mana pun, itu menggerbangi akses dengan password agar orang asing tidak bisa menghabiskan key Anda. Jalur in-app tidak butuh deployment sama sekali. Di Settings, pilih provider OpenAI, ganti endpoint dengan https://api.apisrouter.com, tempel key-nya, dan tambahkan id di field custom model names memakai sintaks yang sama seperti environment variable-nya. Beginilah cara client desktop dan mobile bekerja dengan gateway, dan ini juga cara tercepat untuk menguji nilai sebelum mengkomitkannya ke deploy server. DEFAULT_MODEL memilih model apa yang dipakai chat baru untuk memulai, yang lebih penting dari kedengarannya pada deployment bersama: sebagian besar pengguna tidak pernah mengganti model, jadi id default adalah tempat sebagian besar pengeluaran mendarat. Set dengan sengaja ke model yang Anda ingin membawa traffic kasual.

docker run -d -p 3000:3000 \
  -e BASE_URL=https://api.apisrouter.com \
  -e OPENAI_API_KEY=$APISROUTER_API_KEY \
  -e CUSTOM_MODELS="-all,+claude-sonnet-4-6@OpenAI,+claude-haiku-4-5-20251001@OpenAI,+gemini-3.5-flash@OpenAI" \
  -e DEFAULT_MODEL=claude-haiku-4-5-20251001 \
  -e CODE=your-access-password \
  yidadaa/chatgpt-next-web

Memilih model untuk picker.

Karena seluruh picker ditagih melalui satu key, loop penyetelannya bersifat observasional: jalankan seminggu, baca penggunaan per-model di konsol, dan bentuk ulang CUSTOM_MODELS di sekitar apa yang sebenarnya diklik orang alih-alih apa yang Anda prediksi.

  • Mulai daftar dengan -all. Picker bawaan adalah menu panjang khusus OpenAI; membersihkannya dan menambahkan empat atau lima id yang disengaja memberi pengguna picker di mana setiap pilihan adalah yang sudah Anda beri harga.
  • Model default membawa deployment-nya. claude-haiku-4-5-20251001 atau gemini-3.5-flash sebagai DEFAULT_MODEL menjaga mayoritas giliran kasual tetap cepat dan murah, dengan id yang lebih kuat sejauh satu klik.
  • Kerja long-form pantas mendapat slot frontier. claude-sonnet-4-6 dan gpt-5.5 adalah pilihan yang dijangkau pengguna saat draf atau analisis penting.
  • Deployment dwibahasa sebaiknya menyertakan deepseek-v4-pro atau glm-5.2; NextChat punya basis instalasi berbahasa Mandarin yang sangat besar dan id itu cocok dengan traffic tersebut secara native.
  • Rename adalah dokumentasi gratis: entri bergaya claude-sonnet-4-6=Sonnet (writing) membuat picker menjelaskan dirinya sendiri untuk pengguna non-teknis.

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.

ModelHarga ResmiHarga Kami
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
GLM-5.2$1.14 / $4.00 per M$1.10 / $4.00 per M

Mode kegagalan spesifik NextChat.

Kesalahan /v1 berjalan ke arah berlawanan dari kebanyakan tool. NextChat menambahkan path request ke BASE_URL sendiri, jadi nilainya seharusnya tanpa /v1; menempel https://api.apisrouter.com/v1 menghasilkan path dobel yang ber-404. Tool seperti LibreChat mengharapkan /v1 disertakan, itulah persis sebabnya orang membawa kebiasaan yang salah di kedua arah. Id Claude yang error soal key atau header adalah suffix @OpenAI yang hilang. Tanpanya, NextChat bisa merutekan id lewat jalur Anthropic native-nya, yang tidak pernah berkonsultasi ke BASE_URL untuk gateway Anda dan mengharapkan autentikasi format-vendor. Pin setiap id gateway dengan @OpenAI dan semua request mengambil jalur compatible-nya. Edit env yang tidak mengubah apa pun adalah masalah redeploy. Di Vercel variabelnya dibaca saat build; di Docker container-nya perlu dibuat ulang. Pengaturan in-app, sebaliknya, berlaku langsung tapi hanya di device itu, yang merupakan separuh lain dari kebingungan yang sama. CODE dan OPENAI_API_KEY tertukar cukup sering. CODE adalah password akses yang diketik pengguna ke UI; key adalah yang dibelanjakan server. Jika pengguna melaporkan halaman unauthorized sebelum chat apa pun terjadi, itu CODE-nya; jika chat gagal terhadap endpoint, itu key-nya.

Siapa yang merutekan NextChat melalui gateway.

  • Orang yang menjalankan deployment pribadi di Vercel yang menginginkan satu key termeteri di baliknya alih-alih langganan per vendor.
  • Tim kecil yang berbagi instance NextChat, memakai CODE untuk kontrol akses dan satu key gateway sehingga log penggunaan sekaligus menjadi laporan biaya.
  • Pengguna client desktop dan mobile yang mengarahkan endpoint in-app ke gateway untuk menjangkau Claude, Gemini, dan DeepSeek dari satu picker di setiap device.
  • Pengguna dwibahasa yang mencampur id GLM dan DeepSeek dengan Claude dan GPT dalam satu deployment, yang dibuat canggung oleh silo provider native.
  • Developer tanpa akses ke billing vendor tertentu. Akses berbasis top-up tanpa syarat kartu menghilangkan ketergantungan sign-up per provider.

Verifikasi endpoint dan debug chat pertama.

Buktikan endpoint sebelum deploy: daftar model dengan key dan konfirmasi setiap id yang Anda rencanakan taruh di CUSTOM_MODELS muncul, dieja persis. Id-nya diteruskan sebagai string, jadi output /v1/models adalah ejaan otoritatif. Lalu deploy dan kirim satu pesan per model di picker. 404 di semuanya adalah kesalahan /v1-di-BASE_URL. 401 adalah key-nya, entah salah atau tidak ada di environment yang benar-benar dipakai build. Error hanya pada id Claude adalah suffix @OpenAI yang hilang. Picker yang menampilkan model yang tidak pernah Anda tambahkan berarti CUSTOM_MODELS kehilangan prefix -all-nya atau variabelnya tidak mencapai build. Setelah chat mengalir, konsol APIsRouter menunjukkan model per request, hitungan token, dan pengeluaran. Untuk deployment dengan lebih dari satu pengguna, tampilan itu menjawab pertanyaan yang akhirnya ditanyakan setiap admin NextChat, model mana yang diam-diam memakan saldo, dengan data alih-alih tebakan.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

Pertanyaan umum

Haruskah BASE_URL NextChat menyertakan /v1?

Tidak. NextChat menambahkan path request-nya sendiri, jadi set BASE_URL=https://api.apisrouter.com tanpa /v1. Menyertakannya menghasilkan path dobel yang ber-404. Ini konvensi kebalikan dari tool seperti LibreChat, yang mengharapkan /v1 ada di base URL.

Bagaimana cara menambahkan model Claude atau Gemini ke NextChat melalui satu endpoint?

Tambahkan di CUSTOM_MODELS dengan suffix @OpenAI, misalnya +claude-sonnet-4-6@OpenAI. Suffix ini mem-pin id ke path request OpenAI-compatible sehingga pergi ke BASE_URL Anda, alih-alih jalur client Anthropic atau Google native NextChat.

Apa perbedaan antara environment variable dan pengaturan in-app?

Environment variable mengonfigurasi deployment server untuk setiap pengguna dan butuh redeploy untuk diubah. Endpoint custom in-app di Settings menyimpan nilai secara lokal per device dan berlaku langsung, cocok untuk client desktop dan mobile pribadi.

Bagaimana cara menghapus daftar model OpenAI default dari picker?

Mulai CUSTOM_MODELS dengan -all, lalu tambahkan id secara eksplisit: CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI. Pengguna kemudian hanya melihat model yang sengaja Anda daftarkan dan beri harga.

Apa fungsi variabel CODE?

Ia mengatur satu atau lebih password akses untuk deployment. Pengunjung harus memasukkan kode sebelum chat, yang mencegah URL Vercel publik menghabiskan key Anda. Ini tidak terkait dengan API key itu sendiri.

Mengapa mengubah environment variable tidak berpengaruh?

NextChat membaca nilai env saat build atau container start. Di Vercel, edit variabel dan redeploy; di Docker, buat ulang container-nya. Hanya pengaturan in-app yang berlaku tanpa restart, dan itu hidup per device.