Codex harness

Codex çalıştırma düzeneği çalışma zamanı

Bu sayfa, Codex harness dönüşleri için çalışma zamanı sözleşmesini belgeler. Kurulum ve yönlendirme için Codex harness ile başlayın. Yapılandırma alanları için bkz. Codex harness başvurusu.

Genel Bakış

Codex modu, altında farklı bir model çağrısı olan PI değildir. Codex, yerel model döngüsünün daha büyük bir kısmını üstlenir ve OpenClaw kendi plugin, araç, oturum ve tanılama yüzeylerini bu sınır etrafında uyarlar.

OpenClaw yine kanal yönlendirmesine, oturum dosyalarına, görünür ileti teslimine, OpenClaw dinamik araçlarına, onaylara, medya teslimine ve bir döküm aynasına sahiptir. Codex kanonik yerel iş parçacığına, yerel model döngüsüne, yerel araç devamına ve yerel Compaction işlemine sahiptir.

İş parçacığı bağlamaları ve model değişiklikleri

Bir OpenClaw oturumu mevcut bir Codex iş parçacığına eklendiğinde, sonraki dönüş o anda seçili OpenAI modelini, onay politikasını, sandbox'ı ve hizmet katmanını app-server'a yeniden gönderir. openai/gpt-5.5 modelinden openai/gpt-5.2 modeline geçmek, iş parçacığı bağlamasını korur ancak Codex'ten yeni seçilen modelle devam etmesini ister.

Görünür yanıtlar ve Heartbeat'ler

Bir kaynak sohbet dönüşü Codex harness üzerinden çalıştığında, dağıtım açıkça messages.visibleReplies yapılandırmamışsa görünür yanıtlar varsayılan olarak OpenClaw message aracını kullanır. Aracı, Codex dönüşünü yine de özel olarak bitirebilir; yalnızca message(action="send") çağırdığında kanala gönderi yapar. Doğrudan sohbet son yanıtlarını eski otomatik teslim yolunda tutmak için messages.visibleReplies: "automatic" ayarlayın.

Codex Heartbeat dönüşleri ayrıca varsayılan olarak aranabilir OpenClaw araç kataloğunda heartbeat_respond alır; böylece aracı, uyandırmanın sessiz kalıp kalmayacağını veya bildirim gönderip göndermeyeceğini, bu denetim akışını son metne kodlamadan kaydedebilir.

Heartbeat'e özgü inisiyatif kılavuzu, Heartbeat dönüşünün kendisinde Codex iş birliği modu geliştirici talimatı olarak gönderilir. Olağan sohbet dönüşleri, normal çalışma zamanı istemlerinde Heartbeat felsefesini taşımak yerine Codex Default modunu geri yükler.

Hook sınırları

Codex harness üç hook katmanına sahiptir:

Katman Sahip Amaç
OpenClaw plugin hook'ları OpenClaw PI ve Codex harness'ları genelinde ürün/plugin uyumluluğu.
Codex app-server extension middleware OpenClaw paketli plugin'leri OpenClaw dinamik araçları etrafında dönüş başına bağdaştırıcı davranışı.
Codex yerel hook'ları Codex Codex yapılandırmasından düşük düzey Codex yaşam döngüsü ve yerel araç politikası.

OpenClaw, OpenClaw plugin davranışını yönlendirmek için proje veya global Codex hooks.json dosyalarını kullanmaz. Desteklenen yerel araç ve izin köprüsü için OpenClaw, PreToolUse, PostToolUse, PermissionRequest ve Stop için iş parçacığı başına Codex yapılandırması enjekte eder.

Codex app-server onayları etkinleştirildiğinde, yani approvalPolicy "never" değilse, varsayılan enjekte edilen yerel hook yapılandırması PermissionRequest öğesini atlar; böylece Codex'in app-server inceleyicisi ve OpenClaw'ın onay köprüsü incelemeden sonra gerçek yükseltmeleri işler. Operatörler, uyumluluk aktarıcısına ihtiyaç duyduklarında nativeHookRelay.events içine açıkça permission_request ekleyebilir.

