Codex harness

รันไทม์ของชุดควบคุม Codex

สัญญารันไทม์สำหรับเทิร์นของชุดควบคุม Codex สำหรับการตั้งค่าและการกำหนดเส้นทาง โปรดดู ชุดควบคุม Codex สำหรับฟิลด์การกำหนดค่า โปรดดู ข้อมูลอ้างอิงชุดควบคุม Codex

ภาพรวม

Codex เป็นผู้ดูแลลูปโมเดลแบบเนทีฟ การดำเนินเธรดต่อแบบเนทีฟ การดำเนินเครื่องมือต่อแบบเนทีฟ และ Compaction แบบเนทีฟ OpenClaw เป็นผู้ดูแลการกำหนดเส้นทางช่องทาง ไฟล์เซสชัน การส่งข้อความที่มองเห็นได้ เครื่องมือแบบไดนามิกของ OpenClaw การอนุมัติ การส่งสื่อ และสำเนาทรานสคริปต์รอบขอบเขตดังกล่าว

การกำหนดเส้นทางพรอมต์จะเป็นไปตามรันไทม์ที่เลือก ไม่ใช่เพียงสตริงผู้ให้บริการ เทิร์น Codex แบบเนทีฟจะได้รับคำสั่งสำหรับนักพัฒนาของเซิร์ฟเวอร์แอป Codex ส่วนเส้นทางความเข้ากันได้ของ OpenClaw ที่ระบุอย่างชัดเจนจะยังคงใช้พรอมต์ระบบ OpenClaw ตามปกติ แม้จะใช้การยืนยันตัวตนหรือการรับส่งข้อมูลของ OpenAI ในรูปแบบ Codex

OpenClaw เริ่มต้นและดำเนินเธรด Codex แบบเนทีฟต่อโดยปิดบุคลิกที่มากับ Codex (personality: "none") เพื่อให้ไฟล์บุคลิกของพื้นที่ทำงานและอัตลักษณ์เอเจนต์ของ OpenClaw ยังคงเป็นแหล่งข้อมูลหลัก นอกเหนือจากนี้ Codex แบบเนทีฟยังคงใช้คำสั่งพื้นฐาน/คำสั่งโมเดล ที่ Codex ดูแล และการโหลดเอกสารโครงการ การทำงานแบบเบาของ OpenClaw (ตัวอย่างเช่น cron) ยังคงระงับการโหลดเอกสารโครงการ

คำสั่งสำหรับนักพัฒนาของ OpenClaw ครอบคลุมข้อกังวลด้านรันไทม์ของ OpenClaw ได้แก่ การส่งไปยังช่องทางต้นทาง เครื่องมือแบบไดนามิกของ OpenClaw การมอบหมายผ่าน ACP บริบทของอะแดปเตอร์ และไฟล์โปรไฟล์พื้นที่ทำงานของเอเจนต์ที่ใช้งานอยู่ แค็ตตาล็อก Skills และตัวชี้ MEMORY.md ที่กำหนดเส้นทางผ่านเครื่องมือ จะถูกส่งเป็นคำสั่งสำหรับนักพัฒนาเพื่อการทำงานร่วมกันที่มีขอบเขตเฉพาะเทิร์น เมื่อเครื่องมือหน่วยความจำไม่พร้อมใช้งาน เนื้อหา BOOTSTRAP.md ที่ใช้งานอยู่ และ MEMORY.md ฉบับเต็มจะเปลี่ยนไปใช้บริบทอินพุตแบบข้อความธรรมดาของเทิร์นแทน

เครื่องมือแบบไดนามิกส่วนใหญ่ของ OpenClaw ใช้เนมสเปซ openclaw ที่ค้นหาได้ เครื่องมือที่ทำเครื่องหมาย catalogMode: "direct-only" จะใช้ openclaw_direct ซึ่ง Codex จะคงให้โมเดลมองเห็นโดยตรงในรูปแบบ DirectModelOnly แทนที่จะเปิดเผยให้กับการดำเนินการโหมดโค้ดแบบซ้อน

การผูกเธรดและการเปลี่ยนโมเดล

เมื่อเซสชัน OpenClaw เชื่อมกับเธรด Codex ที่มีอยู่ เทิร์นถัดไปจะส่งโมเดลที่เลือกอยู่ในปัจจุบัน นโยบายการอนุมัติ แซนด์บ็อกซ์ ผู้ตรวจสอบการอนุมัติ และระดับบริการไปยังเซิร์ฟเวอร์แอปอีกครั้ง การเปลี่ยนจาก openai/gpt-5.5 เป็น openai/gpt-5.2 จะคงการผูกเธรดไว้ แต่ขอให้ Codex ดำเนินการต่อด้วยโมเดลที่เลือกใหม่

