Concepts and configuration
CLI Model
Rotasi profil autentikasi, masa cooldown, dan bagaimana hal itu berinteraksi dengan fallback.
Ikhtisar dan contoh singkat penyedia.
PI, Codex, dan runtime loop agen lainnya.
Kunci konfigurasi model.
Ref model memilih penyedia dan model. Ref biasanya tidak memilih runtime agen tingkat rendah. Misalnya, openai/gpt-5.5 dapat berjalan melalui jalur penyedia OpenAI normal atau melalui runtime server aplikasi Codex, bergantung pada agents.defaults.agentRuntime.id. Dalam mode runtime Codex, ref openai/gpt-* tidak menyiratkan penagihan kunci API; autentikasi dapat berasal dari akun Codex atau profil autentikasi openai-codex. Lihat Runtime agen.
Cara kerja pemilihan model
OpenClaw memilih model dalam urutan ini:
Model utama
agents.defaults.model.primary (atau agents.defaults.model).
Fallback
agents.defaults.model.fallbacks (sesuai urutan).
Failover autentikasi penyedia
Failover autentikasi terjadi di dalam penyedia sebelum berpindah ke model berikutnya.
Permukaan model terkait
agents.defaults.modelsadalah allowlist/katalog model yang dapat digunakan OpenClaw (ditambah alias).agents.defaults.imageModeldigunakan hanya ketika model utama tidak dapat menerima gambar.agents.defaults.pdfModeldigunakan oleh alatpdf. Jika dihilangkan, alat tersebut kembali keagents.defaults.imageModel, lalu model sesi/default yang diselesaikan.agents.defaults.imageGenerationModeldigunakan oleh kapabilitas pembuatan gambar bersama. Jika dihilangkan,image_generatemasih dapat menyimpulkan default penyedia yang didukung autentikasi. Ini mencoba penyedia default saat ini terlebih dahulu, lalu penyedia pembuatan gambar terdaftar lainnya dalam urutan ID penyedia. Jika Anda menetapkan penyedia/model tertentu, konfigurasikan juga autentikasi/kunci API penyedia tersebut.agents.defaults.musicGenerationModeldigunakan oleh kapabilitas pembuatan musik bersama. Jika dihilangkan,music_generatemasih dapat menyimpulkan default penyedia yang didukung autentikasi. Ini mencoba penyedia default saat ini terlebih dahulu, lalu penyedia pembuatan musik terdaftar lainnya dalam urutan ID penyedia. Jika Anda menetapkan penyedia/model tertentu, konfigurasikan juga autentikasi/kunci API penyedia tersebut.agents.defaults.videoGenerationModeldigunakan oleh kapabilitas pembuatan video bersama. Jika dihilangkan,video_generatemasih dapat menyimpulkan default penyedia yang didukung autentikasi. Ini mencoba penyedia default saat ini terlebih dahulu, lalu penyedia pembuatan video terdaftar lainnya dalam urutan ID penyedia. Jika Anda menetapkan penyedia/model tertentu, konfigurasikan juga autentikasi/kunci API penyedia tersebut.- Default per agen dapat menimpa
agents.defaults.modelmelaluiagents.list[].modelditambah binding (lihat Perutean multi-agen).
Sumber pemilihan dan perilaku fallback
provider/model yang sama dapat berarti hal berbeda tergantung asalnya:
- Default yang dikonfigurasi (
agents.defaults.model.primarydan model utama khusus agen) adalah titik awal normal dan menggunakanagents.defaults.model.fallbacks. - Pilihan fallback otomatis adalah status pemulihan sementara. Pilihan tersebut disimpan dengan
modelOverrideSource: "auto"sehingga giliran berikutnya dapat terus menggunakan rantai fallback tanpa menguji model utama yang diketahui bermasalah terlebih dahulu. - Pilihan sesi pengguna bersifat eksak.
/model, pemilih model,session_status(model=...), dansessions.patchmenyimpanmodelOverrideSource: "user"; jika penyedia/model yang dipilih tidak dapat dijangkau, OpenClaw gagal secara terlihat alih-alih jatuh ke model lain yang dikonfigurasi. - Cron
--model/ payloadmodeladalah model utama per pekerjaan. Ini tetap menggunakan fallback yang dikonfigurasi kecuali pekerjaan menyediakan payloadfallbackseksplisit (gunakanfallbacks: []untuk proses cron yang ketat). - CLI default-model dan pemilih allowlist menghormati
models.mode: "replace"dengan mencantumkanmodels.providers.*.modelseksplisit alih-alih memuat katalog bawaan lengkap. - Pemilih model Control UI meminta Gateway untuk tampilan model yang dikonfigurasi:
agents.defaults.modelsjika ada, jika tidakmodels.providers.*.modelseksplisit ditambah penyedia dengan autentikasi yang dapat digunakan. Katalog bawaan lengkap dicadangkan untuk tampilan jelajah eksplisit sepertimodels.listdenganview: "all"atauopenclaw models list --all.
Kebijakan model singkat
- Atur model utama Anda ke model generasi terbaru terkuat yang tersedia untuk Anda.
- Gunakan fallback untuk tugas yang sensitif biaya/latensi dan obrolan berisiko lebih rendah.
- Untuk agen yang mengaktifkan alat atau input yang tidak tepercaya, hindari tingkat model yang lebih lama/lebih lemah.
Onboarding (direkomendasikan)
Jika Anda tidak ingin mengedit konfigurasi secara manual, jalankan onboarding:
openclaw onboard
Ini dapat menyiapkan model + autentikasi untuk penyedia umum, termasuk langganan OpenAI Code (Codex) (OAuth) dan Anthropic (kunci API atau Claude CLI).
Kunci konfigurasi (ikhtisar)
agents.defaults.model.primarydanagents.defaults.model.fallbacksagents.defaults.imageModel.primarydanagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primarydanagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primarydanagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primarydanagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(allowlist + alias + parameter penyedia)models.providers(penyedia kustom yang ditulis kemodels.json)
Edit allowlist yang aman
Gunakan penulisan aditif saat memperbarui agents.defaults.models secara manual:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
Aturan perlindungan penimpaan
openclaw config set melindungi peta model/penyedia dari penimpaan tidak disengaja. Penetapan objek biasa ke agents.defaults.models, models.providers, atau models.providers.<id>.models ditolak jika akan menghapus entri yang sudah ada. Gunakan --merge untuk perubahan aditif; gunakan --replace hanya ketika nilai yang diberikan harus menjadi nilai target lengkap.
Penyiapan penyedia interaktif dan openclaw configure --section model juga menggabungkan pilihan yang dicakup penyedia ke allowlist yang sudah ada, sehingga menambahkan Codex, Ollama, atau penyedia lain tidak menghapus entri model yang tidak terkait. Configure mempertahankan agents.defaults.model.primary yang sudah ada ketika autentikasi penyedia diterapkan ulang. Perintah penetapan default eksplisit seperti openclaw models auth login --provider <id> --set-default dan openclaw models set <model> tetap mengganti agents.defaults.model.primary.
"Model tidak diizinkan" (dan mengapa balasan berhenti)
Jika agents.defaults.models ditetapkan, itu menjadi allowlist untuk /model dan untuk penimpaan sesi. Ketika pengguna memilih model yang tidak ada dalam allowlist tersebut, OpenClaw mengembalikan:
Model "provider/model" is not allowed. Use /models to list providers, or /models <provider> to list models.
Add it with: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --merge
Ketika perintah yang ditolak menyertakan penimpaan runtime seperti /model openai/gpt-5.5 --runtime codex, perbaiki allowlist terlebih dahulu, lalu coba lagi perintah /model ... --runtime ... yang sama. Untuk eksekusi Codex native, model yang dipilih tetap openai/gpt-5.5; runtime codex memilih harness dan menggunakan autentikasi Codex secara terpisah.
Untuk model lokal/GGUF, simpan ref lengkap berprefiks penyedia dalam allowlist,
misalnya ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf, atau
penyedia/model persis yang ditampilkan oleh openclaw models list --provider <provider>.
Nama file lokal polos atau nama tampilan tidak cukup ketika allowlist
aktif.
Contoh konfigurasi allowlist:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
Beralih model di obrolan (/model)
Anda dapat beralih model untuk sesi saat ini tanpa memulai ulang:
/model
/model list
/model 3
/model openai/gpt-5.4
/model status
Perilaku pemilih
/model(dan/model list) adalah pemilih ringkas bernomor (keluarga model + penyedia yang tersedia).- Di Discord,
/modeldan/modelsmembuka pemilih interaktif dengan dropdown penyedia dan model ditambah langkah Kirim. - Di Telegram, pilihan pemilih
/modelsdicakup ke sesi; pilihan tersebut tidak mengubah default persisten agen diopenclaw.json. /models addsudah tidak digunakan lagi dan sekarang mengembalikan pesan penghentian penggunaan alih-alih mendaftarkan model dari obrolan./model <#>memilih dari pemilih tersebut.
Persistensi dan peralihan langsung
/modelmempertahankan pilihan sesi baru segera.- Jika agen sedang idle, proses berikutnya langsung menggunakan model baru.
- Jika proses sudah aktif, OpenClaw menandai peralihan langsung sebagai tertunda dan hanya memulai ulang ke model baru pada titik percobaan ulang yang bersih.
- Jika aktivitas alat atau output balasan sudah dimulai, peralihan tertunda dapat tetap mengantre hingga peluang percobaan ulang berikutnya atau giliran pengguna berikutnya.
- Ref
/modelyang dipilih pengguna bersifat ketat untuk sesi tersebut: jika penyedia/model yang dipilih tidak dapat dijangkau, balasan gagal secara terlihat alih-alih diam-diam menjawab dariagents.defaults.model.fallbacks. Ini berbeda dari default yang dikonfigurasi dan model utama pekerjaan cron, yang masih dapat menggunakan rantai fallback. /model statusadalah tampilan terperinci (kandidat autentikasi dan, jika dikonfigurasi, endpoint penyediabaseUrl+ modeapi).
Penguraian ref
- Ref model diurai dengan memisahkan pada
/pertama. Gunakanprovider/modelsaat mengetik/model <ref>. - Jika ID model itu sendiri berisi
/(gaya OpenRouter), Anda harus menyertakan prefiks penyedia (contoh:/model openrouter/moonshotai/kimi-k2). - Jika Anda menghilangkan penyedia, OpenClaw menyelesaikan input dalam urutan ini:
- kecocokan alias
- kecocokan penyedia-terkonfigurasi unik untuk ID model tanpa prefiks yang persis itu
- fallback lama ke penyedia default yang dikonfigurasi — jika penyedia tersebut tidak lagi mengekspos model default yang dikonfigurasi, OpenClaw sebagai gantinya kembali ke penyedia/model terkonfigurasi pertama untuk menghindari menampilkan default penyedia lama yang sudah dihapus.
Perilaku/konfigurasi perintah lengkap: Perintah slash.
Perintah CLI
openclaw models list
openclaw models status
openclaw models set <provider/model>
openclaw models set-image <provider/model>
openclaw models aliases list
openclaw models aliases add <alias> <provider/model>
openclaw models aliases remove <alias>
openclaw models fallbacks list
openclaw models fallbacks add <provider/model>
openclaw models fallbacks remove <provider/model>
openclaw models fallbacks clear
openclaw models image-fallbacks list
openclaw models image-fallbacks add <provider/model>
openclaw models image-fallbacks remove <provider/model>
openclaw models image-fallbacks clear
openclaw models (tanpa subperintah) adalah pintasan untuk models status.
models list
Menampilkan model yang dikonfigurasi/tersedia-auth secara default. Flag yang berguna:
--allbooleanKatalog lengkap. Menyertakan baris katalog statis bawaan milik penyedia sebelum auth dikonfigurasi, sehingga tampilan khusus penemuan dapat menampilkan model yang tidak tersedia sampai Anda menambahkan kredensial penyedia yang sesuai.
--localbooleanHanya penyedia lokal.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
Filter berdasarkan id penyedia, misalnya moonshot. Label tampilan dari pemilih interaktif tidak diterima.
--plainbooleanSatu model per baris.
--jsonbooleanOutput yang dapat dibaca mesin.
models status
Menampilkan model primer yang diselesaikan, fallback, model gambar, dan ikhtisar auth dari penyedia yang dikonfigurasi. Ini juga menampilkan status kedaluwarsa OAuth untuk profil yang ditemukan di penyimpanan auth (memperingatkan dalam 24 jam secara default). --plain hanya mencetak model primer yang diselesaikan.
Perilaku auth dan probe
- Status OAuth selalu ditampilkan (dan disertakan dalam output
--json). Jika penyedia yang dikonfigurasi tidak memiliki kredensial,models statusmencetak bagian Auth hilang. - JSON menyertakan
auth.oauth(jendela peringatan + profil) danauth.providers(auth efektif per penyedia, termasuk kredensial berbasis env).auth.oauthhanya kesehatan profil penyimpanan-auth; penyedia khusus env tidak muncul di sana. - Gunakan
--checkuntuk otomatisasi (exit1saat hilang/kedaluwarsa,2saat akan kedaluwarsa). - Gunakan
--probeuntuk pemeriksaan auth langsung; baris probe dapat berasal dari profil auth, kredensial env, ataumodels.json. - Jika
auth.order.<provider>eksplisit menghilangkan profil tersimpan, probe melaporkanexcluded_by_auth_orderalih-alih mencobanya. Jika auth ada tetapi tidak ada model yang dapat diprobe yang bisa diselesaikan untuk penyedia tersebut, probe melaporkanstatus: no_model.
Contoh (Claude CLI):
claude auth login
openclaw models status
Pemindaian (model gratis OpenRouter)
openclaw models scan memeriksa katalog model gratis OpenRouter dan dapat secara opsional memprobe model untuk dukungan alat dan gambar.
--no-probebooleanLewati probe langsung (hanya metadata).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanTetapkan agents.defaults.model.primary ke pilihan pertama.
--set-imagebooleanTetapkan agents.defaults.imageModel.primary ke pilihan gambar pertama.
Hasil pemindaian diperingkat berdasarkan:
- Dukungan gambar
- Latensi alat
- Ukuran konteks
- Jumlah parameter
Input:
- Daftar
/modelsOpenRouter (filter:free) - Probe langsung memerlukan kunci API OpenRouter dari profil auth atau
OPENROUTER_API_KEY(lihat Variabel lingkungan) - Filter opsional:
--max-age-days,--min-params,--provider,--max-candidates - Kontrol permintaan/probe:
--timeout,--concurrency
Saat probe langsung berjalan di TUI, Anda dapat memilih fallback secara interaktif. Dalam mode non-interaktif, berikan --yes untuk menerima default. Hasil hanya metadata bersifat informatif; --set-default dan --set-image memerlukan probe langsung agar OpenClaw tidak mengonfigurasi model OpenRouter tanpa kunci yang tidak dapat digunakan.
Registry model (models.json)
Penyedia kustom di models.providers ditulis ke models.json di bawah direktori agen (default ~/.openclaw/agents/<agentId>/agent/models.json). File ini digabungkan secara default kecuali models.mode diatur ke replace.
Prioritas mode penggabungan
Prioritas mode penggabungan untuk ID penyedia yang cocok:
baseUrltidak kosong yang sudah ada dimodels.jsonagen menang.apiKeytidak kosong dimodels.jsonagen hanya menang saat penyedia tersebut tidak dikelola SecretRef dalam konteks konfigurasi/profil-auth saat ini.- Nilai
apiKeypenyedia yang dikelola SecretRef disegarkan dari penanda sumber (ENV_VAR_NAMEuntuk referensi env,secretref-manageduntuk referensi file/exec), bukan mempertahankan rahasia yang sudah diselesaikan. - Nilai header penyedia yang dikelola SecretRef disegarkan dari penanda sumber (
secretref-env:ENV_VAR_NAMEuntuk referensi env,secretref-manageduntuk referensi file/exec). apiKey/baseUrlagen yang kosong atau hilang kembali ke konfigurasimodels.providers.- Field penyedia lainnya disegarkan dari konfigurasi dan data katalog yang dinormalisasi.
Terkait
- Runtime agen — PI, Codex, dan runtime loop agen lainnya
- Referensi konfigurasi — kunci konfigurasi model
- Pembuatan gambar — konfigurasi model gambar
- Failover model — rantai fallback
- Penyedia model — perutean penyedia dan auth
- Pembuatan musik — konfigurasi model musik
- Pembuatan video — konfigurasi model video