Harness Codex
Plugincodex bawaan memungkinkan OpenClaw menjalankan giliran agen tertanam melalui
app-server Codex alih-alih harness PI bawaan.
Gunakan ini saat Anda ingin Codex memiliki sesi agen tingkat rendah: penemuan
model, pelanjutan thread native, kompaksi native, dan eksekusi app-server.
OpenClaw tetap memiliki channel chat, file sesi, pemilihan model, alat,
approval, pengiriman media, dan mirror transkrip yang terlihat.
Harness ini nonaktif secara default. Harness dipilih hanya saat plugin codex
diaktifkan dan model yang diresolusikan adalah model codex/*, atau saat Anda secara eksplisit
memaksa embeddedHarness.runtime: "codex" atau OPENCLAW_AGENT_RUNTIME=codex.
Jika Anda tidak pernah mengonfigurasi codex/*, proses PI, OpenAI, Anthropic, Gemini, local,
dan custom-provider yang ada tetap mempertahankan perilaku saat ini.
Pilih prefix model yang tepat
OpenClaw memiliki rute terpisah untuk akses berbentuk OpenAI dan Codex:| Ref model | Jalur runtime | Gunakan saat |
|---|---|---|
openai/gpt-5.4 | Provider OpenAI melalui plumbing OpenClaw/PI | Anda ingin akses langsung OpenAI Platform API dengan OPENAI_API_KEY. |
openai-codex/gpt-5.4 | Provider OpenAI Codex OAuth melalui PI | Anda ingin ChatGPT/Codex OAuth tanpa harness app-server Codex. |
codex/gpt-5.4 | Provider Codex bawaan plus harness Codex | Anda ingin eksekusi app-server Codex native untuk giliran agen tertanam. |
codex/*. Ref provider openai/*,
openai-codex/*, Anthropic, Gemini, xAI, local, dan custom yang ada tetap
menggunakan jalur normalnya.
Persyaratan
- OpenClaw dengan plugin
codexbawaan tersedia. - App-server Codex
0.118.0atau yang lebih baru. - Auth Codex tersedia untuk proses app-server.
OPENAI_API_KEY, ditambah
file CLI Codex opsional seperti ~/.codex/auth.json dan
~/.codex/config.toml. Gunakan materi auth yang sama dengan yang digunakan app-server Codex lokal Anda.
Konfigurasi minimal
Gunakancodex/gpt-5.4, aktifkan plugin bawaan, dan paksa harness codex:
plugins.allow, sertakan codex di sana juga:
agents.defaults.model atau model agen ke codex/<model> juga
secara otomatis mengaktifkan plugin codex bawaan. Entri plugin eksplisit tetap
berguna dalam konfigurasi bersama karena membuat maksud deployment menjadi jelas.
Menambahkan Codex tanpa mengganti model lain
Pertahankanruntime: "auto" saat Anda menginginkan Codex untuk model codex/* dan PI untuk
yang lainnya:
/model codexatau/model codex/gpt-5.4menggunakan harness app-server Codex./model gptatau/model openai/gpt-5.4menggunakan jalur provider OpenAI./model opusmenggunakan jalur provider Anthropic.- Jika model non-Codex dipilih, PI tetap menjadi harness kompatibilitas.
Deployment khusus Codex
Nonaktifkan fallback PI saat Anda perlu membuktikan bahwa setiap giliran agen tertanam menggunakan harness Codex:codex/*, app-server terlalu lama, atau
app-server tidak dapat dimulai.
Codex per agen
Anda dapat membuat satu agen khusus Codex sementara agen default tetap menggunakan pemilihan otomatis normal:/new membuat
sesi OpenClaw baru dan harness Codex membuat atau melanjutkan thread app-server sidecar
sesuai kebutuhan. /reset menghapus binding sesi OpenClaw untuk thread tersebut.
Penemuan model
Secara default, plugin Codex meminta model yang tersedia kepada app-server. Jika penemuan gagal atau time out, plugin menggunakan katalog fallback bawaan:codex/gpt-5.4codex/gpt-5.4-minicodex/gpt-5.2
plugins.entries.codex.config.discovery:
Koneksi dan kebijakan app-server
Secara default, plugin memulai Codex secara lokal dengan:appServer yang didukung:
| Field | Default | Arti |
|---|---|---|
transport | "stdio" | "stdio" menjalankan Codex; "websocket" terhubung ke url. |
command | "codex" | Executable untuk transport stdio. |
args | ["app-server", "--listen", "stdio://"] | Argumen untuk transport stdio. |
url | unset | URL app-server WebSocket. |
authToken | unset | Token Bearer untuk transport WebSocket. |
headers | {} | Header WebSocket tambahan. |
requestTimeoutMs | 60000 | Timeout untuk panggilan control-plane app-server. |
approvalPolicy | "never" | Kebijakan approval Codex native yang dikirim ke start/resume/turn thread. |
sandbox | "workspace-write" | Mode sandbox Codex native yang dikirim ke start/resume thread. |
approvalsReviewer | "user" | Gunakan "guardian_subagent" agar guardian Codex meninjau approval native. |
serviceTier | unset | Tier layanan Codex opsional, misalnya "priority". |
OPENCLAW_CODEX_APP_SERVER_BINOPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOXOPENCLAW_CODEX_APP_SERVER_GUARDIAN=1
Resep umum
Codex lokal dengan transport stdio default:codex/*,
provider, kebijakan approval, sandbox, dan service tier yang saat ini dipilih ke
app-server lagi. Beralih dari codex/gpt-5.4 ke codex/gpt-5.2 mempertahankan
binding thread tetapi meminta Codex melanjutkan dengan model yang baru dipilih.
Perintah Codex
Plugin bawaan mendaftarkan/codex sebagai perintah slash yang diotorisasi. Perintah ini
generik dan berfungsi di channel apa pun yang mendukung perintah teks OpenClaw.
Bentuk umum:
/codex statusmenampilkan konektivitas app-server langsung, model, akun, batas laju, server MCP, dan Skills./codex modelsmencantumkan model app-server Codex langsung./codex threads [filter]mencantumkan thread Codex terbaru./codex resume <thread-id>melampirkan sesi OpenClaw saat ini ke thread Codex yang ada./codex compactmeminta app-server Codex untuk mengompaksi thread yang dilampirkan./codex reviewmemulai peninjauan native Codex untuk thread yang dilampirkan./codex accountmenampilkan status akun dan batas laju./codex mcpmencantumkan status server MCP app-server Codex./codex skillsmencantumkan Skills app-server Codex.
/codex resume menulis file binding sidecar yang sama yang digunakan harness untuk
giliran normal. Pada pesan berikutnya, OpenClaw melanjutkan thread Codex tersebut, meneruskan
model codex/* OpenClaw yang saat ini dipilih ke app-server, dan menjaga
riwayat diperluas tetap aktif.
Permukaan perintah memerlukan app-server Codex 0.118.0 atau yang lebih baru. Metode control individual dilaporkan sebagai unsupported by this Codex app-server jika app-server masa depan atau kustom tidak mengekspos metode JSON-RPC tersebut.
Alat, media, dan kompaksi
Harness Codex hanya mengubah eksekutor agen tertanam tingkat rendah. OpenClaw tetap membangun daftar alat dan menerima hasil alat dinamis dari harness. Teks, gambar, video, musik, TTS, approval, dan keluaran alat perpesanan tetap melalui jalur pengiriman OpenClaw normal. Saat model yang dipilih menggunakan harness Codex, kompaksi thread native didelegasikan ke app-server Codex. OpenClaw mempertahankan mirror transkrip untuk riwayat channel, pencarian,/new, /reset, dan perpindahan model atau harness di masa mendatang. Mirror
tersebut mencakup prompt pengguna, teks asisten final, dan catatan reasoning atau rencana Codex
ringan saat app-server mengeluarkannya.
Pembuatan media tidak memerlukan PI. Gambar, video, musik, PDF, TTS, dan
pemahaman media tetap menggunakan pengaturan provider/model yang sesuai seperti
agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel, dan
messages.tts.
Pemecahan masalah
Codex tidak muncul di/model: aktifkan plugins.entries.codex.enabled,
tetapkan ref model codex/*, atau periksa apakah plugins.allow mengecualikan codex.
OpenClaw fallback ke PI: tetapkan embeddedHarness.fallback: "none" atau
OPENCLAW_AGENT_HARNESS_FALLBACK=none saat pengujian.
App-server ditolak: upgrade Codex agar handshake app-server
melaporkan versi 0.118.0 atau yang lebih baru.
Penemuan model lambat: turunkan plugins.entries.codex.config.discovery.timeoutMs
atau nonaktifkan penemuan.
Transport WebSocket langsung gagal: periksa appServer.url, authToken,
dan bahwa app-server jarak jauh menggunakan versi protokol app-server Codex yang sama.
Model non-Codex menggunakan PI: itu memang diharapkan. Harness Codex hanya mengklaim
ref model codex/*.