การผูกแบบมีการกำกับดูแลเป็นข้อยกเว้น ตัวเลือกโมเดลของ OpenClaw จะยังคงถูกล็อก และการดำเนินการต่อจะไม่ส่งค่าลบล้างโมเดลและผู้ให้บริการ เพื่อให้ Codex กู้คืนโมเดล และผู้ให้บริการที่คงอยู่ของเธรดมาตรฐาน การควบคุม Codex แบบเนทีฟที่แยกต่างหาก สามารถเปลี่ยนคู่ค่าที่คงอยู่นั้นได้ และสแนปช็อตเริ่มต้นอาจทำให้ Codex แสดงคำเตือน ความแตกต่างของโมเดลตามปกติ โมเดล OpenClaw ชั้นนอกและสายโซ่สำรอง จะไม่ใช้แทนค่าใดค่าหนึ่งในคู่นั้น

การกำกับดูแลและการดำเนินการต่ออย่างปลอดภัย

การกำกับดูแล Codex เป็นความสามารถที่ต้องเลือกเปิดใช้ของ Plugin codex เดียวกัน ความสามารถนี้ค้นหาเธรดแบบเนทีฟผ่านการเชื่อมต่อแยกต่างหาก และส่งเฉพาะเซสชัน ที่ไม่ได้เก็บถาวรไปยังแค็ตตาล็อก Gateway หากไม่มีการตั้งค่าการเชื่อมต่อ appServer อย่างชัดเจน การเชื่อมต่อนั้นจะใช้ stdio ในโฮมของผู้ใช้ที่มีการจัดการ ขณะที่ชุดควบคุมปกติยังคงมีขอบเขตเฉพาะเอเจนต์ การแสดงรายการและการอ่านเมทาดาทา เป็นการทำงานแบบรับเท่านั้น โดยจะไม่ดำเนินเธรดต่อ สมัครรับเหตุการณ์สดของเธรดให้ OpenClaw หรือตอบคำขออนุมัติของเธรด

สำหรับเซสชันที่จัดเก็บไว้หรือไม่ได้ใช้งานบนคอมพิวเตอร์ Gateway ดำเนินการต่อเป็นสาขา จะสร้างแชตปกติที่ล็อกโมเดล และทำสำเนาประวัติของผู้ใช้ และผู้ช่วยแบบจำกัดขอบเขตจนถึงเทิร์นสุดท้ายของต้นทางที่สิ้นสุดและคงอยู่แล้ว เทิร์นแรกของแชตปกติจะติดตั้งตัวจัดการการอนุมัติจริง และใช้ฟอร์กเนทีฟชั่วคราว เพื่อตรึงสแนปช็อตโดยไม่ลบล้างโมเดลหรือผู้ให้บริการ เซิร์ฟเวอร์แอป Codex จะใช้การกำหนดค่าเนทีฟปัจจุบันและส่งคืนคู่ค่าที่เลือก โดยจะแสดงคำเตือนตามปกติ หากโมเดลนั้นแตกต่างจากโมเดลล่าสุดที่บันทึกไว้ของต้นทาง ในการเชื่อมต่อการกำกับดูแลเดียวกัน OpenClaw จะเริ่มเธรดชุดควบคุม Codex มาตรฐาน ที่มีต้นทาง appServer ภายใต้ไดเรกทอรีทำงานและนโยบายรันไทม์ของเธรดนั้น โดยใช้โมเดลและผู้ให้บริการที่ส่งคืนมาอย่างตรงกันสำหรับการเริ่มต้นครั้งแรก แทรกประวัติที่มองเห็นได้แบบจำกัดขอบเขต และเก็บฟอร์กชั่วคราวเข้าคลัง ต้นทางจะไม่ถูกดำเนินต่อ เธรดมาตรฐานมีพื้นผิวเครื่องมือของชุดควบคุม OpenClaw อย่างครบถ้วน โดยจะไม่โคลนการให้เหตุผล การเรียกเครื่องมือ และผลลัพธ์ของเครื่องมือ จากต้นทางเข้าไป ขอบเขตการเชื่อมต่อส่วนตัวยังคงอยู่ทั้งในสถานะการผูกที่รอดำเนินการ และที่ยืนยันแล้ว ดังนั้นทุกเทิร์นภายหลังจะยังคงใช้การเชื่อมต่อนั้น พร้อมการยืนยันตัวตนและการกำหนดค่าผู้ให้บริการแบบเนทีฟ หากการกำกับดูแลถูกปิดใช้งาน หรือการผูก/การเชื่อมต่อคลาดเคลื่อน ระบบจะปิดกั้นอย่างปลอดภัยแทนการสลับไปใช้ชุดควบคุมปกติในโฮมของเอเจนต์

ต้นทาง CLI หรือ VS Code เดิมยังคงมีสิทธิ์ปรากฏในทั้งสองแค็ตตาล็อก สาขามาตรฐานเป็นเธรด Codex แบบเนทีฟ แต่ชนิดต้นทางคือ appServer ไคลเอนต์แบบเนทีฟอาจกรองชนิดต้นทางนี้ ดังนั้นจึงไม่รับประกันว่า สาขาดังกล่าวจะปรากฏใน Codex Desktop

