Tambah penyedia custom serasi OpenAI ke Zed.

Updated 2026-07-29

Zed membaca penyedia custom terus daripada settings.json. Isytiharkan blok language_models.openai_compatible dengan api_url ditetapkan kepada https://api.apisrouter.com/v1, senaraikan id model yang anda mahu, dan setiap satu muncul dalam pemilih model panel ejen di bawah satu kunci.

Jawapan pantas: satu blok dalam settings.json.

Zed menyokong penyedia custom serasi OpenAI secara natif. Tambah entri penyedia di bawah language_models.openai_compatible dalam settings.json, tetapkan api_url kepada https://api.apisrouter.com/v1, dan isytiharkan setiap model yang anda mahu di bawah available_models dengan nama dan saiz konteksnya. Model muncul dalam dropdown model panel ejen dengan segera. Kunci API sengaja tidak diletakkan dalam settings.json. Zed menyimpannya dalam keychain sistem apabila anda memasukkannya melalui UI tetapan penyedia, atau membacanya daripada pembolehubah persekitaran yang diterbitkan daripada kunci penyedia anda: penyedia bernama apisrouter membaca APISROUTER_API_KEY. Pembolehubah persekitaran mengatasi nilai keychain.

{
  "language_models": {
    "openai_compatible": {
      "apisrouter": {
        "api_url": "https://api.apisrouter.com/v1",
        "available_models": [
          {
            "name": "claude-sonnet-4-6",
            "display_name": "Claude Sonnet 4.6",
            "max_tokens": 200000
          }
        ]
      }
    }
  }
}

Bagaimana Zed menyelesaikan penyedia dan model custom.

Zed (zed-industries di GitHub, lebih kurang 87K bintang) ialah editor berprestasi tinggi dengan panel ejen yang merancang, mengedit fail, dan menjalankan alat. Jenis penyedia openai_compatible-nya bertutur protokol /v1/chat/completions standard, yang tepat dilayani gateway berbilang vendor, jadi tiada plugin atau sambungan berada antara editor dan endpoint. Kunci penyedia yang anda pilih ("apisrouter" di atas) melakukan dua tugas. Ia menamakan penyedia dalam tetapan panel ejen, dan ia menjana pembolehubah persekitaran yang disemak Zed untuk kunci, huruf-besar-atas-bergaris dengan akhiran _API_KEY. Peraturan penamaan itu berbaloi dihayati sebelum menyahpepijat apa-apa: namakan semula penyedia dan nama pembolehubah yang diharap berubah bersamanya. available_models ialah senarai benar. Zed tidak dapat menyenaraikan endpoint custom sendiri, jadi hanya id yang anda isytiharkan menjadi boleh dipilih, setiap satu rentetan tepat termasuk mana-mana akhiran versi. Apabila endpoint di sebalik api_url melayani id Claude, GPT, Gemini, dan Kimi berdampingan, satu blok penyedia menjadikan pemilih panel ejen papan suis merentas vendor di sebalik satu kunci. Satu nota skop: ciri ramalan edit Zed menggunakan model khususnya sendiri dan dikonfigurasi secara berasingan; penyedia custom menguasakan panel ejen dan pembantu inline, bukan ramalan edit.

Persediaan penuh: model, saiz konteks, dan keupayaan.

Setiap entri available_models mengambil lebih daripada nama. max_tokens mengisytiharkan tetingkap konteks model, dan max_output_tokens mengehadkan panjang penjanaan; Zed menggunakan angka ini untuk mengurus utas ejen panjang, jadi mengisytiharkan model konteks-panjang dengan max_tokens kecil secara senyap membazirkan ruang lapang model. Objek capabilities memberitahu Zed apa yang disokong model: tetapkan tools kepada true untuk apa sahaja yang anda rancang untuk memandu panel ejen dengannya, dan aktifkan images hanya untuk model yang benar-benar menerima input imej. Bagi kunci itu, laluan boleh diharap pada editor desktop ialah UI tetapan penyedia, yang menyimpan nilai dalam keychain sistem. Laluan pembolehubah persekitaran juga berfungsi, dengan satu amaran dirangkumi dalam bahagian penyahpepijatan: aplikasi GUI yang dilancarkan daripada dock tidak mewarisi profil shell anda.

