AI provider
Di dalam admin: System › Settings › AI provider (
/settings/ai). Sakelar modul AI berada di sana dan di System › Admin › License & updates (/license), kartu Module.
Fungsi
AI Chat (obrolan dukungan otomatis) dan AI Agent (administrasi VM dengan bahasa sehari-hari) tidak disertakan dengan model bawaan. Anda memilih provider Anda sendiri: layanan apa pun yang menawarkan chat/completions API yang kompatibel dengan OpenAI — misalnya OpenAI, OpenRouter, gateway LiteLLM, atau server vLLM Anda sendiri. NexCMP menyimpan endpoint dan API key (terenkripsi) serta menggunakannya untuk setiap fitur AI. Anda membayar langsung kepada provider tersebut.
Persyaratan
| Item | Persyaratan |
|---|---|
| Endpoint | Base URL yang kompatibel dengan OpenAI (https://api.openai.com/v1, https://ai.example.com/v1). NexCMP menambahkan /chat/completions ke URL yang berakhiran /v1; untuk URL lainnya, NexCMP menambahkan /v1/chat/completions; URL yang sudah berakhiran /chat/completions digunakan apa adanya. |
| Model | Model yang mendukung pemanggilan alat (fungsi). Baik AI Chat maupun Agent mengandalkannya. |
| Kunci API | Kunci untuk endpoint tersebut. Sebaiknya gunakan kunci dengan batas pengeluaran di sisi penyedia (misalnya kunci virtual LiteLLM dengan anggaran bulanan). |
| Jaringan | Server panel harus dapat menjangkau endpoint melalui HTTP(S). URL yang diketik dalam formulir hanya diizinkan mengarah ke Internet pada port 80, 443, 8080, atau 8443; untuk menggunakan alamat internal, simpan penyedia terlebih dahulu lalu uji. |
| Dependensi | Modul AI aktif. Untuk Agent, lihat AI Agent. |
Siapkan infrastruktur
Daftar dengan penyedia dan buat kunci API. Jika penyedia mendukung anggaran atau batasan tarif, tetapkan batas bulanan.
Catat base URL dan nama model yang tepat (serta, secara opsional, hingga empat model cadangan).
Uji dari server NexCMP sebelum memasukkannya:
bashcurl -s https://ai.example.com/v1/chat/completions \ -H "Authorization: Bearer XXXX" -H "Content-Type: application/json" \ -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Reply with one word: OK"}]}'Jawaban JSON dengan
choices[0].message.contentberarti endpoint berfungsi.
Hubungkan di NexCMP
Buka System › Settings › AI provider.
Pada kartu Module AI, aktifkan modul (on). Sebelum diaktifkan, pelanggan tidak dapat melihat AI Chat atau AI Agent di portal. (Anda juga dapat mengaktifkannya di License & updates.)
Pada kartu Connection, isi:
Kolom Contoh Catatan Gunakan penyedia ini aktif Memerlukan base URL, model, dan kunci untuk diaktifkan. Display name LiteLLMHingga 60 karakter. Base URL (yang kompatibel dengan OpenAI) https://ai.example.com/v1http://atauhttps://, hingga 300 karakter, tanpa spasi.Kunci API penyedia sk-XXXXDisimpan secara terenkripsi; setelah itu hanya 4 karakter terakhir yang ditampilkan. Biarkan kosong untuk tetap menggunakan kunci yang tersimpan. Model default gpt-4o-miniHuruf, angka, dan - _ . / : @.Model cadangan gemini-2.5-flashDipisahkan dengan koma, hingga 4. Digunakan saat model default gagal. Upaya penalaran Default (tidak dikirim) Minimal,Low,Medium, atauHigh. Untuk model penalaran (Gemini, seri o), tingkat rendah merespons jauh lebih cepat. Biarkan pada Default untuk model normal.Klik Save, lalu Test connection. Pengujian mengirimkan satu pertanyaan singkat dan menampilkan
Connected — <model>, <ms> msatau error yang dikembalikan oleh penyedia.

Yang dilakukan penyimpanan
- Pengaturan penyedia disimpan sebagai satu entri konfigurasi dan kunci dienkripsi dengan AES-256-GCM, yang terikat pada tujuan ini, menggunakan kunci utama instalasi.
- Pengaturan dukungan Primary model dan Fallback model (digunakan oleh AI Chat) diatur secara otomatis ke model default dan model cadangan pertama Anda.
- Perubahan dicatat ke log audit (endpoint, model, apakah kunci berubah — tidak pernah kuncinya).
Verifikasi
- Test connection berwarna hijau.
- Masuk ke portal sebagai pelanggan uji: menu sekarang menyediakan AI Chat (atau gelembung obrolan) dan AI Agent.
- Tanyakan kepada AI Chat "What is my balance?". Jawaban yang menyebutkan saldo nyata Anda menunjukkan bahwa penyedia menangani pemanggilan alat dengan benar.
Batas & catatan
- Satu penyedia. NexCMP menggunakan satu penyedia yang dikonfigurasi untuk Chat, Agent, dan penelusuran tiket. Model cadangan memberikan ketahanan dalam penyedia tersebut.
- Keamanan kunci. Kunci yang disimpan hanya dikirim ke endpoint yang disimpan. Jika Anda mengubah Base URL, Anda harus mengetikkan ulang kunci sebelum menguji.
- Batasan per pelanggan. AI Chat hanya untuk pelanggan yang sudah masuk, dengan batasan pesan per menit dan per obrolan. Agen memiliki batasan panggilan harian per akun. Lihat AI Chat dan AI Agent.
- Privasi. Pertanyaan pelanggan dan data yang dibaca oleh AI untuk pelanggan tersebut (hanya-baca) dikirim ke penyedia Anda. Nyatakan hal ini dalam kebijakan privasi Anda.
- Kontrol biaya. NexCMP tidak mengenakan meteran biaya AI; gunakan fitur anggaran dari penyedia.
- Modul ini dapat dimatikan kapan saja: menu AI akan hilang dan rute AI memberikan respons 404
module_disabled. Beberapa job latar belakang AI Chat (investigasi tiket, balasan tertunda) akan mendeteksi perubahan tersebut pada saat panel direstart berikutnya.
Pemecahan Masalah
| Gejala | Penyebab | Solusi |
|---|---|---|
base_url must be an http(s) URL | Skema hilang atau ada spasi | Gunakan https://host/v1. |
api_key is required to enable the provider | Tidak ada kunci yang disimpan | Masukkan kunci lalu simpan. |
base_url and model are required to enable the provider | Kolom kosong | Isi keduanya. |
| "Base URL diblokir: hanya http(s) publik, port 80/443/8080/8443" | Menguji alamat internal yang belum disimpan atau port lain | Simpan penyedia terlebih dahulu, lalu uji. |
api_key is required (enter the key again when you change the endpoint) | Base URL berbeda dengan yang disimpan | Ketik ulang kunci. |
model: letters, digits and - _ . / : @ | Karakter tidak valid | Gunakan ID model yang persis dari penyedia. |
fallback_models: up to 4 model names | Terlalu banyak | Simpan empat atau kurang. |
| Pengujian gagal dengan 401 | Kunci salah | Periksa kunci dan endpoint. |
| Pengujian gagal dengan 404 atau "model not found" | Jalur atau model salah | Periksa base URL (/v1) dan ID model. |
Too many tests — wait a minute (429) | Lebih dari 10 pengujian per menit | Tunggu. |
| Portal tetap tidak menampilkan menu AI | Modul nonaktif, atau penyedia tidak "in use" | Nyalakan modul dan aktifkan penyedia. |