ต้นทางที่ใช้งานอยู่ไม่สามารถเริ่มสาขาใหม่หรือถูกเก็บถาวรได้ แต่ยังคงเปิดแชตที่มีการกำกับดูแลอยู่แล้วได้ notLoaded หมายถึงไม่ทราบสถานะกิจกรรม ไม่ใช่ไม่ได้ใช้งาน OpenClaw อนุญาตให้เก็บแถว idle หรือ notLoaded ในเครื่องเข้าคลังได้ต่อเมื่อมีการยืนยันอย่างชัดเจนว่าไม่มีตัวดำเนินการอื่น และมีการอ่านสถานะภายในกระบวนการครั้งใหม่ Codex จัดลำดับการเปลี่ยนแปลงเธรด ภายในกระบวนการเซิร์ฟเวอร์แอปเดียว แต่ไม่ได้ให้สิทธิ์เช่าแบบผูกขาดข้ามกระบวนการ สำหรับตัวดำเนินการหรือเจ้าของการอนุมัติ ดังนั้นการอ่านดังกล่าวจึงพิสูจน์ไม่ได้ว่า ไม่มีกระบวนการอื่นกำลังใช้เธรดอยู่ OpenClaw จะบล็อกเจ้าของการผูกที่ทราบว่าใช้งานอยู่ สำหรับเป้าหมายที่ตรงกันทุกประการ หรือผู้สืบทอดที่ถูกสร้างขึ้นและยังไม่เก็บถาวร ซึ่งส่งคืนจากการค้นหาผู้สืบทอดแบบแบ่งหน้าของ Codex ข้อผิดพลาดในการแจงรายการ วงจร และการใช้ขีดจำกัดความปลอดภัยจนหมด จะทำให้ระบบปิดกั้นอย่างปลอดภัย การเก็บถาวรแบบเนทีฟยังคงอาจเกิดสภาวะแข่งขัน กับเทิร์นใหม่ในอีกกระบวนการหนึ่ง ดังนั้นการยืนยันจึงครอบคลุมไคลเอนต์ที่ไม่ทราบ และช่องว่างระหว่างการอ่านสถานะกับการเก็บถาวร แชตที่ล็อกโมเดลและมีการกำกับดูแลจะไม่สามารถถูกลบได้ ขณะที่ยังคงปกป้องการผูกแบบเนทีฟ

แค็ตตาล็อกของ Node ที่จับคู่กันจะยังคงเป็นเมทาดาทาเท่านั้นในรุ่นแรก ขอบเขตการเรียกใช้ Node ปัจจุบันเป็นแบบคำขอ/การตอบกลับ และไม่สามารถส่งเหตุการณ์เทิร์นที่มีอายุยาว คำขออนุมัติ หรือเอาต์พุตแบบสตรีมที่จำเป็นสำหรับการผูกชุดควบคุม Codex จริง ดังนั้น ดำเนินการต่อ และ เก็บถาวร จากระยะไกลจึงยังไม่พร้อมใช้งาน แม้แถวดังกล่าวจะไม่ได้ใช้งาน

โปรดดู การกำกับดูแล Codex สำหรับการตั้งค่าของผู้ปฏิบัติงาน และลักษณะการทำงานที่มองเห็นได้ในส่วนติดต่อผู้ใช้ควบคุม

การตอบกลับที่มองเห็นได้และ Heartbeat

เทิร์นแชตโดยตรง/จากต้นทางผ่านชุดควบคุม Codex จะใช้การส่งข้อความสุดท้าย ของผู้ช่วยโดยอัตโนมัติเป็นค่าเริ่มต้นสำหรับพื้นผิว WebChat ภายใน ซึ่งสอดคล้องกับสัญญาของชุดควบคุม Pi กล่าวคือ เอเจนต์จะตอบตามปกติ และ OpenClaw จะโพสต์ข้อความสุดท้ายไปยังการสนทนาต้นทาง ตั้งค่า messages.visibleReplies: "message_tool" เพื่อเก็บข้อความสุดท้ายของผู้ช่วย เป็นส่วนตัว เว้นแต่เอเจนต์จะเรียก message(action="send")

เทิร์น Heartbeat ของ Codex จะได้รับ heartbeat_respond ในแค็ตตาล็อกเครื่องมือ OpenClaw ที่ค้นหาได้เป็นค่าเริ่มต้น เพื่อให้เอเจนต์บันทึกได้ว่าการปลุกควรทำงานอย่างเงียบ ๆ หรือส่งการแจ้งเตือน คำแนะนำเกี่ยวกับการริเริ่มของ Heartbeat จะถูกส่งเป็นคำสั่งสำหรับนักพัฒนา ในโหมดการทำงานร่วมกันของ Codex ซึ่งมีขอบเขตเฉพาะเทิร์น Heartbeat ส่วนเทิร์นแชตปกติจะยังคงอยู่ในโหมดเริ่มต้นของ Codex เมื่อ HEARTBEAT.md ไม่ว่าง คำสั่ง Heartbeat จะชี้ Codex ไปยังไฟล์ แทนการแทรกเนื้อหาไว้โดยตรง

ขอบเขตของฮุก

