Semantik Kredensial Auth
Dokumen ini mendefinisikan semantik kanonis kelayakan kredensial dan resolusi yang digunakan di seluruh:resolveAuthProfileOrderresolveApiKeyForProfilemodels status --probedoctor-auth
Kode Alasan Probe yang Stabil
okexcluded_by_auth_ordermissing_credentialinvalid_expiresexpiredunresolved_refno_model
Kredensial Token
Kredensial token (type: "token") mendukung token inline dan/atau tokenRef.
Aturan kelayakan
- Profil token tidak memenuhi syarat ketika
tokendantokenRefsama-sama tidak ada. expiresbersifat opsional.- Jika
expiresada, nilainya harus berupa angka hingga yang lebih besar dari0. - Jika
expirestidak valid (NaN,0, negatif, tidak hingga, atau tipe yang salah), profil tidak memenuhi syarat denganinvalid_expires. - Jika
expiresberada di masa lalu, profil tidak memenuhi syarat denganexpired. tokenReftidak melewati validasiexpires.
Aturan resolusi
- Semantik resolver cocok dengan semantik kelayakan untuk
expires. - Untuk profil yang memenuhi syarat, materi token dapat diresolusikan dari nilai inline atau
tokenRef. - Ref yang tidak dapat diresolusikan menghasilkan
unresolved_refdalam outputmodels status --probe.
Pemfilteran Urutan Auth Eksplisit
- Ketika
auth.order.<provider>atau override urutan auth-store ditetapkan untuk suatu provider,models status --probehanya mem-probe id profil yang tetap berada dalam urutan auth yang telah diresolusikan untuk provider tersebut. - Profil tersimpan untuk provider tersebut yang dihilangkan dari urutan eksplisit
tidak akan dicoba secara diam-diam nanti. Output probe melaporkannya dengan
reasonCode: excluded_by_auth_orderdan detailDikecualikan oleh auth.order untuk provider ini.
Resolusi Target Probe
- Target probe dapat berasal dari profil auth, kredensial environment, atau
models.json. - Jika suatu provider memiliki kredensial tetapi OpenClaw tidak dapat meresolusikan kandidat
model yang dapat di-probe untuknya,
models status --probemelaporkanstatus: no_modeldenganreasonCode: no_model.
Guard Kebijakan OAuth SecretRef
- Input SecretRef hanya untuk kredensial statis.
- Jika kredensial profil adalah
type: "oauth", objek SecretRef tidak didukung untuk materi kredensial profil tersebut. - Jika
auth.profiles.<id>.modeadalah"oauth", inputkeyRef/tokenRefberbasis SecretRef untuk profil tersebut ditolak. - Pelanggaran merupakan kegagalan keras dalam jalur resolusi auth saat startup/reload.
Pesan yang Kompatibel dengan Versi Lama
Untuk kompatibilitas skrip, error probe mempertahankan baris pertama ini tanpa perubahan:Auth profile credentials are missing or expired.
Detail yang ramah bagi manusia dan kode alasan yang stabil dapat ditambahkan pada baris berikutnya.