{
  "language_models": {
    "openai_compatible": {
      "apisrouter": {
        "api_url": "https://api.apisrouter.com/v1",
        "available_models": [
          {
            "name": "claude-sonnet-4-6",
            "display_name": "Claude Sonnet 4.6",
            "max_tokens": 200000,
            "max_output_tokens": 64000,
            "capabilities": { "tools": true, "images": false }
          },
          {
            "name": "claude-opus-4-7",
            "display_name": "Claude Opus 4.7",
            "max_tokens": 200000,
            "capabilities": { "tools": true }
          },
          { "name": "gpt-5.5", "display_name": "GPT-5.5", "max_tokens": 200000 },
          { "name": "kimi-k2.7-code", "display_name": "Kimi K2.7 Code", "max_tokens": 200000 }
        ]
      }
    }
  }
}

Memilih model untuk panel ejen.

Kerana setiap model yang diisytiharkan berada dalam pemilih yang sama, aliran kerja praktikal ialah perbandingan pada kerja sebenar dan bukan tanda aras: jalankan jenis tugas yang sama melalui dua calon pada hari berbeza dan biarkan log penggunaan per-kunci mengharga setiap satu. Pertukaran model dalam Zed adalah pemilihan dropdown, jadi kos eksperimen itu adalah sifar persediaan.

  • Panel ejen membawa kejuruteraan sebenar: membaca fail, merancang edit berbilang langkah, menjalankan alat merentas utas panjang. Model pengekodan frontier (claude-sonnet-4-6, claude-opus-4-7, gpt-5.5) tergolong dalam slot ini.
  • Id dilaraskan pengekodan seperti kimi-k2.7-code berbaloi diisytiharkan walaupun ia bukan lalai anda; bertukar untuk sesi penuh refactor adalah satu pemilihan pemilih, bukan suntingan konfigurasi.
  • Model konteks-panjang seperti gemini-3.1-pro-preview layak mendapat tempatnya apabila utas secara rutin menarik fail besar atau konteks seluruh modul ke dalam satu perbualan.
  • Bantuan inline lebih pendek jangka hayatnya daripada utas ejen, jadi id pertengahan yang pantas mengekalkan transformasi sekali-tembak tangkas tanpa membakar token frontier untuk penulisan semula satu baris.

Bayar mengikut penggunaan · bawah harga rasmi

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModelHarga RasmiHarga Kami
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Opus 4.7$5.00 / $25.00 per M$4.00 / $20.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Kimi K2.7 Code$0.95 / $4.00 per M$1.00 / $4.00 per M
Gemini 3.1 Pro Preview$2.00 / $12.00 per M$1.60 / $9.60 per M

Mod kegagalan khusus penyedia custom Zed.

Kunci berada dalam settings.json dan tiada apa berfungsi. Zed tidak membaca kunci API daripada settings.json mengikut reka bentuk. Masukkan kunci dalam UI tetapan penyedia, atau eksport pembolehubah persekitaran yang diterbitkan; kunci yang ditampal ke dalam JSON diabaikan. Pembolehubah persekitaran ditetapkan tetapi Zed masih meminta kunci. Nama pembolehubah diterbitkan daripada kunci penyedia, huruf-besar-atas-bergaris dengan _API_KEY dilampirkan, jadi penyedia bernama apisrouter memerlukan APISROUTER_API_KEY, bukan OPENAI_API_KEY. Dan pada macOS, aplikasi yang dilancarkan daripada dock tidak pernah menyumber profil shell anda, jadi eksport profil tidak kelihatan kepadanya. Lancarkan Zed daripada terminal dengan arahan zed, atau guna laluan keychain dan langkau masalah itu sepenuhnya. Model hilang daripada pemilih. available_models ialah senarai benar; id yang anda anggap tetapi tidak pernah diisytiharkan hanya tidak wujud. Id ialah rentetan tepat termasuk akhiran versi, dan senarai /v1/models gateway adalah ejaan berwibawa untuk disalin. Ejen tidak boleh menggunakan alat. Jika blok capabilities model menyatakan tools adalah false, Zed tidak akan menawarkan penggunaan alat dengannya. Isytiharkan capabilities supaya sepadan apa yang benar-benar disokong model. api_url tanpa /v1. Klien melampirkan laluan route seperti /chat/completions kepada asas yang anda berikan, jadi https://api.apisrouter.com/v1 adalah betul dan hos kosong bukan. Kegagalan berbentuk 404 pada blok yang sebaliknya betul hampir selalu ini.