ชั้น เจ้าของ วัตถุประสงค์
ฮุก Plugin ของ OpenClaw OpenClaw ความเข้ากันได้ของผลิตภัณฑ์/Plugin ระหว่างชุดควบคุม OpenClaw และ Codex
มิดเดิลแวร์ส่วนขยายของเซิร์ฟเวอร์แอป Codex Plugin ที่รวมมากับ OpenClaw ลักษณะการทำงานของอะแดปเตอร์ต่อเทิร์นรอบเครื่องมือแบบไดนามิกของ OpenClaw
ฮุกเนทีฟของ Codex Codex วงจรชีวิตระดับล่างของ Codex และนโยบายเครื่องมือเนทีฟจากการกำหนดค่า Codex

OpenClaw ไม่ใช้ไฟล์ hooks.json ระดับโครงการหรือส่วนกลางของ Codex เพื่อกำหนดเส้นทางลักษณะการทำงานของ Plugin สำหรับบริดจ์เครื่องมือเนทีฟ และสิทธิ์อนุญาต OpenClaw จะแทรกการกำหนดค่า Codex ต่อเธรดสำหรับ PreToolUse, PostToolUse, PermissionRequest และ Stop

เมื่อเปิดใช้การอนุมัติของเซิร์ฟเวอร์แอป Codex (approvalPolicy ไม่ใช่ "never") การกำหนดค่าฮุกเนทีฟเริ่มต้นที่แทรกจะไม่รวม PermissionRequest เพื่อให้ผู้ตรวจสอบของเซิร์ฟเวอร์แอป Codex และบริดจ์การอนุมัติของ OpenClaw จัดการการยกระดับสิทธิ์จริงหลังการตรวจสอบ เพิ่ม permission_request ลงใน nativeHookRelay.events เพื่อบังคับใช้รีเลย์ความเข้ากันได้ต่อไป ฮุก Codex อื่น ๆ เช่น SessionStart และ UserPromptSubmit ยังคงเป็นการควบคุมระดับ Codex และไม่ได้เปิดเผยเป็นฮุก Plugin ของ OpenClaw ในสัญญา v1

สำหรับเครื่องมือแบบไดนามิกของ OpenClaw นั้น OpenClaw จะดำเนินการเครื่องมือ หลังจาก Codex ร้องขอการเรียก ดังนั้นลักษณะการทำงานของ Plugin และมิดเดิลแวร์ จะทำงานในอะแดปเตอร์ชุดควบคุม สำหรับเครื่องมือเนทีฟของ Codex นั้น Codex เป็นผู้ดูแลระเบียนเครื่องมือมาตรฐาน OpenClaw สามารถทำสำเนาเหตุการณ์ที่เลือกได้ แต่ไม่สามารถเขียนเธรดเนทีฟใหม่ เว้นแต่ Codex จะเปิดเผยความสามารถดังกล่าว ผ่านเซิร์ฟเวอร์แอปหรือคอลแบ็กฮุกเนทีฟ

เหตุการณ์ PreToolUse ในโหมดรายงานของเซิร์ฟเวอร์แอป Codex จะเลื่อนการอนุมัติจาก Plugin ไปยังการอนุมัติของเซิร์ฟเวอร์แอปที่ตรงกัน หากฮุก before_tool_call ของ OpenClaw ส่งคืน requireApproval ขณะที่เพย์โหลดเนทีฟตั้งค่า openclaw_approval_mode: "report" รีเลย์ฮุกเนทีฟจะบันทึกข้อกำหนดการอนุมัติของ Plugin และไม่ส่งคืนการตัดสินใจแบบเนทีฟ เมื่อ Codex ส่งคำขออนุมัติของเซิร์ฟเวอร์แอป สำหรับการใช้เครื่องมือเดียวกันในภายหลัง OpenClaw จะเปิดพรอมต์การอนุมัติของ Plugin และแมปการตัดสินใจกลับไปยัง Codex เหตุการณ์ PermissionRequest ของ Codex เป็นเส้นทางการอนุมัติแยกต่างหาก และยังคงกำหนดเส้นทางผ่านการอนุมัติของ OpenClaw ได้เมื่อกำหนดค่าให้ใช้บริดจ์ดังกล่าว

การแจ้งเตือนรายการของเซิร์ฟเวอร์แอป Codex ยังให้ข้อสังเกต after_tool_call แบบอะซิงโครนัสสำหรับการทำงานของเครื่องมือเนทีฟที่เสร็จสมบูรณ์ และยังไม่ได้ครอบคลุมโดยรีเลย์ PostToolUse แบบเนทีฟ ข้อมูลเหล่านี้มีไว้สำหรับเทเลเมทรี/ความเข้ากันได้เท่านั้น และไม่สามารถบล็อก หน่วงเวลา หรือเปลี่ยนแปลงการเรียกเครื่องมือเนทีฟได้

การฉายข้อมูล Compaction และวงจรชีวิตของ LLM มาจากการแจ้งเตือน ของเซิร์ฟเวอร์แอป Codex และสถานะอะแดปเตอร์ OpenClaw ไม่ใช่คำสั่งฮุกเนทีฟของ Codex before_compaction, after_compaction, llm_input และ llm_output เป็นข้อสังเกตระดับอะแดปเตอร์ ไม่ใช่การบันทึกเพย์โหลดคำขอภายในหรือเพย์โหลด Compaction ของ Codex แบบตรงกันทุกไบต์

