Panduan ini menjelaskan cara menghubungkan OpenClaw ke Lunos dengan menjadikan Lunos sebagai custom provider. Karena Lunos kompatibel OpenAI, OpenClaw bisa memakai ID model Lunos melalui satu endpoint di https://api.lunos.tech/v1.
Jalankan perintah berikut secara berurutan. Setiap langkah memetakan proses konfigurasi manual.
export LUNOS_API_KEY="lns-sk-your-key-here"
Ganti
lns-sk-your-key-heredengan key dari Lunos Dashboard.
openclaw onboard \
--auth-choice apiKey \
--token-provider lunos \
--token "$LUNOS_API_KEY"
--token-provideradalah nama provider yang akan muncul di config (lunos).--tokenmengambil key dari Step 1.
openclaw models set lunos/openai/gpt-4o
Ganti
openai/gpt-4odengan model primary yang Anda inginkan.
Format lengkap:lunos/<provider>/<model-id>— cek ID yang tersedia di lunos.tech/models.
openclaw gateway restart
Wajib setelah perubahan provider. Config tidak akan berlaku sebelum restart.
openclaw models list
openclaw models status
listharus menampilkan modellunos/*.statusmemastikan autentikasi sehat.
Ikuti langkah berikut dalam urutan yang benar.
Buat secret key di Lunos Dashboard. Simpan dengan aman dan anggap seperti password.
Anda juga bisa memverifikasi konektivitas dengan pengecekan balance:
curl -X GET "https://api.lunos.tech/v1/balance" \
-H "Authorization: Bearer YOUR_LUNOS_API_KEY" \
-H "Content-Type: application/json"
Tujuannya agar secret tidak tersimpan/ter-commit ke git.
export LUNOS_API_KEY="lns-sk-your-key-here"
$env:LUNOS_API_KEY = "lns-sk-your-key-here"
openclaw.jsonLokasi config Anda biasanya:
~/.openclaw/openclaw.jsonBeberapa instalasi lama bisa menggunakan:
~/.openclaw/clawdbot.jsonBuat file ini jika belum ada.
Tambahkan block lunos di dalam models.providers. Field api: "openai-completions" itu penting karena memberitahu OpenClaw untuk memakai protokol OpenAI saat routing request ke Lunos.
{
"models": {
"mode": "merge",
"providers": {
"lunos": {
"baseUrl": "https://api.lunos.tech/v1",
"apiKey": "${LUNOS_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "openai/gpt-4o",
"name": "GPT-4o via Lunos",
"contextWindow": 128000,
"maxTokens": 4096
},
{
"id": "anthropic/claude-sonnet-4",
"name": "Claude Sonnet 4 via Lunos",
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "google/gemini-2.0-flash",
"name": "Gemini 2.0 Flash via Lunos",
"contextWindow": 1000000,
"maxTokens": 8192
}
]
}
}
}
}
OpenClaw memakai referensi model yang sudah fully-qualified dengan format provider/model-id. Selain mendefinisikan provider di providers.lunos.models, Anda juga wajib allowlist model di agents.defaults.models (serta mengisi agents.defaults.model.primary dan fallbacks).
Gunakan contoh openclaw.json lengkap berikut:
{
"models": {
"mode": "merge",
"providers": {
"lunos": {
"baseUrl": "https://api.lunos.tech/v1",
"apiKey": "${LUNOS_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "openai/gpt-4o",
"name": "GPT-4o via Lunos",
"contextWindow": 128000,
"maxTokens": 4096
},
{
"id": "anthropic/claude-sonnet-4",
"name": "Claude Sonnet 4 via Lunos",
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "google/gemini-2.0-flash",
"name": "Gemini 2.0 Flash via Lunos",
"contextWindow": 1000000,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "lunos/openai/gpt-4o",
"fallbacks": [
"lunos/anthropic/claude-sonnet-4",
"lunos/google/gemini-2.0-flash"
]
},
"models": {
"lunos/openai/gpt-4o": {
"alias": "gpt-4o"
},
"lunos/anthropic/claude-sonnet-4": {
"alias": "sonnet"
},
"lunos/google/gemini-2.0-flash": {
"alias": "gemini-flash"
}
}
}
}
}
Setiap perubahan config membutuhkan restart gateway. Lalu jalankan perintah untuk memastikan entri Lunos muncul di daftar model:
openclaw gateway restart
openclaw models list
openclaw models status
Jika masih muncul error model not allowed, pastikan nilai id di providers.lunos.models[].id benar-benar sama dengan referensi allowlist di agents.defaults.models (misalnya lunos/openai/gpt-4o).
Setelah provider terpasang, Anda bisa mengganti model saat sesi berjalan menggunakan referensi fully-qualified atau alias yang sudah dibuat:
openclaw models set lunos/openai/gpt-4o
openclaw models set gpt-4o
openclaw models set gemini-flash
Lunos mendukung header untuk menandai aplikasi/proyek. Saat OpenClaw meroute request lewat Lunos, Anda bisa menambahkan header ini di konfigurasi provider.
{
"models": {
"providers": {
"lunos": {
"baseUrl": "https://api.lunos.tech/v1",
"apiKey": "${LUNOS_API_KEY}",
"api": "openai-completions",
"headers": {
"X-App-ID": "my-openclaw-agent"
},
"models": []
}
}
}
}
Setelah ini, setiap request akan ditag, sehingga Anda bisa memecah analitik token dan biaya berdasarkan app ID di dashboard Lunos.
model not allowedBiasanya terjadi karena model sudah didefinisikan di providers.lunos.models, tetapi belum ditambahkan juga ke agents.defaults.models. Pastikan kedua bagian diisi, lalu restart gateway setelah melakukan perubahan pada openclaw.json.
OpenClaw kemungkinan tidak membaca API key Anda. Pastikan LUNOS_API_KEY diexport di shell tempat Anda menjalankan OpenClaw:
echo $LUNOS_API_KEY
Jika output kosong, export ulang variabel tersebut atau buat agar permanen di profil shell Anda.
Setelah mengubah openclaw.json:
openclaw gateway restartopenclaw models listJika Anda mengisi agents.defaults.model.fallbacks, OpenClaw bisa mencoba fallback model saat model gagal. Lunos rate limiting bisa mengirim header seperti:
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-ResetJalankan openclaw models status setelah perubahan konfigurasi untuk memastikan model mana yang aktif.
LUNOS_API_KEY) dan referensikan di openclaw.json sebagai ${LUNOS_API_KEY}.Tidak ada judul di halaman ini.
