Setiap provider AI punya bentuk API sendiri, batas rate sendiri, dan hari buruk sendiri. Plexus mengatasinya dengan berdiri di depan provider Anda dan memberi kode Anda satu API yang konsisten untuk dipanggil. Ini adalah gateway open source untuk OpenAI, Anthropic, Gemini, dan provider yang kompatibel dengan OpenAI, sehingga Anda bisa berganti model dan provider tanpa mengubah kode client (GitHub). Saat satu provider gagal, traffic berpindah otomatis, bukan ikut menjatuhkan aplikasi Anda.
Poin Penting
Plexus menormalkan request OpenAI, Anthropic, dan Gemini ke satu permukaan API, termasuk streaming, tool use, embedding, audio, dan gambar.
Anda mengarahkan traffic berdasarkan biaya, latensi, pemakaian, kuota, atau performa, dan provider yang gagal memicu failover otomatis dengan cooldown eksponensial.
Plexus tersedia sebagai satu binary mandiri atau image Docker, dengan dashboard untuk log request, token, biaya, latensi, dan kesehatan provider.
Secret dienkripsi saat disimpan dengan AES-256-GCM, dan kuota per key mencegah satu client menghabiskan seluruh anggaran.
Apa Itu Plexus?
Plexus menggambarkan dirinya sebagai unified API gateway untuk banyak provider AI. Ringkasan README-nya berbunyi: "Unified API gateway for multiple AI providers (OpenAI, Anthropic, Gemini, etc.). Switch models and providers without changing client code. Features OAuth authentication, quota tracking, embeddings, transcriptions, and OpenAI-compatible endpoints." (GitHub). Proyek ini publik di bawah lisensi MIT, dan saat tulisan ini dibuat, proyek ini punya 238 star dan 57 fork di GitHub.
Idenya sederhana, dan paling terasa di production. Aplikasi Anda berbicara ke Plexus, dan Plexus berbicara ke provider. Alias model seperti "fast" bisa menunjuk ke satu provider hari ini dan provider lain besok, tanpa perubahan kode dan tanpa redeploy. Lapisan alias inilah yang mengubah vendor lock-in dari fakta arsitektur menjadi pilihan konfigurasi.
Tonton sinyal repo 30 detik yang pertama kali mengangkat proyek ini: Tonton sinyal repo 30 detik.
Bagaimana Plexus Mengarahkan Request
Plexus menerima OpenAI Chat Completions dan Responses, Anthropic Messages, dan request native Gemini, lalu menerjemahkannya dua arah (GitHub). Streaming dan tool use berjalan lewat permukaan yang sama, sehingga agen yang memanggil tool tidak butuh jalur kode terpisah per provider.
Routing adalah bagian Plexus yang paling bernilai. Anda memetakan alias ke satu atau beberapa target dan memilih strategi seleksi: random, in_order, cost, performance, latency, usage, quota, atau e2e_performance. Alias yang di-route berdasarkan biaya mengirim traffic ke target sehat termurah. Alias berbasis latensi mengirim ke yang tercepat. Alias berbasis kuota menghormati batas yang Anda tetapkan, persis yang Anda butuhkan saat satu tim berbagi satu akun provider.
Ketahanan dibangun di lapisan yang sama. Plexus menerapkan cooldown eksponensial ke provider yang gagal, melakukan failover saat provider error, mendeteksi stream yang macet, dan memakai vision fallthrough untuk target yang tidak bisa menangani gambar. Dalam bahasa sederhana: outage provider menjadi jalan memutar singkat, bukan insiden.
Satu Dashboard untuk Biaya, Token, dan Kesehatan Provider
Dashboard adalah tampilan operasionalnya. Dari sana Anda mengonfigurasi provider dan alias, memeriksa setiap request, dan memantau pemakaian serta kesehatan kuota. Log request menampilkan model, provider, token, biaya, latensi, dan throughput live, sementara tampilan provider menampilkan status dan indikator kuota (GitHub).
Visibilitas itu mengubah cara Anda menjalankan fitur AI. Bukan lagi menebak model mana yang menggerus anggaran, Anda bisa melihat token dan biaya per request. Bukan lagi tahu masalah kuota dari keluhan pengguna, Anda melihat indikator kuota berubah. Bagi tim kecil, inilah bedanya menjalankan AI di production dengan sekadar berharap semuanya berjalan.
Menjalankan Plexus dalam Lima Menit
Plexus mudah dicoba karena binary-nya mandiri, dengan migrasi database dan dashboard web yang sudah tertanam. Rute tercepat adalah Docker:
docker run -p 4000:4000 \ -v plexus-data:/app/data \ -e ADMIN_KEY="your-admin-password" \ -e ENCRYPTION_KEY="your-generated-hex-key" \ ghcr.io/mcowger/plexus:latest
Buka dashboard di http://localhost:4000, buat API key dan alias model, lalu kirim request ke gateway seolah-olah itu OpenAI:
curl -X POST http://localhost:4000/v1/chat/completions \ -H "Authorization: Bearer YOUR_PLEXUS_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "fast", "messages": [{"role": "user", "content": "Hello!"}]}'
Dua environment variable penting. ADMIN_KEY wajib untuk dashboard dan management API. DATABASE_URL opsional dan default-nya SQLite di ./data/plexus.db; pakai connection string PostgreSQL untuk production. Dengan ENCRYPTION_KEY yang diset, API key, token OAuth, secret provider, dan header MCP dienkripsi saat disimpan dengan AES-256-GCM (GitHub).
Plexus vs Memanggil Provider Secara Langsung
Aspek | Plexus | Memanggil provider secara langsung |
|---|---|---|
Permukaan API | Satu API ternormalisasi untuk semua provider | Satu integrasi per provider |
Ganti model | Ubah alias, tanpa perubahan kode | Ubah kode, redeploy |
Provider down | Failover otomatis dengan cooldown | Aplikasi Anda error sampai provider pulih |
Kontrol biaya dan kuota | Kuota per key, routing biaya, log biaya live | Pelacakan manual di banyak dashboard |
Bagian bergerak ekstra | Ya, Anda menjalankan dan memperbarui gateway | Tidak, tapi setiap perubahan provider menyentuh kode Anda |
Tabel itu juga menunjukkan siapa yang sebaiknya melewatkannya. Jika Anda memanggil satu model dari satu provider di proyek sampingan, panggilan langsung lebih sederhana. Plexus terbayar saat Anda menjalankan AI di production, memakai lebih dari satu provider, atau butuh kontrol biaya dan failover yang tidak diberikan satu provider pun.
Batasan yang Perlu Diketahui Sebelum Memulai
Plexus adalah gateway, yang berarti ini satu lagi service untuk dijalankan, dipantau, dan diperbarui. Self-hosting juga berarti Anda yang bertanggung jawab atas uptime gateway itu sendiri, jadi jalankan di tempat yang andal dan jaga backup database-nya. Proyek ini juga mendukung subscription berbasis OAuth dan server MCP HTTP yang bisa di-stream, yang menambah kemampuan tapi juga permukaan konfigurasi; mulai dari API key dan satu alias sebelum menghubungkan bagian lanjutan.
Perlu juga dicatat ritme proyeknya: repositori ini sudah membawa 2.423 commit, dan dokumentasinya membahas instalasi, konfigurasi, custom quota checker, dan testing secara detail. Baca dokumentasi konfigurasi sebelum mengalirkan traffic nyata lewat gateway ini, terutama pengaturan kuota dan enkripsi.
Untuk penjelasan terkait tentang gaya API yang dinormalkan Plexus, baca REST API Dijelaskan: Cara Kerja API Web yang Paling Umum. Dan jika Anda memilih rute Docker, setup container dibahas di Docker Dijelaskan: Apa Itu Container dan Mengapa Developer Menyukainya.
Pertanyaan yang Sering Diajukan
Apakah saya harus menulis ulang aplikasi untuk memakai Plexus?
Tidak. Plexus mengekspos endpoint yang kompatibel dengan OpenAI, jadi client OpenAI yang sudah ada bisa diarahkan ke gateway, dengan nama model diganti alias Plexus.
Provider apa saja yang didukung Plexus?
OpenAI, Anthropic, Gemini, dan provider yang kompatibel dengan OpenAI, plus subscription berbasis OAuth. Plexus juga mem-proxy server MCP HTTP yang bisa di-stream.
Apakah Plexus gratis?
Ya. Ini open source di bawah lisensi MIT. Anda hanya membayar infrastruktur tempat Anda menjalankannya dan pemakaian provider di belakangnya.
Apa yang terjadi saat provider utama saya down?
Plexus melakukan failover ke target lain untuk alias yang sama, menerapkan cooldown eksponensial ke provider yang gagal sehingga tidak dibanjiri request saat sedang pulih.
Baca artikel ini dalam bahasa Inggris: Plexus: One API Gateway for Every AI Provider, With Automatic Failover