การแจ้งเตือน hook/started และ hook/completed แบบเนทีฟของ Codex จากเซิร์ฟเวอร์แอปจะถูกฉายเป็นเหตุการณ์เอเจนต์ codex_app_server.hook สำหรับเส้นทางการดำเนินงานและการแก้ไขข้อบกพร่อง เหตุการณ์เหล่านี้จะไม่เรียกใช้ฮุก Plugin ของ OpenClaw

สัญญาการรองรับ V1

รองรับในรันไทม์ Codex v1:

พื้นที่การทำงาน การรองรับ เหตุผล
ลูปโมเดล OpenAI ผ่าน Codex รองรับ Codex app-server เป็นเจ้าของรอบการทำงานของ OpenAI การดำเนินเธรดต่อแบบเนทีฟ และการดำเนินเครื่องมือต่อแบบเนทีฟ
การกำหนดเส้นทางและการส่งมอบช่องทางของ OpenClaw รองรับ Telegram, Discord, Slack, WhatsApp, iMessage และช่องทางอื่น ๆ ยังคงอยู่นอกรันไทม์ของโมเดล
เครื่องมือแบบไดนามิกของ OpenClaw รองรับ Codex ขอให้ OpenClaw เรียกใช้เครื่องมือเหล่านี้ ดังนั้น OpenClaw จึงยังคงอยู่ในเส้นทางการดำเนินการ
Plugin สำหรับพรอมต์และบริบท รองรับ OpenClaw ฉายพรอมต์/บริบทเฉพาะของ OpenClaw เข้าไปในรอบการทำงานของ Codex ขณะที่ยังคงให้พรอมต์พื้นฐาน พรอมต์ของโมเดล และพรอมต์เอกสารโครงการที่กำหนดค่าไว้ซึ่ง Codex เป็นเจ้าของอยู่ในเส้นทางเนทีฟของ Codex OpenClaw ปิดใช้บุคลิกภาพในตัวของ Codex สำหรับเธรดเนทีฟ เพื่อให้ไฟล์บุคลิกภาพในพื้นที่ทำงานของเอเจนต์ยังคงเป็นแหล่งข้อมูลหลัก คำสั่งสำหรับนักพัฒนาแบบเนทีฟของ Codex ยอมรับเฉพาะคำแนะนำเกี่ยวกับคำสั่งที่กำหนดขอบเขตเป็น codex_app_server อย่างชัดเจน ส่วนคำใบ้คำสั่งส่วนกลางแบบเดิมยังคงใช้กับพื้นผิวพรอมต์ที่ไม่ใช่ Codex
วงจรชีวิตของกลไกบริบท รองรับ การประกอบ การนำเข้า และการบำรุงรักษาหลังจบรอบจะทำงานครอบรอบการทำงานของ Codex กลไกบริบทไม่แทนที่ Compaction แบบเนทีฟของ Codex
ฮุกเครื่องมือแบบไดนามิก รองรับ มิดเดิลแวร์ before_tool_call, after_tool_call และผลลัพธ์ของเครื่องมือทำงานครอบเครื่องมือแบบไดนามิกที่ OpenClaw เป็นเจ้าของ
ฮุกวงจรชีวิต รองรับในรูปแบบการสังเกตการณ์ของอะแดปเตอร์ llm_input, llm_output, agent_end, before_compaction และ after_compaction จะทำงานด้วยเพย์โหลดโหมด Codex ที่สะท้อนความเป็นจริง
ด่านตรวจการแก้ไขคำตอบสุดท้าย รองรับผ่านรีเลย์ฮุกแบบเนทีฟ Stop ของ Codex จะถูกส่งต่อไปยัง before_agent_finalize; revise จะขอให้ Codex ประมวลผลโมเดลอีกหนึ่งรอบก่อนจบการทำงาน
การบล็อกหรือสังเกตเชลล์ แพตช์ และ MCP แบบเนทีฟ รองรับผ่านรีเลย์ฮุกแบบเนทีฟ PreToolUse และ PostToolUse ของ Codex จะถูกส่งต่อสำหรับพื้นผิวเครื่องมือเนทีฟที่คอมมิตแล้ว รวมถึงเพย์โหลด MCP บน Codex app-server 0.142.0 หรือใหม่กว่า รองรับการบล็อก แต่ไม่รองรับการเขียนอาร์กิวเมนต์ใหม่
นโยบายสิทธิ์แบบเนทีฟ รองรับผ่านการอนุมัติของ Codex app-server และรีเลย์ฮุกเนทีฟเพื่อความเข้ากันได้ คำขออนุมัติของ Codex app-server จะถูกส่งผ่าน OpenClaw หลังการตรวจสอบของ Codex รีเลย์ฮุกเนทีฟ PermissionRequest เป็นแบบเลือกใช้สำหรับโหมดการอนุมัติแบบเนทีฟ เนื่องจาก Codex ส่งฮุกนี้ก่อนการตรวจสอบของระบบคุ้มกัน
การบันทึกเส้นทางการทำงานของ app-server รองรับ OpenClaw บันทึกคำขอที่ส่งไปยัง app-server และการแจ้งเตือนที่ได้รับจาก app-server