SessionStart ve UserPromptSubmit gibi diğer Codex hook'ları Codex düzeyinde denetimler olarak kalır. Bunlar v1 sözleşmesinde OpenClaw plugin hook'ları olarak sunulmaz.

OpenClaw dinamik araçları için OpenClaw, Codex çağrıyı istedikten sonra aracı çalıştırır; bu nedenle OpenClaw, sahip olduğu plugin ve middleware davranışını harness bağdaştırıcısında tetikler. Codex yerel araçları için kanonik araç kaydına Codex sahiptir. OpenClaw seçili olayları aynalayabilir, ancak Codex bu işlemi app-server veya yerel hook callback'leri üzerinden sunmadıkça yerel Codex iş parçacığını yeniden yazamaz.

Codex app-server öğe bildirimleri ayrıca, yerel PostToolUse aktarıcısı tarafından zaten kapsanmayan yerel araç tamamlanmaları için zaman uyumsuz after_tool_call gözlemleri sağlar. Bu gözlemler yalnızca telemetri ve plugin uyumluluğu içindir; yerel araç çağrısını engelleyemez, geciktiremez veya değiştiremez.

Compaction ve LLM yaşam döngüsü projeksiyonları, yerel Codex hook komutlarından değil, Codex app-server bildirimlerinden ve OpenClaw bağdaştırıcı durumundan gelir. OpenClaw'ın before_compaction, after_compaction, llm_input ve llm_output olayları bağdaştırıcı düzeyi gözlemlerdir; Codex'in dahili istek veya Compaction payload'larının bire bir byte yakalamaları değildir.

Codex yerel hook/started ve hook/completed app-server bildirimleri, gidişat ve hata ayıklama için codex_app_server.hook aracı olayları olarak yansıtılır. Bunlar OpenClaw plugin hook'larını çağırmaz.

V1 destek sözleşmesi

Codex çalışma zamanı v1'de desteklenenler:

Yüzey Destek Neden
Codex üzerinden OpenAI model döngüsü Desteklenir Codex app-server, OpenAI dönüşüne, yerel iş parçacığı sürdürmeye ve yerel araç devamına sahiptir.
OpenClaw kanal yönlendirme ve teslimi Desteklenir Telegram, Discord, Slack, WhatsApp, iMessage ve diğer kanallar model çalışma zamanının dışında kalır.
OpenClaw dinamik araçları Desteklenir Codex bu araçları çalıştırmasını OpenClaw'dan ister, bu nedenle OpenClaw yürütme yolunda kalır.
İstem ve bağlam plugin'leri Desteklenir OpenClaw, iş parçacığını başlatmadan veya sürdürmeden önce istem katmanları oluşturur ve bağlamı Codex dönüşüne yansıtır.
Bağlam motoru yaşam döngüsü Desteklenir Birleştirme, içe alma, dönüş sonrası bakım ve bağlam motoru Compaction koordinasyonu Codex dönüşleri için çalışır.
Dinamik araç hook'ları Desteklenir before_tool_call, after_tool_call ve araç sonucu middleware'i OpenClaw'a ait dinamik araçların etrafında çalışır.
Yaşam döngüsü hook'ları Bağdaştırıcı gözlemleri olarak desteklenir llm_input, llm_output, agent_end, before_compaction ve after_compaction dürüst Codex modu payload'larıyla tetiklenir.
Son yanıt revizyon kapısı Yerel hook aktarıcısı üzerinden desteklenir Codex Stop, before_agent_finalize öğesine aktarılır; revise, sonlandırmadan önce Codex'ten bir model geçişi daha ister.
Yerel shell, patch ve MCP engelleme veya gözlemleme Yerel hook aktarıcısı üzerinden desteklenir Codex PreToolUse ve PostToolUse, Codex app-server 0.125.0 veya daha yenisindeki MCP payload'ları dahil, taahhüt edilmiş yerel araç yüzeyleri için aktarılır. Engelleme desteklenir; argüman yeniden yazma desteklenmez.
Yerel izin politikası Codex app-server onayları ve uyumluluk yerel hook aktarıcısı üzerinden desteklenir Codex app-server onay istekleri, Codex incelemesinden sonra OpenClaw üzerinden yönlendirilir. PermissionRequest yerel hook aktarıcısı, Codex bunu koruyucu incelemeden önce yaydığı için yerel onay modlarında isteğe bağlıdır.
App-server gidişat yakalama Desteklenir OpenClaw, app-server'a gönderdiği isteği ve aldığı app-server bildirimlerini kaydeder.

