57 KiB
| read_when | summary | title | x-i18n | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Jalankan giliran agen tertanam OpenClaw melalui harness app-server Codex bawaan | Kerangka kerja Codex |
|
Plugin codex 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 level rendah: penemuan model, pelanjutan thread native, compaction native, dan eksekusi app-server. OpenClaw tetap memiliki channel chat, file sesi, pemilihan model, alat, persetujuan, pengiriman media, dan cermin transkrip yang terlihat.
Saat giliran chat sumber berjalan melalui harness Codex, balasan yang terlihat
secara default memakai alat message OpenClaw jika deployment belum secara
eksplisit mengonfigurasi messages.visibleReplies. Agen tetap dapat
menyelesaikan giliran Codex-nya secara privat; agen hanya memposting ke channel
saat memanggil message(action="send"). Atur
messages.visibleReplies: "automatic" untuk mempertahankan balasan akhir
chat langsung pada jalur pengiriman otomatis lama.
Giliran heartbeat Codex juga mendapatkan alat heartbeat_respond secara
default, sehingga agen dapat mencatat apakah wake harus tetap senyap atau
memberi notifikasi tanpa mengodekan alur kontrol itu di teks akhir.
Jika Anda sedang mencoba memahami orientasinya, mulai dengan
Runtime agen. Versi singkatnya:
openai/gpt-5.5 adalah referensi model, codex adalah runtime, dan Telegram,
Discord, Slack, atau channel lain tetap menjadi permukaan komunikasi.
Konfigurasi cepat
Sebagian besar pengguna yang menginginkan "Codex di OpenClaw" menginginkan rute ini:
masuk dengan langganan ChatGPT/Codex, lalu jalankan giliran agen tertanam melalui
runtime app-server Codex native. Referensi model tetap kanonis sebagai
openai/gpt-*; autentikasi langganan berasal dari akun/profil Codex, bukan
dari prefiks model openai-codex/*.
Masuk terlebih dahulu dengan Codex OAuth jika Anda belum melakukannya:
openclaw models auth login --provider openai-codex
Lalu aktifkan Plugin codex bawaan dan paksa runtime Codex:
{
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
fallback: "none",
},
},
},
}
Jika konfigurasi Anda menggunakan plugins.allow, sertakan juga codex di sana:
{
plugins: {
allow: ["codex"],
entries: {
codex: {
enabled: true,
},
},
},
}
Jangan gunakan openai-codex/gpt-* saat yang Anda maksud adalah runtime Codex
native. Prefiks itu adalah rute eksplisit "Codex OAuth melalui PI". Perubahan
konfigurasi berlaku untuk sesi baru atau yang direset; sesi yang sudah ada tetap
mempertahankan runtime yang tercatat.
Yang diubah Plugin ini
Plugin codex bawaan menyumbangkan beberapa kapabilitas terpisah:
| Kapabilitas | Cara Anda menggunakannya | Yang dilakukannya |
|---|---|---|
| Runtime tertanam native | agentRuntime.id: "codex" |
Menjalankan giliran agen tertanam OpenClaw melalui app-server Codex. |
| Perintah kontrol chat native | /codex bind, /codex resume, /codex steer, ... |
Mengikat dan mengontrol thread app-server Codex dari percakapan pesan. |
| Penyedia/katalog app-server Codex | internal codex, diekspos melalui harness |
Memungkinkan runtime menemukan dan memvalidasi model app-server. |
| Jalur pemahaman media Codex | jalur kompatibilitas model gambar codex/* |
Menjalankan giliran app-server Codex terbatas untuk model pemahaman gambar yang didukung. |
| Relay hook native | Hook Plugin di sekitar event Codex-native | Memungkinkan OpenClaw mengamati/memblokir event alat/finalisasi Codex-native yang didukung. |
Mengaktifkan Plugin membuat kapabilitas tersebut tersedia. Ini tidak:
- mulai menggunakan Codex untuk setiap model OpenAI
- mengonversi referensi model
openai-codex/*menjadi runtime native - menjadikan ACP/acpx jalur Codex default
- mengganti secara langsung sesi yang sudah mencatat runtime PI
- menggantikan pengiriman channel OpenClaw, file sesi, penyimpanan profil autentikasi, atau routing pesan
Plugin yang sama juga memiliki permukaan perintah kontrol chat /codex native.
Jika Plugin diaktifkan dan pengguna meminta untuk mengikat, melanjutkan,
mengarahkan, menghentikan, atau memeriksa thread Codex dari chat, agen harus
memilih /codex ... daripada ACP. ACP tetap menjadi fallback eksplisit saat
pengguna meminta ACP/acpx atau sedang menguji adaptor Codex ACP.
Giliran Codex native mempertahankan hook Plugin OpenClaw sebagai lapisan
kompatibilitas publik. Ini adalah hook OpenClaw dalam proses, bukan hook
perintah hooks.json Codex:
before_prompt_buildbefore_compaction,after_compactionllm_input,llm_outputbefore_tool_call,after_tool_callbefore_message_writeuntuk catatan transkrip yang dicerminkanbefore_agent_finalizemelalui relayStopCodexagent_end
Plugin juga dapat mendaftarkan middleware hasil alat yang netral terhadap
runtime untuk menulis ulang hasil alat dinamis OpenClaw setelah OpenClaw
mengeksekusi alat dan sebelum hasil dikembalikan ke Codex. Ini terpisah dari
hook Plugin publik tool_result_persist, yang mentransformasi penulisan hasil
alat transkrip milik OpenClaw.
Untuk semantik hook Plugin itu sendiri, lihat Hook Plugin dan Perilaku guard Plugin.
Harness nonaktif secara default. Konfigurasi baru harus mempertahankan referensi
model OpenAI secara kanonis sebagai openai/gpt-* dan secara eksplisit memaksa
agentRuntime.id: "codex" atau OPENCLAW_AGENT_RUNTIME=codex saat menginginkan
eksekusi app-server native. Referensi model lama codex/* masih otomatis
memilih harness untuk kompatibilitas, tetapi prefiks penyedia lama yang
didukung runtime tidak ditampilkan sebagai pilihan model/penyedia normal.
Jika Plugin codex diaktifkan tetapi model utama masih openai-codex/*,
openclaw doctor memberi peringatan alih-alih mengubah rute. Itu disengaja:
openai-codex/* tetap menjadi jalur PI Codex OAuth/langganan, dan eksekusi
app-server native tetap menjadi pilihan runtime eksplisit.
Peta rute
Gunakan tabel ini sebelum mengubah konfigurasi:
| Perilaku yang diinginkan | Referensi model | Konfigurasi runtime | Rute autentikasi/profil | Label status yang diharapkan |
|---|---|---|---|---|
| Langganan ChatGPT/Codex dengan runtime Codex native | openai/gpt-* |
agentRuntime.id: "codex" |
Codex OAuth atau akun Codex | Runtime: OpenAI Codex |
| OpenAI API melalui runner OpenClaw normal | openai/gpt-* |
dihilangkan atau runtime: "pi" |
Kunci API OpenAI | Runtime: OpenClaw Pi Default |
| Langganan ChatGPT/Codex melalui PI | openai-codex/gpt-* |
dihilangkan atau runtime: "pi" |
Penyedia OpenAI Codex OAuth | Runtime: OpenClaw Pi Default |
| Penyedia campuran dengan mode otomatis konservatif | referensi spesifik penyedia | agentRuntime.id: "auto" |
Per penyedia yang dipilih | Bergantung pada runtime yang dipilih |
| Sesi adaptor Codex ACP eksplisit | bergantung pada prompt/model ACP | sessions_spawn dengan runtime: "acp" |
Autentikasi backend ACP | Status tugas/sesi ACP |
Pemisahan pentingnya adalah penyedia versus runtime:
openai-codex/*menjawab "rute penyedia/autentikasi mana yang harus dipakai PI?"agentRuntime.id: "codex"menjawab "loop mana yang harus mengeksekusi giliran tertanam ini?"/codex ...menjawab "percakapan Codex native mana yang harus diikat atau dikontrol chat ini?"- ACP menjawab "proses harness eksternal mana yang harus diluncurkan acpx?"
Pilih prefiks model yang tepat
Rute keluarga OpenAI bersifat spesifik prefiks. Untuk setup umum langganan plus
runtime Codex native, gunakan openai/* dengan agentRuntime.id: "codex".
Gunakan openai-codex/* hanya saat Anda sengaja menginginkan Codex OAuth melalui PI:
| Referensi model | Jalur runtime | Gunakan saat |
|---|---|---|
openai/gpt-5.4 |
Penyedia OpenAI melalui plumbing OpenClaw/PI | Anda menginginkan akses OpenAI Platform API langsung saat ini dengan OPENAI_API_KEY. |
openai-codex/gpt-5.5 |
OpenAI Codex OAuth melalui OpenClaw/PI | Anda menginginkan autentikasi langganan ChatGPT/Codex dengan runner PI default. |
openai/gpt-5.5 + agentRuntime.id: "codex" |
Harness app-server Codex | Anda menginginkan autentikasi langganan ChatGPT/Codex dengan eksekusi Codex native. |
GPT-5.5 dapat muncul pada rute kunci API OpenAI langsung dan langganan Codex
saat akun Anda mengeksposnya. Gunakan openai/gpt-5.5 dengan harness
app-server Codex untuk runtime Codex native, openai-codex/gpt-5.5 untuk PI
OAuth, atau openai/gpt-5.5 tanpa override runtime Codex untuk trafik kunci API
langsung.
Referensi lama codex/gpt-* tetap diterima sebagai alias kompatibilitas.
Migrasi kompatibilitas doctor menulis ulang referensi runtime utama lama menjadi
referensi model kanonis dan mencatat kebijakan runtime secara terpisah, sementara
referensi lama yang hanya fallback dibiarkan tidak berubah karena runtime
dikonfigurasi untuk seluruh kontainer agen. Konfigurasi PI Codex OAuth baru
harus menggunakan openai-codex/gpt-*; konfigurasi harness app-server native
baru harus menggunakan openai/gpt-* plus agentRuntime.id: "codex".
agents.defaults.imageModel mengikuti pemisahan prefiks yang sama. Gunakan
openai-codex/gpt-* saat pemahaman gambar harus berjalan melalui jalur penyedia
OpenAI Codex OAuth. Gunakan codex/gpt-* saat pemahaman gambar harus berjalan
melalui giliran app-server Codex terbatas. Model app-server Codex harus
mengiklankan dukungan input gambar; model Codex yang hanya teks gagal sebelum
giliran media dimulai.
Gunakan /status untuk mengonfirmasi harness efektif untuk sesi saat ini. Jika
pemilihannya mengejutkan, aktifkan logging debug untuk subsistem
agents/harness dan periksa catatan terstruktur agent harness selected milik
Gateway. Catatan itu mencakup id harness yang dipilih, alasan pemilihan,
kebijakan runtime/fallback, dan, dalam mode auto, hasil dukungan setiap
kandidat Plugin.
Arti peringatan doctor
openclaw doctor memberi peringatan saat semua hal ini benar:
- Plugin
codexbawaan diaktifkan atau diizinkan - model utama agen adalah
openai-codex/* - runtime efektif agen tersebut bukan
codex
Peringatan itu ada karena pengguna sering mengharapkan "Plugin Codex diaktifkan" berarti "runtime app-server Codex native." OpenClaw tidak mengambil lompatan itu. Peringatan tersebut berarti:
- Tidak ada perubahan yang diperlukan jika Anda memang bermaksud menggunakan ChatGPT/Codex OAuth melalui PI.
- Ubah model menjadi
openai/<model>dan aturagentRuntime.id: "codex"jika Anda bermaksud menggunakan eksekusi app-server native. - Sesi yang sudah ada tetap memerlukan
/newatau/resetsetelah perubahan runtime, karena pin runtime sesi bersifat melekat.
Pemilihan harness bukan kontrol sesi langsung. Saat giliran tertanam berjalan,
OpenClaw mencatat id harness yang dipilih pada sesi tersebut dan terus
menggunakannya untuk giliran berikutnya dalam id sesi yang sama. Ubah
konfigurasi agentRuntime atau OPENCLAW_AGENT_RUNTIME saat Anda ingin sesi
mendatang menggunakan harness lain; gunakan /new atau /reset untuk memulai
sesi baru sebelum mengganti percakapan yang sudah ada antara PI dan Codex. Ini
menghindari pemutaran ulang satu transkrip melalui dua sistem sesi native yang
tidak kompatibel.
Sesi lama yang dibuat sebelum pin harness diperlakukan sebagai terpin PI setelah
memiliki riwayat transkrip. Gunakan /new atau /reset untuk memasukkan
percakapan itu ke Codex setelah mengubah konfigurasi.
/status menampilkan runtime model efektif. Harness PI default muncul sebagai
Runtime: OpenClaw Pi Default, dan harness app-server Codex muncul sebagai
Runtime: OpenAI Codex.
Persyaratan
- OpenClaw dengan Plugin
codexbawaan yang tersedia. - App-server Codex
0.125.0atau yang lebih baru. Plugin bawaan mengelola biner app-server Codex yang kompatibel secara default, sehingga perintahcodexlokal diPATHtidak memengaruhi startup harness normal. - Autentikasi Codex tersedia untuk proses app-server atau untuk bridge autentikasi
Codex OpenClaw. Peluncuran app-server lokal menggunakan home Codex yang dikelola
OpenClaw untuk setiap agent dan
HOMEturunan yang terisolasi, sehingga secara default tidak membaca akun, skills, plugins, konfigurasi, status thread, atau$HOME/.agents/skillsnative pribadi Anda di~/.codex.
Plugin memblokir handshake app-server yang lebih lama atau tidak berversi. Ini menjaga OpenClaw tetap berada pada permukaan protokol yang telah diuji.
Untuk uji smoke live dan Docker, autentikasi biasanya berasal dari akun CLI Codex
atau profil autentikasi openai-codex OpenClaw. Peluncuran app-server stdio lokal
juga dapat beralih ke CODEX_API_KEY / OPENAI_API_KEY ketika tidak ada akun.
File bootstrap workspace
Codex menangani AGENTS.md sendiri melalui penemuan dokumen proyek native. OpenClaw
tidak menulis file dokumen proyek Codex sintetis atau bergantung pada nama file fallback
Codex untuk file persona, karena fallback Codex hanya berlaku ketika
AGENTS.md tidak ada.
Untuk paritas workspace OpenClaw, harness Codex menyelesaikan file bootstrap lain
(SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md,
BOOTSTRAP.md, dan MEMORY.md jika ada) dan meneruskannya melalui instruksi
konfigurasi Codex pada thread/start dan thread/resume. Ini membuat konteks
persona/profil workspace SOUL.md dan yang terkait tetap terlihat tanpa
menduplikasi AGENTS.md.
Tambahkan Codex bersama model lain
Jangan tetapkan agentRuntime.id: "codex" secara global jika agent yang sama harus
bebas beralih antara Codex dan model penyedia non-Codex. Runtime yang dipaksa berlaku
untuk setiap giliran tertanam bagi agent atau sesi tersebut. Jika Anda memilih model
Anthropic saat runtime tersebut dipaksa, OpenClaw tetap mencoba harness Codex dan gagal
tertutup alih-alih secara diam-diam merutekan giliran tersebut melalui PI.
Gunakan salah satu bentuk ini sebagai gantinya:
- Letakkan Codex pada agent khusus dengan
agentRuntime.id: "codex". - Pertahankan agent default pada
agentRuntime.id: "auto"dan fallback PI untuk penggunaan penyedia campuran normal. - Gunakan referensi lama
codex/*hanya untuk kompatibilitas. Konfigurasi baru sebaiknya menggunakanopenai/*plus kebijakan runtime Codex eksplisit.
Contohnya, ini mempertahankan agent default pada pemilihan otomatis normal dan menambahkan agent Codex terpisah:
{
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
agents: {
defaults: {
agentRuntime: {
id: "auto",
fallback: "pi",
},
},
list: [
{
id: "main",
default: true,
model: "anthropic/claude-opus-4-6",
},
{
id: "codex",
name: "Codex",
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
],
},
}
Dengan bentuk ini:
- Agent
maindefault menggunakan jalur penyedia normal dan fallback kompatibilitas PI. - Agent
codexmenggunakan harness app-server Codex. - Jika Codex hilang atau tidak didukung untuk agent
codex, giliran gagal alih-alih diam-diam menggunakan PI.
Perutean perintah agent
Agent harus merutekan permintaan pengguna berdasarkan maksud, bukan hanya berdasarkan kata "Codex":
| Pengguna meminta... | Agent harus menggunakan... |
|---|---|
| "Ikat chat ini ke Codex" | /codex bind |
"Lanjutkan thread Codex <id> di sini" |
/codex resume <id> |
| "Tampilkan thread Codex" | /codex threads |
| "Buat laporan dukungan untuk eksekusi Codex yang buruk" | /diagnostics [note] |
| "Hanya kirim masukan Codex untuk thread terlampir ini" | /codex diagnostics [note] |
| "Gunakan langganan ChatGPT/Codex saya dengan runtime Codex" | openai/* plus agentRuntime.id: "codex" |
| "Gunakan langganan ChatGPT/Codex saya melalui PI" | referensi model openai-codex/* |
| "Jalankan Codex melalui ACP/acpx" | ACP sessions_spawn({ runtime: "acp", ... }) |
| "Mulai Claude Code/Gemini/OpenCode/Cursor dalam thread" | ACP/acpx, bukan /codex dan bukan sub-agent native |
OpenClaw hanya mengiklankan panduan spawn ACP kepada agent ketika ACP diaktifkan, dapat didispatch, dan didukung oleh backend runtime yang dimuat. Jika ACP tidak tersedia, prompt sistem dan skills Plugin tidak boleh mengajari agent tentang perutean ACP.
Deployment khusus Codex
Paksa harness Codex ketika Anda perlu membuktikan bahwa setiap giliran agent tertanam
menggunakan Codex. Runtime Plugin eksplisit secara default tidak memiliki fallback PI, sehingga
fallback: "none" bersifat opsional tetapi sering berguna sebagai dokumentasi:
{
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
fallback: "none",
},
},
},
}
Override lingkungan:
OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run
Dengan Codex dipaksa, OpenClaw gagal lebih awal jika Plugin Codex dinonaktifkan, app-server
terlalu lama, atau app-server tidak dapat dimulai. Tetapkan
OPENCLAW_AGENT_HARNESS_FALLBACK=pi hanya jika Anda sengaja ingin PI menangani
pemilihan harness yang hilang.
Codex per agent
Anda dapat membuat satu agent hanya-Codex sementara agent default mempertahankan pemilihan otomatis normal:
{
agents: {
defaults: {
agentRuntime: {
id: "auto",
fallback: "pi",
},
},
list: [
{
id: "main",
default: true,
model: "anthropic/claude-opus-4-6",
},
{
id: "codex",
name: "Codex",
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
fallback: "none",
},
},
],
},
}
Gunakan perintah sesi normal untuk beralih agent dan model. /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
dan memungkinkan giliran berikutnya menyelesaikan harness dari konfigurasi saat ini lagi.
Penemuan model
Secara default, Plugin Codex meminta app-server untuk model yang tersedia. Jika penemuan gagal atau timeout, ia menggunakan katalog fallback bawaan untuk:
- GPT-5.5
- GPT-5.4 mini
- GPT-5.2
Anda dapat menyesuaikan penemuan di bawah plugins.entries.codex.config.discovery:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
discovery: {
enabled: true,
timeoutMs: 2500,
},
},
},
},
},
}
Nonaktifkan penemuan ketika Anda ingin startup menghindari probing Codex dan tetap menggunakan katalog fallback:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
discovery: {
enabled: false,
},
},
},
},
},
}
Koneksi dan kebijakan app-server
Secara default, Plugin memulai biner Codex yang dikelola OpenClaw secara lokal dengan:
codex app-server --listen stdio://
Biner terkelola dikirim bersama paket Plugin codex. Ini membuat versi app-server
terikat pada Plugin bawaan alih-alih pada CLI Codex terpisah mana pun yang kebetulan
terpasang secara lokal. Tetapkan appServer.command hanya ketika Anda sengaja ingin
menjalankan executable yang berbeda.
Secara default, OpenClaw memulai sesi harness Codex lokal dalam mode YOLO:
approvalPolicy: "never", approvalsReviewer: "user", dan
sandbox: "danger-full-access". Ini adalah postur operator lokal tepercaya yang digunakan
untuk Heartbeat otonom: Codex dapat menggunakan alat shell dan jaringan tanpa
berhenti pada prompt persetujuan native yang tidak ada orangnya untuk menjawab.
Untuk ikut menggunakan persetujuan yang ditinjau guardian Codex, tetapkan appServer.mode: "guardian":
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
mode: "guardian",
serviceTier: "fast",
},
},
},
},
},
}
Mode Guardian menggunakan jalur persetujuan auto-review native Codex. Ketika Codex meminta keluar dari sandbox, menulis di luar workspace, atau menambahkan izin seperti akses jaringan, Codex merutekan permintaan persetujuan tersebut ke peninjau native alih-alih prompt manusia. Peninjau menerapkan kerangka risiko Codex dan menyetujui atau menolak permintaan spesifik tersebut. Gunakan Guardian ketika Anda menginginkan pagar pengaman lebih banyak daripada mode YOLO tetapi tetap membutuhkan agent tanpa pengawasan untuk terus berjalan.
Preset guardian diperluas menjadi approvalPolicy: "on-request",
approvalsReviewer: "auto_review", dan sandbox: "workspace-write".
Field kebijakan individual tetap menimpa mode, sehingga deployment lanjutan dapat mencampur
preset dengan pilihan eksplisit. Nilai peninjau lama guardian_subagent masih diterima sebagai
alias kompatibilitas, tetapi konfigurasi baru sebaiknya menggunakan auto_review.
Untuk app-server yang sudah berjalan, gunakan transport WebSocket:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
transport: "websocket",
url: "ws://127.0.0.1:39175",
authToken: "${CODEX_APP_SERVER_TOKEN}",
requestTimeoutMs: 60000,
},
},
},
},
},
}
Peluncuran app-server stdio mewarisi lingkungan proses OpenClaw secara default,
tetapi OpenClaw memiliki bridge akun app-server Codex dan menetapkan
CODEX_HOME serta HOME ke direktori per-agent di bawah status OpenClaw agent tersebut.
Loader skill milik Codex membaca $CODEX_HOME/skills dan
$HOME/.agents/skills, sehingga kedua nilai diisolasi untuk peluncuran app-server
lokal. Itu membuat skills, plugins, konfigurasi, akun, dan status thread native Codex
tetap terscope ke agent OpenClaw alih-alih bocor dari home CLI Codex pribadi operator.
Plugin OpenClaw dan snapshot skill OpenClaw tetap mengalir melalui registry Plugin dan loader skill milik OpenClaw sendiri. Aset CLI Codex pribadi tidak. Jika Anda memiliki skills atau plugins CLI Codex yang berguna dan seharusnya menjadi bagian dari agent OpenClaw, inventariskan secara eksplisit:
openclaw migrate codex --dry-run
openclaw migrate apply codex --yes
Penyedia migrasi Codex menyalin skills ke workspace agent OpenClaw saat ini. Plugin native Codex, hook, dan file konfigurasi dilaporkan atau diarsipkan untuk peninjauan manual alih-alih diaktifkan secara otomatis, karena dapat menjalankan perintah, mengekspos server MCP, atau membawa kredensial.
Autentikasi dipilih dalam urutan ini:
- Profil autentikasi Codex OpenClaw eksplisit untuk agent.
- Akun app-server yang sudah ada di home Codex agent tersebut.
- Hanya untuk peluncuran app-server stdio lokal,
CODEX_API_KEY, laluOPENAI_API_KEY, ketika tidak ada akun app-server dan autentikasi OpenAI masih diperlukan.
Ketika OpenClaw melihat profil autentikasi Codex bergaya langganan ChatGPT, ia menghapus
CODEX_API_KEY dan OPENAI_API_KEY dari proses turunan Codex yang di-spawn. Itu
membuat kunci API tingkat Gateway tetap tersedia untuk embeddings atau model OpenAI langsung
tanpa membuat giliran app-server Codex native tertagih melalui API secara tidak sengaja.
Profil kunci API Codex eksplisit dan fallback kunci env stdio lokal menggunakan login app-server
alih-alih env proses turunan yang diwariskan. Koneksi app-server WebSocket
tidak menerima fallback kunci API env Gateway; gunakan profil autentikasi eksplisit atau akun
milik app-server jarak jauh sendiri.
Jika deployment membutuhkan isolasi lingkungan tambahan, tambahkan variabel tersebut ke
appServer.clearEnv:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
},
},
},
},
},
}
appServer.clearEnv hanya memengaruhi proses turunan app-server Codex yang dijalankan.
Dynamic tools Codex secara default menggunakan profil native-first. Dalam mode itu,
OpenClaw tidak mengekspos dynamic tools yang menduplikasi operasi workspace native Codex:
read, write, edit, apply_patch, exec, process, dan
update_plan. Alat integrasi OpenClaw seperti messaging, sessions, media,
cron, browser, nodes, gateway, heartbeat_respond, dan web_search tetap
tersedia.
Bidang Plugin Codex tingkat atas yang didukung:
| Bidang | Bawaan | Makna |
|---|---|---|
codexDynamicToolsProfile |
"native-first" |
Gunakan "openclaw-compat" untuk mengekspos set dynamic tool OpenClaw lengkap ke app-server Codex. |
codexDynamicToolsExclude |
[] |
Nama dynamic tool OpenClaw tambahan yang dihilangkan dari giliran app-server Codex. |
Bidang appServer yang didukung:
| Bidang | Bawaan | Makna |
|---|---|---|
transport |
"stdio" |
"stdio" menjalankan Codex; "websocket" terhubung ke url. |
command |
biner Codex terkelola | Executable untuk transport stdio. Biarkan tidak disetel untuk menggunakan biner terkelola; setel hanya untuk override eksplisit. |
args |
["app-server", "--listen", "stdio://"] |
Argumen untuk transport stdio. |
url |
tidak disetel | URL app-server WebSocket. |
authToken |
tidak disetel | Token Bearer untuk transport WebSocket. |
headers |
{} |
Header WebSocket tambahan. |
clearEnv |
[] |
Nama variabel lingkungan tambahan yang dihapus dari proses app-server stdio yang dijalankan setelah OpenClaw membangun lingkungan warisannya. CODEX_HOME dan HOME dicadangkan untuk isolasi Codex per-agent OpenClaw pada peluncuran lokal. |
requestTimeoutMs |
60000 |
Timeout untuk panggilan control-plane app-server. |
mode |
"yolo" |
Preset untuk eksekusi YOLO atau yang ditinjau guardian. |
approvalPolicy |
"never" |
Kebijakan persetujuan native Codex yang dikirim ke thread start/resume/turn. |
sandbox |
"danger-full-access" |
Mode sandbox native Codex yang dikirim ke thread start/resume. |
approvalsReviewer |
"user" |
Gunakan "auto_review" agar Codex meninjau prompt persetujuan native. guardian_subagent tetap menjadi alias lama. |
serviceTier |
tidak disetel | Tingkat layanan app-server Codex opsional: "fast", "flex", atau null. Nilai lama yang tidak valid diabaikan. |
Panggilan dynamic tool yang dimiliki OpenClaw dibatasi secara independen dari
appServer.requestTimeoutMs: setiap permintaan item/tool/call Codex harus
menerima respons OpenClaw dalam 30 detik. Saat timeout, OpenClaw membatalkan
sinyal alat jika didukung dan mengembalikan respons dynamic-tool yang gagal ke
Codex agar giliran dapat berlanjut alih-alih membiarkan sesi dalam status
processing.
Setelah OpenClaw merespons permintaan app-server dengan cakupan giliran Codex,
harness juga mengharapkan Codex menyelesaikan giliran native dengan
turn/completed. Jika app-server diam selama 60 detik setelah respons itu,
OpenClaw melakukan interrupt best-effort pada giliran Codex, mencatat timeout
diagnostik, dan melepaskan lane sesi OpenClaw agar pesan chat lanjutan tidak
mengantre di belakang giliran native yang kedaluwarsa.
Override lingkungan tetap tersedia untuk pengujian lokal:
OPENCLAW_CODEX_APP_SERVER_BINOPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_BIN melewati biner terkelola saat
appServer.command tidak disetel.
OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 telah dihapus. Gunakan
plugins.entries.codex.config.appServer.mode: "guardian" sebagai gantinya, atau
OPENCLAW_CODEX_APP_SERVER_MODE=guardian untuk pengujian lokal sekali pakai. Config
lebih disukai untuk deployment yang dapat diulang karena menjaga perilaku plugin
dalam file yang sama-sama ditinjau seperti bagian lain dari penyiapan harness Codex.
Penggunaan komputer
Penggunaan Komputer dibahas dalam panduan penyiapannya sendiri: Penggunaan Komputer Codex.
Versi singkatnya: OpenClaw tidak mem-vendor aplikasi kontrol desktop atau menjalankan
aksi desktop sendiri. OpenClaw menyiapkan app-server Codex, memverifikasi bahwa server MCP
computer-use tersedia, lalu membiarkan Codex menangani panggilan alat MCP native
selama giliran mode Codex.
Untuk akses driver TryCua langsung di luar alur marketplace Codex, daftarkan
cua-driver mcp dengan openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'.
Lihat Penggunaan Komputer Codex untuk perbedaan
antara Penggunaan Komputer yang dimiliki Codex dan pendaftaran MCP langsung.
Config minimal:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
computerUse: {
autoInstall: true,
},
},
},
},
},
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
fallback: "none",
},
},
},
}
Penyiapan dapat diperiksa atau diinstal dari command surface:
/codex computer-use status/codex computer-use install/codex computer-use install --source <marketplace-source>/codex computer-use install --marketplace-path <path>
Penggunaan Komputer bersifat khusus macOS dan mungkin memerlukan izin OS lokal sebelum
server MCP Codex dapat mengontrol aplikasi. Jika computerUse.enabled bernilai true dan server MCP
tidak tersedia, giliran mode Codex gagal sebelum thread dimulai alih-alih
berjalan diam-diam tanpa alat Penggunaan Komputer native. Lihat
Penggunaan Komputer Codex untuk pilihan marketplace,
batas katalog jarak jauh, alasan status, dan pemecahan masalah.
Saat computerUse.autoInstall bernilai true, OpenClaw dapat mendaftarkan marketplace
Codex Desktop standar yang dibundel dari
/Applications/Codex.app/Contents/Resources/plugins/openai-bundled jika Codex
belum menemukan marketplace lokal. Gunakan /new atau /reset setelah
mengubah runtime atau config Penggunaan Komputer agar sesi yang ada tidak menyimpan
binding PI atau thread Codex lama.
Resep umum
Codex lokal dengan transport stdio bawaan:
{
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
}
Validasi harness khusus Codex:
{
agents: {
defaults: {
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
},
},
},
plugins: {
entries: {
codex: {
enabled: true,
},
},
},
}
Persetujuan Codex yang ditinjau guardian:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
mode: "guardian",
approvalPolicy: "on-request",
approvalsReviewer: "auto_review",
sandbox: "workspace-write",
},
},
},
},
},
}
App-server jarak jauh dengan header eksplisit:
{
plugins: {
entries: {
codex: {
enabled: true,
config: {
appServer: {
transport: "websocket",
url: "ws://gateway-host:39175",
headers: {
"X-OpenClaw-Agent": "main",
},
},
},
},
},
},
}
Pergantian model tetap dikendalikan OpenClaw. Saat sesi OpenClaw dilampirkan
ke thread Codex yang sudah ada, giliran berikutnya mengirim model OpenAI,
provider, kebijakan persetujuan, sandbox, dan tingkat layanan yang saat ini dipilih
ke app-server lagi. Beralih dari openai/gpt-5.5 ke openai/gpt-5.2 mempertahankan
binding thread tetapi meminta Codex untuk melanjutkan dengan model yang baru dipilih.
Perintah Codex
Plugin yang dibundel mendaftarkan /codex sebagai slash command yang diotorisasi. Perintah ini
generik dan berfungsi pada channel apa pun yang mendukung perintah teks OpenClaw.
Bentuk umum:
/codex statusmenampilkan konektivitas server aplikasi langsung, model, akun, batas laju, server MCP, dan skills./codex modelsmencantumkan model server aplikasi Codex langsung./codex threads [filter]mencantumkan thread Codex terbaru./codex resume <thread-id>melampirkan sesi OpenClaw saat ini ke thread Codex yang sudah ada./codex compactmeminta server aplikasi Codex untuk memadatkan thread yang terlampir./codex reviewmemulai peninjauan native Codex untuk thread yang terlampir./codex diagnostics [note]meminta persetujuan sebelum mengirim umpan balik diagnostik Codex untuk thread yang terlampir./codex computer-use statusmemeriksa Plugin Computer Use dan server MCP yang dikonfigurasi./codex computer-use installmemasang Plugin Computer Use yang dikonfigurasi dan memuat ulang server MCP./codex accountmenampilkan status akun dan batas laju./codex mcpmencantumkan status server MCP server aplikasi Codex./codex skillsmencantumkan skills server aplikasi Codex.
Alur kerja debugging umum
Ketika agen berbasis Codex melakukan sesuatu yang mengejutkan di Telegram, Discord, Slack, atau saluran lain, mulailah dari percakapan tempat masalah terjadi:
- Jalankan
/diagnostics bad tool choice after image uploadatau catatan singkat lain yang menjelaskan apa yang Anda lihat. - Setujui permintaan diagnostik sekali. Persetujuan membuat zip diagnostik Gateway lokal dan, karena sesi menggunakan harness Codex, juga mengirim bundel umpan balik Codex yang relevan ke server OpenAI.
- Salin balasan diagnostik yang selesai ke laporan bug atau thread dukungan.
Balasan itu menyertakan path bundel lokal, ringkasan privasi, id sesi OpenClaw,
id thread Codex, dan baris
Inspect locallyuntuk setiap thread Codex. - Jika Anda ingin men-debug run sendiri, jalankan perintah
Inspect locallyyang dicetak di terminal. Bentuknya seperticodex resume <thread-id>dan membuka thread native Codex sehingga Anda dapat memeriksa percakapan, melanjutkannya secara lokal, atau bertanya kepada Codex mengapa ia memilih alat atau rencana tertentu.
Gunakan /codex diagnostics [note] hanya ketika Anda secara khusus menginginkan unggahan
umpan balik Codex untuk thread yang saat ini terlampir tanpa bundel diagnostik
Gateway OpenClaw lengkap. Untuk sebagian besar laporan dukungan, /diagnostics [note]
adalah titik awal yang lebih baik karena mengaitkan status Gateway lokal dan id
thread Codex dalam satu balasan. Lihat Ekspor diagnostik
untuk model privasi lengkap dan perilaku chat grup.
Core OpenClaw juga mengekspos /diagnostics [note] khusus pemilik sebagai perintah
diagnostik Gateway umum. Prompt persetujuannya menampilkan mukadimah data sensitif,
menautkan ke Ekspor Diagnostik, dan meminta
openclaw gateway diagnostics export --json melalui persetujuan eksekusi eksplisit
setiap kali. Jangan setujui diagnostik dengan aturan izinkan semua. Setelah disetujui,
OpenClaw mengirim laporan yang dapat ditempel dengan path bundel lokal dan ringkasan
manifest. Ketika sesi OpenClaw aktif menggunakan harness Codex, persetujuan yang
sama juga mengotorisasi pengiriman bundel umpan balik Codex yang relevan ke
server OpenAI. Prompt persetujuan mengatakan bahwa umpan balik Codex akan dikirim, tetapi
tidak mencantumkan id sesi atau thread Codex sebelum persetujuan.
Jika /diagnostics dipanggil oleh pemilik dalam chat grup, OpenClaw menjaga
saluran bersama tetap bersih: grup hanya menerima pemberitahuan singkat, sementara
mukadimah diagnostik, prompt persetujuan, dan id sesi/thread Codex dikirim ke
pemilik melalui rute persetujuan privat. Jika tidak ada rute pemilik privat,
OpenClaw menolak permintaan grup dan meminta pemilik menjalankannya dari DM.
Unggahan Codex yang disetujui memanggil server aplikasi Codex feedback/upload dan meminta
server aplikasi menyertakan log untuk setiap thread yang dicantumkan dan subthread Codex
yang dibuat saat tersedia. Unggahan berjalan melalui jalur umpan balik normal Codex ke
server OpenAI; jika umpan balik Codex dinonaktifkan di server aplikasi tersebut, perintah
mengembalikan kesalahan server aplikasi. Balasan diagnostik yang selesai mencantumkan saluran,
id sesi OpenClaw, id thread Codex, dan perintah lokal codex resume <thread-id>
untuk thread yang dikirim. Jika Anda menolak atau mengabaikan persetujuan,
OpenClaw tidak mencetak id Codex tersebut. Unggahan ini tidak menggantikan ekspor
diagnostik Gateway lokal.
/codex resume menulis file pengikatan sidecar yang sama dengan yang digunakan harness untuk
turn normal. Pada pesan berikutnya, OpenClaw melanjutkan thread Codex tersebut, meneruskan
model OpenClaw yang saat ini dipilih ke server aplikasi, dan menjaga riwayat diperluas
tetap aktif.
Memeriksa thread Codex dari CLI
Cara tercepat untuk memahami run Codex yang buruk sering kali adalah membuka thread native Codex secara langsung:
codex resume <thread-id>
Gunakan ini ketika Anda melihat bug dalam percakapan saluran dan ingin memeriksa
sesi Codex yang bermasalah, melanjutkannya secara lokal, atau bertanya kepada Codex mengapa ia membuat
pilihan alat atau penalaran tertentu. Jalur termudah biasanya menjalankan
/diagnostics [note] terlebih dahulu: setelah Anda menyetujuinya, laporan yang selesai mencantumkan
setiap thread Codex dan mencetak perintah Inspect locally, misalnya
codex resume <thread-id>. Anda dapat menyalin perintah itu langsung ke terminal.
Anda juga dapat memperoleh id thread dari /codex binding untuk chat saat ini atau
/codex threads [filter] untuk thread server aplikasi Codex terbaru, lalu menjalankan perintah
codex resume yang sama di shell Anda.
Permukaan perintah memerlukan server aplikasi Codex 0.125.0 atau yang lebih baru. Metode
kontrol individual dilaporkan sebagai unsupported by this Codex app-server jika
server aplikasi masa depan atau kustom tidak mengekspos metode JSON-RPC tersebut.
Batas hook
Harness Codex memiliki tiga lapisan hook:
| Lapisan | Pemilik | Tujuan |
|---|---|---|
| Hook Plugin OpenClaw | OpenClaw | Kompatibilitas produk/Plugin di seluruh harness PI dan Codex. |
| Middleware ekstensi server aplikasi Codex | Plugin bundel OpenClaw | Perilaku adapter per turn di sekitar alat dinamis OpenClaw. |
| Hook native Codex | Codex | Siklus hidup Codex tingkat rendah dan kebijakan alat native dari konfigurasi Codex. |
OpenClaw tidak menggunakan file hooks.json Codex proyek atau global untuk merutekan
perilaku Plugin OpenClaw. Untuk alat native dan bridge izin yang didukung,
OpenClaw menyuntikkan konfigurasi Codex per thread untuk PreToolUse, PostToolUse,
PermissionRequest, dan Stop. Hook Codex lain seperti SessionStart dan
UserPromptSubmit tetap menjadi kontrol tingkat Codex; hook tersebut tidak diekspos sebagai
hook Plugin OpenClaw dalam kontrak v1.
Untuk alat dinamis OpenClaw, OpenClaw menjalankan alat setelah Codex meminta panggilan, sehingga OpenClaw memicu perilaku Plugin dan middleware yang dimilikinya di adapter harness. Untuk alat native Codex, Codex memiliki catatan alat kanonis. OpenClaw dapat mencerminkan peristiwa terpilih, tetapi tidak dapat menulis ulang thread native Codex kecuali Codex mengekspos operasi tersebut melalui server aplikasi atau callback hook native.
Proyeksi siklus hidup Compaction dan LLM berasal dari notifikasi server aplikasi Codex
dan status adapter OpenClaw, bukan perintah hook native Codex. Peristiwa
before_compaction, after_compaction, llm_input, dan
llm_output OpenClaw adalah observasi tingkat adapter, bukan tangkapan byte-per-byte
dari permintaan internal atau payload Compaction Codex.
Notifikasi server aplikasi hook/started dan hook/completed native Codex
diproyeksikan sebagai peristiwa agen codex_app_server.hook untuk lintasan dan debugging.
Notifikasi tersebut tidak memanggil hook Plugin OpenClaw.
Kontrak dukungan V1
Mode Codex bukan PI dengan panggilan model berbeda di bawahnya. Codex memiliki lebih banyak bagian dari loop model native, dan OpenClaw mengadaptasi permukaan Plugin dan sesinya di sekitar batas tersebut.
Didukung dalam runtime Codex v1:
| Permukaan | Dukungan | Alasan |
|---|---|---|
| Loop model OpenAI melalui Codex | Didukung | Server aplikasi Codex memiliki turn OpenAI, pelanjutan thread native, dan kelanjutan alat native. |
| Perutean dan pengiriman saluran OpenClaw | Didukung | Telegram, Discord, Slack, WhatsApp, iMessage, dan saluran lain tetap berada di luar runtime model. |
| Alat dinamis OpenClaw | Didukung | Codex meminta OpenClaw menjalankan alat ini, sehingga OpenClaw tetap berada di jalur eksekusi. |
| Plugin prompt dan konteks | Didukung | OpenClaw membangun overlay prompt dan memproyeksikan konteks ke turn Codex sebelum memulai atau melanjutkan thread. |
| Siklus hidup mesin konteks | Didukung | Perakitan, ingest atau pemeliharaan setelah turn, dan koordinasi Compaction mesin konteks berjalan untuk turn Codex. |
| Hook alat dinamis | Didukung | before_tool_call, after_tool_call, dan middleware hasil alat berjalan di sekitar alat dinamis milik OpenClaw. |
| Hook siklus hidup | Didukung sebagai observasi adapter | llm_input, llm_output, agent_end, before_compaction, dan after_compaction dipicu dengan payload mode Codex yang jujur. |
| Gate revisi jawaban akhir | Didukung melalui relay hook native | Stop Codex diteruskan ke before_agent_finalize; revise meminta Codex melakukan satu pass model lagi sebelum finalisasi. |
| Blokir atau amati shell, patch, dan MCP native | Didukung melalui relay hook native | PreToolUse dan PostToolUse Codex diteruskan untuk permukaan alat native yang dikomit, termasuk payload MCP pada server aplikasi Codex 0.125.0 atau yang lebih baru. Pemblokiran didukung; penulisan ulang argumen tidak. |
| Kebijakan izin native | Didukung melalui relay hook native | PermissionRequest Codex dapat dirutekan melalui kebijakan OpenClaw ketika runtime mengeksposnya. Jika OpenClaw tidak mengembalikan keputusan, Codex melanjutkan melalui jalur guardian atau persetujuan pengguna normalnya. |
| Penangkapan lintasan server aplikasi | Didukung | OpenClaw merekam permintaan yang dikirimnya ke server aplikasi dan notifikasi server aplikasi yang diterimanya. |
Tidak didukung dalam runtime Codex v1:
| Permukaan | Batas V1 | Jalur masa depan |
|---|---|---|
| Mutasi argumen alat native | Hook pra-alat native Codex dapat memblokir, tetapi OpenClaw tidak menulis ulang argumen alat native Codex. | Memerlukan dukungan hook/skema Codex untuk input alat pengganti. |
| Riwayat transkrip native Codex yang dapat diedit | Codex memiliki riwayat thread native kanonis. OpenClaw memiliki mirror dan dapat memproyeksikan konteks mendatang, tetapi tidak boleh memutasi internal yang tidak didukung. | Tambahkan API server aplikasi Codex eksplisit jika operasi thread native diperlukan. |
tool_result_persist untuk rekaman alat native Codex |
Hook tersebut mentransformasi penulisan transkrip milik OpenClaw, bukan rekaman alat native Codex. | Dapat mencerminkan rekaman yang ditransformasi, tetapi penulisan ulang kanonis memerlukan dukungan Codex. |
| Metadata Compaction native yang kaya | OpenClaw mengamati awal dan selesainya Compaction, tetapi tidak menerima daftar disimpan/dibuang yang stabil, delta token, atau payload ringkasan. | Memerlukan peristiwa Compaction Codex yang lebih kaya. |
| Intervensi Compaction | Hook Compaction OpenClaw saat ini berada di tingkat notifikasi dalam mode Codex. | Tambahkan hook pra/pasca Compaction Codex jika plugin perlu memveto atau menulis ulang Compaction native. |
| Penangkapan permintaan API model byte-per-byte | OpenClaw dapat menangkap permintaan dan notifikasi server aplikasi, tetapi inti Codex membangun permintaan API OpenAI final secara internal. | Memerlukan peristiwa pelacakan permintaan model Codex atau API debug. |
Alat, media, dan Compaction
Harness Codex hanya mengubah eksekutor agen tertanam tingkat rendah.
OpenClaw masih membangun daftar alat dan menerima hasil alat dinamis dari harness. Teks, gambar, video, musik, TTS, persetujuan, dan output alat perpesanan tetap melalui jalur pengiriman OpenClaw normal.
Relay hook native sengaja dibuat generik, tetapi kontrak dukungan v1 dibatasi
pada jalur alat native Codex dan izin yang diuji OpenClaw. Dalam runtime Codex,
itu mencakup payload shell, patch, dan MCP PreToolUse,
PostToolUse, dan PermissionRequest. Jangan menganggap setiap peristiwa hook
Codex di masa depan sebagai permukaan plugin OpenClaw sampai kontrak runtime
menamainya.
Untuk PermissionRequest, OpenClaw hanya mengembalikan keputusan izinkan atau tolak eksplisit
ketika kebijakan memutuskan. Hasil tanpa keputusan bukan berarti izin. Codex memperlakukannya sebagai tanpa
keputusan hook dan melanjutkan ke jalur penjaga atau persetujuan pengguna miliknya sendiri.
Elisitasi persetujuan alat MCP Codex dirutekan melalui alur persetujuan plugin
OpenClaw ketika Codex menandai _meta.codex_approval_kind sebagai
"mcp_tool_call". Prompt Codex request_user_input dikirim kembali ke
chat asal, dan pesan tindak lanjut berikutnya yang diantrekan menjawab permintaan server
native tersebut alih-alih diarahkan sebagai konteks tambahan. Permintaan elisitasi MCP lain
tetap gagal tertutup.
Pengarahan antrean active-run dipetakan ke turn/steer server aplikasi Codex. Dengan
messages.queue.mode: "steer" default, OpenClaw mengelompokkan pesan chat yang diantrekan
untuk jendela senyap yang dikonfigurasi dan mengirimkannya sebagai satu permintaan turn/steer dalam
urutan kedatangan. Mode queue lama mengirim permintaan turn/steer terpisah. Giliran
review Codex dan Compaction manual dapat menolak pengarahan giliran yang sama, dalam hal ini
OpenClaw menggunakan antrean tindak lanjut ketika mode yang dipilih mengizinkan fallback. Lihat
Antrean pengarahan.
Ketika model yang dipilih menggunakan harness Codex, Compaction thread native
didelegasikan ke server aplikasi Codex. OpenClaw menyimpan mirror transkrip untuk riwayat
channel, pencarian, /new, /reset, dan perpindahan model atau harness mendatang. Mirror
mencakup prompt pengguna, teks asisten final, dan rekaman penalaran atau rencana Codex
ringan ketika server aplikasi memancarkannya. Saat ini, OpenClaw hanya
merekam sinyal awal dan selesainya Compaction native. Ini belum mengekspos
ringkasan Compaction yang dapat dibaca manusia atau daftar yang dapat diaudit tentang entri mana yang Codex
simpan setelah Compaction.
Karena Codex memiliki thread native kanonis, tool_result_persist saat ini tidak
menulis ulang rekaman hasil alat native Codex. Ini hanya berlaku ketika
OpenClaw menulis hasil alat transkrip sesi milik OpenClaw.
Pembuatan media tidak memerlukan PI. Gambar, video, musik, PDF, TTS, dan pemahaman
media tetap menggunakan pengaturan penyedia/model yang sesuai seperti
agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel, dan
messages.tts.
Pemecahan Masalah
Codex tidak muncul sebagai penyedia /model normal: ini diharapkan untuk
konfigurasi baru. Pilih model openai/gpt-* dengan
agentRuntime.id: "codex" (atau ref lama codex/*), aktifkan
plugins.entries.codex.enabled, dan periksa apakah plugins.allow mengecualikan
codex.
OpenClaw menggunakan PI alih-alih Codex: agentRuntime.id: "auto" masih dapat menggunakan PI sebagai
backend kompatibilitas ketika tidak ada harness Codex yang mengklaim run. Atur
agentRuntime.id: "codex" untuk memaksa pemilihan Codex saat pengujian. Runtime
Codex yang dipaksa sekarang gagal alih-alih fallback ke PI kecuali Anda
secara eksplisit mengatur agentRuntime.fallback: "pi". Setelah server aplikasi Codex
dipilih, kegagalannya muncul langsung tanpa konfigurasi fallback tambahan.
Server aplikasi ditolak: tingkatkan Codex agar handshake server aplikasi
melaporkan versi 0.125.0 atau lebih baru. Prarilis versi sama atau versi bersufiks build
seperti 0.125.0-alpha.2 atau 0.125.0+custom ditolak karena
batas bawah protokol stabil 0.125.0 adalah yang diuji OpenClaw.
Penemuan model lambat: turunkan plugins.entries.codex.config.discovery.timeoutMs
atau nonaktifkan penemuan.
Transport WebSocket langsung gagal: periksa appServer.url, authToken,
dan bahwa server aplikasi jarak jauh menggunakan versi protokol server aplikasi Codex yang sama.
Model non-Codex menggunakan PI: ini diharapkan kecuali Anda memaksa
agentRuntime.id: "codex" untuk agen tersebut atau memilih ref lama
codex/*. Ref openai/gpt-* biasa dan penyedia lain tetap berada di jalur
penyedia normalnya dalam mode auto. Jika Anda memaksa agentRuntime.id: "codex", setiap giliran tertanam
untuk agen tersebut harus berupa model OpenAI yang didukung Codex.
Computer Use terpasang tetapi alat tidak berjalan: periksa
/codex computer-use status dari sesi baru. Jika sebuah alat melaporkan
Native hook relay unavailable, gunakan /new atau /reset; jika tetap terjadi, mulai ulang
gateway untuk membersihkan pendaftaran hook native yang usang. Jika computer-use.list_apps
habis waktu, mulai ulang Codex Computer Use atau Codex Desktop dan coba lagi.