ไม่รองรับในรันไทม์ Codex v1:

พื้นที่การทำงาน ขอบเขตของ V1 แนวทางในอนาคต
การเปลี่ยนแปลงอาร์กิวเมนต์ของเครื่องมือเนทีฟ ฮุกก่อนเรียกเครื่องมือแบบเนทีฟของ Codex สามารถบล็อกได้ แต่ OpenClaw ไม่เขียนอาร์กิวเมนต์ของเครื่องมือเนทีฟ Codex ใหม่ ต้องมีการรองรับจากฮุก/สคีมาของ Codex สำหรับอินพุตเครื่องมือทดแทน
ประวัติทรานสคริปต์เนทีฟของ Codex ที่แก้ไขได้ Codex เป็นเจ้าของประวัติเธรดเนทีฟหลัก OpenClaw เป็นเจ้าของข้อมูลสะท้อนและสามารถฉายบริบทในอนาคตได้ แต่ไม่ควรเปลี่ยนแปลงส่วนภายในที่ไม่รองรับ เพิ่ม API ของ Codex app-server ที่ชัดเจน หากจำเป็นต้องผ่าตัดเธรดเนทีฟ
tool_result_persist สำหรับระเบียนเครื่องมือเนทีฟของ Codex ฮุกดังกล่าวแปลงการเขียนทรานสคริปต์ที่ OpenClaw เป็นเจ้าของ ไม่ใช่ระเบียนเครื่องมือเนทีฟของ Codex สามารถสะท้อนระเบียนที่แปลงแล้วได้ แต่การเขียนข้อมูลหลักใหม่ต้องอาศัยการรองรับจาก Codex
เมทาดาทา Compaction แบบเนทีฟที่มีรายละเอียดสูง OpenClaw สามารถขอ Compaction แบบเนทีฟได้ แต่ไม่ได้รับรายการที่คงไว้/ตัดทิ้งที่เสถียร ผลต่างของโทเค็น สรุปการเสร็จสิ้น หรือเพย์โหลดสรุป ต้องมีเหตุการณ์ Compaction ของ Codex ที่ละเอียดมากขึ้น
การแทรกแซง Compaction OpenClaw ไม่อนุญาตให้ Plugin หรือกลไกบริบทยับยั้ง เขียนใหม่ หรือแทนที่ Compaction แบบเนทีฟของ Codex เพิ่มฮุกก่อน/หลัง Compaction ของ Codex หาก Plugin จำเป็นต้องยับยั้งหรือเขียน Compaction แบบเนทีฟใหม่
การบันทึกคำขอ API ของโมเดลแบบตรงกันทุกไบต์ OpenClaw สามารถบันทึกคำขอและการแจ้งเตือนของ app-server ได้ แต่แกนหลักของ Codex สร้างคำขอ OpenAI API ขั้นสุดท้ายภายในระบบ ต้องมีเหตุการณ์ติดตามคำขอของโมเดลหรือ API ดีบักจาก Codex

สิทธิ์แบบเนทีฟและการขอข้อมูลจาก MCP

สำหรับ PermissionRequest OpenClaw จะส่งคืนการตัดสินใจอนุญาตหรือปฏิเสธอย่างชัดเจน เฉพาะเมื่อนโยบายตัดสินแล้วเท่านั้น ผลลัพธ์ที่ไม่มีการตัดสินใจไม่ถือเป็นการอนุญาต: Codex จะถือว่าไม่มีการตัดสินใจจากฮุก และส่งต่อไปยังระบบคุ้มกันหรือเส้นทาง การอนุมัติจากผู้ใช้ของตนเอง

โดยค่าเริ่มต้น โหมดการอนุมัติของ Codex app-server จะไม่รวมฮุกเนทีฟนี้ ข้อกำหนดนี้ ใช้บังคับ เว้นแต่จะระบุ permission_request ไว้อย่างชัดเจนใน nativeHookRelay.events หรือมีรันไทม์เพื่อความเข้ากันได้ติดตั้งฮุกนี้

เมื่อผู้ดำเนินการเลือก allow-always สำหรับคำขอสิทธิ์แบบเนทีฟของ Codex OpenClaw จะจดจำลายนิ้วมือที่ตรงกันทุกประการของผู้ให้บริการ/เซสชัน/อินพุตเครื่องมือ/cwd ภายในช่วงเวลาเซสชันที่จำกัด การตัดสินใจที่จดจำไว้นั้นจงใจใช้เฉพาะเมื่อข้อมูลตรงกันทุกประการ: คำสั่ง อาร์กิวเมนต์ เพย์โหลดเครื่องมือ หรือ cwd ที่เปลี่ยนไปจะสร้างคำขออนุมัติใหม่