Codex çalışma zamanı v1'de desteklenmeyenler:

Yüzey V1 sınırı Gelecek yol
Yerel araç argümanı değiştirme Codex yerel araç öncesi hook'ları engelleyebilir, ancak OpenClaw Codex yerel araç argümanlarını yeniden yazmaz. Yedek araç girdisi için Codex hook/şema desteği gerektirir.
Düzenlenebilir Codex yerel döküm geçmişi Codex kanonik yerel iş parçacığı geçmişine sahiptir. OpenClaw bir aynaya sahiptir ve gelecek bağlamı yansıtabilir, ancak desteklenmeyen dahili öğeleri değiştirmemelidir. Yerel iş parçacığı cerrahisi gerekiyorsa açık Codex app-server API'leri ekleyin.
Codex yerel araç kayıtları için tool_result_persist Bu hook, Codex yerel araç kayıtlarını değil, OpenClaw'a ait döküm yazımlarını dönüştürür. Dönüştürülmüş kayıtlar aynalanabilir, ancak kanonik yeniden yazma Codex desteği gerektirir.
Zengin yerel Compaction meta verileri OpenClaw, Compaction başlangıcını ve tamamlanmasını gözlemler, ancak kararlı bir tutulan/bırakılan listesi, token farkı veya özet payload'ı almaz. Daha zengin Codex Compaction olayları gerekir.
Compaction müdahalesi Mevcut OpenClaw Compaction hook'ları Codex modunda bildirim düzeyindedir. Plugin'lerin yerel Compaction işlemini veto etmesi veya yeniden yazması gerekiyorsa Codex ön/son Compaction hook'ları ekleyin.
Bire bir byte model API isteği yakalama OpenClaw app-server isteklerini ve bildirimlerini yakalayabilir, ancak Codex çekirdeği nihai OpenAI API isteğini dahili olarak oluşturur. Bir Codex model isteği izleme olayı veya hata ayıklama API'si gerekir.

Yerel izinler ve MCP talepleri

PermissionRequest için OpenClaw yalnızca politika karar verdiğinde açık izin verme veya reddetme kararları döndürür. Kararsız sonuç izin verme değildir. Codex bunu hook kararı yok olarak ele alır ve kendi koruyucu veya kullanıcı onay yoluna düşer.

Codex app-server onay modları, varsayılan olarak bu native hook'u atlar. Bu davranış, permission_request açıkça nativeHookRelay.events içine eklendiğinde veya bir uyumluluk runtime'ı bunu yüklediğinde geçerlidir.

Bir operatör, bir Codex native izin isteği için allow-always seçtiğinde, OpenClaw bu tam provider/session/tool input/cwd parmak izini sınırlı bir oturum penceresi boyunca hatırlar. Hatırlanan karar bilinçli olarak yalnızca tam eşleşmedir: değişen bir komut, argümanlar, tool payload veya cwd yeni bir onay oluşturur.

Codex MCP tool onay elicitations, Codex _meta.codex_approval_kind değerini "mcp_tool_call" olarak işaretlediğinde OpenClaw'ın Plugin onay akışı üzerinden yönlendirilir. Codex request_user_input istemleri kaynak sohbete geri gönderilir ve sıradaki bir sonraki takip mesajı, ek bağlam olarak yönlendirilmek yerine bu native server isteğini yanıtlar. Diğer MCP elicitation istekleri kapalı başarısız olur.