Siapa yang menghalakan Zed melalui gateway.

  • Pembangun yang hidup dalam editor dan mahu Claude, GPT, dan Kimi dalam satu pemilih panel ejen dan bukan menyelenggara kelayakan penyedia berasingan setiap vendor.
  • Jurutera yang membandingkan model pengekodan pada edit sebenar. Setiap calon adalah satu entri yang diisytiharkan dan satu pemilihan dropdown; tiada akaun baharu setiap eksperimen.
  • Pasukan yang menstandardkan satu rahsia. Satu APISROUTER_API_KEY dalam dokumen orientasi menggantikan senarai semak kunci per-vendor, dan penggunaan per-kunci menunjukkan apa yang dibelanjakan setiap seat.
  • Pengguna yang menggandingkan model ejen frontier dengan model bantuan-inline pantas daripada vendor berbeza, sesuatu yang tidak dapat diungkapkan konfigurasi vendor tunggal.
  • Pembangun tanpa akses kepada pengebilan vendor tertentu. Akses berasaskan top-up tanpa keperluan kad menghapuskan kebergantungan pendaftaran setiap penyedia.

Sahkan endpoint dan nyahpepijat utas pertama.

Sebelum memulakan utas ejen, senaraikan apa yang dilayani gateway. Id yang dikembalikan /v1/models adalah tepat rentetan yang mesti digunakan entri available_models anda. Kegagalan utas pertama adalah konsisten. 401 bermaksud kunci yang diselesaikan Zed salah atau tiada: semak entri keychain dalam tetapan penyedia, atau sahkan pembolehubah persekitaran yang diterbitkan kelihatan kepada proses Zed dan bukan hanya kepada terminal anda. Ralat model-tidak-ditemui daripada gateway bermaksud nama yang diisytiharkan tidak sepadan id yang dilayani, termasuk akhiran versi. Jika blok penyedia langsung tidak muncul dalam tetapan, sahkan JSON itu; settings.json bertolak ansur dengan komen tetapi tidak dengan ralat struktur. Sebaik sahaja permintaan mengalir, konsol APIsRouter menunjukkan model per permintaan, kiraan token, dan perbelanjaan. Utas ejen adalah beban kerja konteks panjang dan banyak giliran, dan melihat utas mana dan model mana yang menggunakan token adalah cara anda memutuskan sama ada model lalai anda layak mendapat slotnya.

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

Soalan lazim

Bolehkah Zed menggunakan model Claude, GPT, dan Kimi melalui satu penyedia custom?

Ya. Penyedia custom ialah api_url ditambah senarai benar available_models. Apabila endpoint melayani berbilang vendor, isytiharkan satu entri per id dan setiap model yang diisytiharkan muncul dalam pemilih panel ejen di bawah penyedia dan kunci yang sama, boleh ditukar per utas.

Di mana kunci API diletakkan untuk penyedia custom Zed?

Bukan dalam settings.json. Masukkannya dalam UI tetapan penyedia, yang menyimpannya dalam keychain sistem, atau eksport pembolehubah persekitaran yang diterbitkan daripada kunci penyedia anda: penyedia bernama apisrouter membaca APISROUTER_API_KEY. Pembolehubah persekitaran mengatasi nilai keychain.

Mengapa Zed mengabaikan kunci API yang saya eksport dalam profil shell saya?

Aplikasi GUI yang dilancarkan daripada dock tidak pernah menyumber profil shell anda, jadi eksport itu tidak kelihatan kepadanya. Lancarkan Zed daripada terminal dengan arahan zed supaya ia mewarisi pembolehubah itu, atau guna UI tetapan dan biarkan keychain memegang kunci.

Mengapa model saya hilang daripada pemilih panel ejen?

Model penyedia custom mesti diisytiharkan secara eksplisit; Zed tidak dapat menyenaraikan endpoint custom. Semak available_models mengandungi rentetan id yang tepat, termasuk akhiran versi, dan salin id daripada respons /v1/models gateway dan bukan menaipnya daripada ingatan.

Apa yang dikawal max_tokens dan max_output_tokens dalam available_models?

max_tokens mengisytiharkan tetingkap konteks model dan max_output_tokens mengehadkan panjang penjanaan. Zed menggunakan ini untuk mengurus utas ejen panjang, jadi tetapkan max_tokens kepada apa yang benar-benar disokong model; merendah-rendahkannya membazirkan konteks yang sebenarnya dimiliki model.

Adakah penyedia custom mengubah ramalan edit Zed?

Tidak. Ramalan edit berjalan pada model khusus Zed sendiri dan dikonfigurasi secara berasingan. Penyedia custom serasi OpenAI menguasakan panel ejen dan pembantu inline, itulah tempat trafik /v1/chat/completions pergi.