การขออนุมัติเครื่องมือ MCP ของ Codex จะถูกส่งผ่านโฟลว์การอนุมัติ Plugin ของ OpenClaw เมื่อ Codex ทำเครื่องหมาย _meta.codex_approval_kind เป็น "mcp_tool_call" พรอมต์ request_user_input ของ Codex จะถูกส่งกลับไปยังแชตต้นทาง และข้อความติดตามผลลำดับถัดไป ในคิวจะตอบคำขอของเซิร์ฟเวอร์เนทีฟนั้น แทนที่จะถูกชี้นำให้เป็นบริบทเพิ่มเติม คำขอข้อมูลจาก MCP อื่น ๆ จะปฏิเสธโดยค่าเริ่มต้น

สำหรับโฟลว์การอนุมัติ Plugin ทั่วไปที่ส่งต่อพรอมต์เหล่านี้ โปรดดู คำขอสิทธิ์ของ Plugin

การชี้นำคิว

การชี้นำคิวของการทำงานที่กำลังใช้งานจะจับคู่กับ turn/steer ของ Codex app-server เมื่อใช้ messages.queue.mode: "steer" ซึ่งเป็นค่าเริ่มต้น OpenClaw จะรวมข้อความแชตในโหมด steer เป็นชุดตามช่วงเวลาเงียบที่กำหนดค่าไว้ และส่งเป็นคำขอ turn/steer เดียว ตามลำดับที่มาถึง

การตรวจสอบของ Codex และรอบการทำ Compaction แบบกำหนดเองอาจปฏิเสธการชี้นำในรอบเดียวกัน ใน กรณีดังกล่าว OpenClaw จะรอให้การทำงานที่ใช้งานอยู่เสร็จสิ้นก่อนเริ่ม พรอมต์ ใช้ /queue followup หรือ /queue collect เมื่อควรจัดข้อความเข้าคิว โดยค่าเริ่มต้นแทนการชี้นำ ดู คิวการชี้นำ

การอัปโหลดข้อเสนอแนะของ Codex

เมื่อ /diagnostics [note] ได้รับการอนุมัติสำหรับเซสชันบนระบบรองรับ Codex แบบเนทีฟ OpenClaw จะเรียก feedback/upload ของ Codex app-server สำหรับเธรด Codex ที่เกี่ยวข้องด้วย ซึ่งรวมถึงบันทึกของแต่ละเธรดที่แสดงไว้และเธรดย่อย Codex ที่สร้างขึ้นเมื่อมีข้อมูล

การอัปโหลดจะผ่านช่องทางข้อเสนอแนะตามปกติของ Codex ไปยังเซิร์ฟเวอร์ OpenAI หาก ข้อเสนอแนะของ Codex ถูกปิดใช้งานใน app-server นั้น คำสั่งจะส่งคืนข้อผิดพลาดของ app-server การตอบกลับเมื่อการวินิจฉัยเสร็จสมบูรณ์จะแสดงรายการช่องทาง รหัสเซสชัน OpenClaw รหัสเธรด Codex และคำสั่ง codex resume <thread-id> ภายในเครื่องสำหรับเธรดที่ส่งไป

หากคุณปฏิเสธหรือเพิกเฉยต่อการอนุมัติ OpenClaw จะไม่แสดงรหัส Codex เหล่านั้น และจะไม่ส่งข้อเสนอแนะของ Codex การอัปโหลดนี้ไม่ได้แทนที่การส่งออกข้อมูล การวินิจฉัย Gateway ภายในเครื่อง ดู การส่งออกข้อมูลการวินิจฉัย สำหรับ การอนุมัติ ความเป็นส่วนตัว บันเดิลภายในเครื่อง และลักษณะการทำงานของแชทกลุ่ม

ใช้ /codex diagnostics [note] เฉพาะเมื่อต้องการอัปโหลดข้อเสนอแนะของ Codex สำหรับเธรดที่แนบอยู่ในปัจจุบัน โดยไม่รวมบันเดิลการวินิจฉัย Gateway ทั้งหมด

Compaction และมิเรอร์ทรานสคริปต์

เมื่อโมเดลที่เลือกใช้ระบบรองรับ Codex การทำ Compaction เธรดแบบเนทีฟ จะอยู่ภายใต้การจัดการของ Codex app-server OpenClaw จะไม่ทำ Compaction ล่วงหน้าสำหรับ รอบ Codex ไม่แทนที่การทำ Compaction ของ Codex ด้วยการทำ Compaction ของกลไกบริบท และไม่ เปลี่ยนไปใช้การสรุปโดย OpenClaw หรือ OpenAI สาธารณะเมื่อไม่สามารถเริ่ม การทำ Compaction แบบเนทีฟได้ OpenClaw จะเก็บมิเรอร์ทรานสคริปต์ไว้สำหรับประวัติช่องทาง การค้นหา /new, /reset และการสลับโมเดลหรือระบบรองรับในอนาคต