Kuyruk yönlendirme

Etkin çalıştırma kuyruk yönlendirmesi, Codex app-server turn/steer üzerine eşlenir. Varsayılan messages.queue.mode: "steer" ile OpenClaw, kuyruğa alınan sohbet mesajlarını yapılandırılmış sessizlik penceresi için toplar ve bunları geliş sırasıyla tek bir turn/steer isteği olarak gönderir. Eski queue modu ayrı turn/steer istekleri gönderir.

Codex inceleme ve manuel Compaction dönüşleri aynı dönüş yönlendirmesini reddedebilir. Bu durumda OpenClaw, seçili mod fallback'e izin verdiğinde takip kuyruğunu kullanır. Bkz. Yönlendirme kuyruğu.

Codex geri bildirim yüklemesi

Native Codex harness kullanan bir oturum için /diagnostics [note] onaylandığında, OpenClaw ilgili Codex thread'leri için Codex app-server feedback/upload da çağırır. Yükleme, app-server'dan mümkün olduğunda her listelenen thread ve oluşturulan Codex alt thread'leri için logları dahil etmesini ister.

Yükleme, Codex'in normal geri bildirim yolu üzerinden OpenAI sunucularına gider. Codex geri bildirimi bu app-server'da devre dışıysa, komut app-server hatasını döndürür. Tamamlanan diagnostics yanıtı, gönderilen thread'ler için kanalları, OpenClaw oturum kimliklerini, Codex thread kimliklerini ve yerel codex resume <thread-id> komutlarını listeler.

Onayı reddeder veya yok sayarsanız, OpenClaw bu Codex kimliklerini yazdırmaz ve Codex geri bildirimi göndermez. Yükleme, yerel Gateway diagnostics dışa aktarımının yerini almaz. Onay, gizlilik, yerel paket ve grup sohbeti davranışı için bkz. Diagnostics dışa aktarımı.

/codex diagnostics [note] komutunu yalnızca tam Gateway diagnostics paketi olmadan, şu anda ekli thread için özellikle Codex geri bildirim yüklemesini istediğinizde kullanın.

Compaction ve transcript aynası

Seçili model Codex harness kullandığında, native thread Compaction işlemi Codex app-server'a devredilir. OpenClaw kanal geçmişi, arama, /new, /reset ve gelecekteki model ya da harness geçişleri için bir transcript aynası tutar.

Ayna, app-server bunları yaydığında kullanıcı istemini, son assistant metnini ve hafif Codex reasoning veya plan kayıtlarını içerir. Bugün OpenClaw yalnızca native Compaction başlatma ve tamamlanma sinyallerini kaydeder. Henüz insan tarafından okunabilir bir Compaction özeti veya Codex'in Compaction sonrasında hangi girdileri tuttuğuna dair denetlenebilir bir liste sunmaz.

Canonical native thread Codex'e ait olduğundan, tool_result_persist şu anda Codex-native tool sonuç kayıtlarını yeniden yazmaz. Yalnızca OpenClaw'ın OpenClaw'a ait bir oturum transcript tool sonucu yazdığı durumlarda uygulanır.

Medya ve teslimat

OpenClaw medya teslimatını ve medya provider seçimini sahiplenmeye devam eder. Görüntü, video, müzik, PDF, TTS ve medya anlama; agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel ve messages.tts gibi eşleşen provider/model ayarlarını kullanır.

Metin, görüntüler, video, müzik, TTS, onaylar ve messaging-tool çıktısı normal OpenClaw teslimat yolu üzerinden devam eder. Medya üretimi PI gerektirmez. Codex, savedPath içeren bir native görüntü üretimi öğesi yaydığında, Codex dönüşünde assistant metni olmasa bile OpenClaw bu tam dosyayı normal yanıt-medya yolu üzerinden iletir.

İlgili