Plugin Harness Agen
Harness agen adalah eksekutor tingkat rendah untuk satu giliran agen OpenClaw yang sudah disiapkan. Ini bukan provider model, bukan saluran, dan bukan registri alat. Gunakan permukaan ini hanya untuk plugin native yang terbundel atau tepercaya. Kontrak ini masih eksperimental karena tipe parameternya sengaja mencerminkan runner tertanam saat ini.Kapan menggunakan harness
Daftarkan harness agen ketika sebuah keluarga model memiliki runtime sesi native sendiri dan transport provider OpenClaw normal bukan abstraksi yang tepat. Contoh:- server agen coding native yang memiliki thread dan compaction sendiri
- CLI atau daemon lokal yang harus melakukan streaming event plan/reasoning/tool native
- runtime model yang membutuhkan resume id sendiri selain transkrip sesi OpenClaw
Apa yang masih dimiliki core
Sebelum harness dipilih, OpenClaw sudah menyelesaikan:- provider dan model
- status auth runtime
- tingkat thinking dan anggaran konteks
- file transkrip/sesi OpenClaw
- workspace, sandbox, dan kebijakan alat
- callback balasan saluran dan callback streaming
- kebijakan fallback model dan perpindahan model live
Mendaftarkan harness
Import:openclaw/plugin-sdk/agent-harness
Kebijakan pemilihan
OpenClaw memilih harness setelah resolusi provider/model:OPENCLAW_AGENT_RUNTIME=<id>memaksa harness terdaftar dengan id tersebut.OPENCLAW_AGENT_RUNTIME=pimemaksa harness PI bawaan.OPENCLAW_AGENT_RUNTIME=automeminta harness terdaftar apakah mereka mendukung provider/model yang telah diselesaikan.- Jika tidak ada harness terdaftar yang cocok, OpenClaw menggunakan PI kecuali fallback PI dinonaktifkan.
auto,
OpenClaw dapat fallback ke PI ketika harness plugin terpilih gagal sebelum sebuah
giliran menghasilkan efek samping. Setel OPENCLAW_AGENT_HARNESS_FALLBACK=none atau
embeddedHarness.fallback: "none" untuk menjadikan fallback tersebut sebagai kegagalan keras.
Plugin Codex terbundel mendaftarkan codex sebagai id harness-nya. Core memperlakukan itu
sebagai id harness plugin biasa; alias khusus Codex harus berada di plugin
atau config operator, bukan di pemilih runtime bersama.
Penyandingan provider dan harness
Sebagian besar harness juga sebaiknya mendaftarkan provider. Provider membuat referensi model, status auth, metadata model, dan pemilihan/model terlihat oleh bagian lain dari
OpenClaw. Harness kemudian mengklaim provider itu di supports(...).
Plugin Codex terbundel mengikuti pola ini:
- id provider:
codex - referensi model pengguna:
codex/gpt-5.4,codex/gpt-5.2, atau model lain yang dikembalikan oleh server aplikasi Codex - id harness:
codex - auth: ketersediaan provider sintetis, karena harness Codex memiliki login/sesi Codex native
- permintaan app-server: OpenClaw mengirim id model mentah ke Codex dan membiarkan harness berbicara dengan protokol app-server native
openai/gpt-* biasa tetap merupakan referensi provider OpenAI
dan terus menggunakan jalur provider OpenClaw normal. Pilih codex/gpt-*
ketika Anda menginginkan auth yang dikelola Codex, penemuan model Codex, thread native, dan
eksekusi app-server Codex. /model dapat berpindah di antara model Codex yang dikembalikan
oleh app-server Codex tanpa memerlukan kredensial provider OpenAI.
Untuk penyiapan operator, contoh prefix model, dan config khusus Codex, lihat
Codex Harness.
OpenClaw memerlukan app-server Codex 0.118.0 atau yang lebih baru. Plugin Codex memeriksa
handshake inisialisasi app-server dan memblokir server yang lebih lama atau tanpa versi sehingga
OpenClaw hanya berjalan terhadap permukaan protokol yang telah diuji.
Nonaktifkan fallback PI
Secara default, OpenClaw menjalankan agen tertanam denganagents.defaults.embeddedHarness
disetel ke { runtime: "auto", fallback: "pi" }. Dalam mode auto, plugin
harness yang terdaftar dapat mengklaim pasangan provider/model. Jika tidak ada yang cocok, atau jika harness plugin yang dipilih otomatis
gagal sebelum menghasilkan output, OpenClaw fallback ke PI.
Setel fallback: "none" ketika Anda perlu membuktikan bahwa harness plugin adalah satu-satunya
runtime yang sedang digunakan. Ini menonaktifkan fallback PI otomatis; ini tidak memblokir
runtime: "pi" yang eksplisit atau OPENCLAW_AGENT_RUNTIME=pi.
Untuk eksekusi tertanam khusus Codex:
runtime: "auto" dan nonaktifkan
fallback:
OPENCLAW_AGENT_RUNTIME tetap menimpa runtime yang dikonfigurasi. Gunakan
OPENCLAW_AGENT_HARNESS_FALLBACK=none untuk menonaktifkan fallback PI dari
environment.
Sesi native dan mirror transkrip
Harness dapat menyimpan id sesi native, id thread, atau token resume sisi daemon. Pertahankan keterikatan itu secara eksplisit terkait dengan sesi OpenClaw, dan terus mirror output asisten/alat yang terlihat pengguna ke dalam transkrip OpenClaw. Transkrip OpenClaw tetap menjadi lapisan kompatibilitas untuk:- riwayat sesi yang terlihat di saluran
- pencarian dan pengindeksan transkrip
- beralih kembali ke harness PI bawaan pada giliran berikutnya
- perilaku generik
/new,/reset, dan penghapusan sesi
reset(...) agar OpenClaw dapat
menghapusnya ketika sesi OpenClaw pemilik di-reset.
Hasil alat dan media
Core membangun daftar alat OpenClaw dan meneruskannya ke upaya yang sudah disiapkan. Saat harness mengeksekusi pemanggilan alat dinamis, kembalikan hasil alat melalui bentuk hasil harness alih-alih mengirim media saluran sendiri. Ini menjaga output text, image, video, music, TTS, persetujuan, dan alat pesan tetap pada jalur pengiriman yang sama seperti eksekusi berbasis PI.Keterbatasan saat ini
- Jalur import publik bersifat generik, tetapi beberapa alias tipe upaya/hasil masih
membawa nama
Piuntuk kompatibilitas. - Instalasi harness pihak ketiga bersifat eksperimental. Pilih plugin provider sampai Anda membutuhkan runtime sesi native.
- Perpindahan harness didukung antar giliran. Jangan mengganti harness di tengah giliran setelah alat native, persetujuan, text asisten, atau pengiriman pesan dimulai.