คำขอทำ Compaction โดยชัดแจ้ง เช่น /compact หรือการดำเนินการ Compact แบบกำหนดเอง ที่ Plugin ร้องขอ จะเริ่มการทำ Compaction แบบเนทีฟของ Codex ด้วย thread/compact/start OpenClaw จะเปิดคำขอและสิทธิ์เช่าไคลเอนต์ที่ใช้ร่วมกันไว้จนกว่า Codex จะส่ง รายการเสร็จสมบูรณ์ contextCompaction ที่ตรงกัน จากนั้นจึงรายงานว่ารอบการทำ Compaction เสร็จสมบูรณ์ หากรอบสุดท้ายนั้นเกินระยะหมดเวลาการทำ Compaction ที่กำหนดไว้ OpenClaw จะร้องขอให้ขัดจังหวะรอบแบบเนทีฟ สิทธิ์เช่าและ รั้วกั้นการทำ Compaction ประจำเธรดจะยังคงถูกยึดไว้จนกว่า Codex จะรายงานสถานะสิ้นสุดหรือยืนยัน RPC การขัดจังหวะ หาก Codex ไม่ยืนยันภายในช่วงผ่อนผันของการขัดจังหวะ OpenClaw จะปลดระวางการเชื่อมต่อก่อนปล่อยรั้วกั้น การเชื่อมต่อระยะไกล จะถอดการเชื่อมโยงเธรดที่ตรงกันด้วย เพื่อไม่ให้งานภายหลัง ทับซ้อนกับรอบระยะไกลที่ยังไม่ได้รับการยืนยัน รอบอื่นบนการเชื่อมต่อที่ปลดระวางแล้วจะล้มเหลว และสามารถลองใหม่บนไคลเอนต์ใหม่ได้ การปิดไคลเอนต์ การยกเลิกคำขอ หรือ รอบการทำ Compaction ที่ล้มเหลวจะส่งคืนการดำเนินการที่ล้มเหลว การทำ Compaction อัตโนมัติเมื่อบริบทมีแรงกดดัน เป็นหน้าที่ของ Codex ส่วน OpenClaw จะเริ่มการทำ Compaction แบบเนทีฟเฉพาะทริกเกอร์ที่ ร้องขอด้วยตนเองเท่านั้น

เมื่อกลไกบริบทร้องขอการฉายภาพสำหรับเริ่มต้นเธรด Codex OpenClaw จะฉายชื่อและรหัสการเรียกใช้เครื่องมือ รูปแบบอินพุต และเนื้อหาผลลัพธ์ของเครื่องมือ ที่ปกปิดข้อมูลลงในเธรด Codex ใหม่ โดยจะไม่คัดลอกค่าอาร์กิวเมนต์ดิบของการเรียกใช้เครื่องมือ ไปยังการฉายภาพนั้น

มิเรอร์ประกอบด้วยพรอมต์ของผู้ใช้ ข้อความสุดท้ายของผู้ช่วย และบันทึกการให้เหตุผลหรือแผน ของ Codex แบบย่อเมื่อ app-server ส่งข้อมูลเหล่านั้น OpenClaw จะบันทึกการเริ่มต้นและสถานะสิ้นสุดของการทำ Compaction แบบเนทีฟ แต่จะไม่ แสดงสรุปการทำ Compaction ที่มนุษย์อ่านได้ หรือรายการที่ตรวจสอบย้อนหลังได้ว่า Codex เก็บรายการใดไว้หลังการทำ Compaction

เนื่องจาก Codex เป็นเจ้าของเธรดเนทีฟหลัก tool_result_persist จึง ไม่เขียนระเบียนผลลัพธ์เครื่องมือแบบเนทีฟของ Codex ใหม่ แต่จะมีผลเฉพาะเมื่อ OpenClaw เขียนผลลัพธ์เครื่องมือในทรานสคริปต์เซสชันที่ OpenClaw เป็นเจ้าของ

สื่อและการส่งมอบ

OpenClaw ยังคงเป็นผู้จัดการการส่งมอบสื่อและการเลือกผู้ให้บริการสื่อ รูปภาพ วิดีโอ เพลง PDF, TTS และการทำความเข้าใจสื่อจะใช้การตั้งค่าผู้ให้บริการ/โมเดล ที่ตรงกัน เช่น agents.defaults.imageGenerationModel, videoGenerationModel, pdfModel และ messages.tts

ข้อความ รูปภาพ วิดีโอ เพลง TTS การอนุมัติ และผลลัพธ์จากเครื่องมือรับส่งข้อความยังคง ส่งผ่านช่องทางการส่งมอบตามปกติของ OpenClaw การสร้างสื่อไม่จำเป็นต้องใช้ รันไทม์รุ่นเก่า เมื่อ Codex ส่งรายการสร้างรูปภาพแบบเนทีฟที่มี savedPath OpenClaw จะส่งต่อไฟล์นั้นโดยตรงผ่านช่องทางสื่อตอบกลับ ตามปกติ แม้ว่ารอบ Codex จะไม่มีข้อความจากผู้ช่วยก็ตาม

เนื้อหาที่เกี่ยวข้อง

Was this useful?
On this page

On this page