---
read_when:
    - คุณต้องมีสัญญาการรองรับรันไทม์ของ Codex harness
    - คุณกำลังดีบักเครื่องมือ Codex แบบเนทีฟ, hooks, Compaction หรือการอัปโหลดข้อเสนอแนะ
    - คุณกำลังเปลี่ยนพฤติกรรมของ Plugin ครอบคลุมทั้งรอบของ OpenClaw และรอบของฮาร์เนส Codex
summary: ขอบเขตรันไทม์, hook, เครื่องมือ, สิทธิ์ และการวินิจฉัยสำหรับฮาร์เนส Codex
title: รันไทม์ของฮาร์เนส Codex
x-i18n:
    generated_at: "2026-06-27T17:53:17Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 84bca37f41003fd78a8e272cb8a54db05e780fab027af60d2ce058cc472ec001
    source_path: plugins/codex-harness-runtime.md
    workflow: 16
---

หน้านี้บันทึกสัญญารันไทม์สำหรับรอบการทำงานของฮาร์เนส Codex สำหรับการตั้งค่าและ
การกำหนดเส้นทาง ให้เริ่มที่ [ฮาร์เนส Codex](/th/plugins/codex-harness) สำหรับฟิลด์การกำหนดค่า
ดู [เอกสารอ้างอิงฮาร์เนส Codex](/th/plugins/codex-harness-reference)

## ภาพรวม

โหมด Codex ไม่ใช่ OpenClaw ที่เพียงเปลี่ยนการเรียกโมเดลด้านล่าง Codex เป็นเจ้าของส่วนต่าง ๆ
ของลูปโมเดลดั้งเดิมมากกว่า และ OpenClaw จะปรับพื้นผิว Plugin, เครื่องมือ, เซสชัน และ
การวินิจฉัยของตนรอบขอบเขตนั้น

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

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

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

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

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

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

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

รอบการทำงาน Heartbeat ของ Codex ยังได้รับ `heartbeat_respond` ในแค็ตตาล็อกเครื่องมือ
OpenClaw ที่ค้นหาได้โดยค่าเริ่มต้น เพื่อให้เอเจนต์สามารถบันทึกได้ว่าการปลุกควรเงียบต่อไปหรือ
แจ้งเตือน โดยไม่ต้องเข้ารหัสโฟลว์ควบคุมนั้นในข้อความขั้นสุดท้าย

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

## ขอบเขตฮุก

ฮาร์เนส Codex มีฮุกสามชั้น:

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

OpenClaw ไม่ใช้ไฟล์ `hooks.json` ของ Codex ระดับโปรเจกต์หรือส่วนกลางเพื่อกำหนดเส้นทาง
พฤติกรรม Plugin ของ OpenClaw สำหรับบริดจ์เครื่องมือดั้งเดิมและสิทธิ์ที่รองรับ 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
ขอการเรียก ดังนั้น OpenClaw จะยิงพฤติกรรม Plugin และมิดเดิลแวร์ที่ตนเป็นเจ้าของในอะแดปเตอร์ฮาร์เนส
สำหรับเครื่องมือดั้งเดิมของ Codex นั้น Codex เป็นเจ้าของเรกคอร์ดเครื่องมือที่เป็นแหล่งจริง
OpenClaw สามารถมิเรอร์เหตุการณ์ที่เลือกได้ แต่ไม่สามารถเขียนเธรด Codex ดั้งเดิมใหม่
เว้นแต่ Codex จะเปิดเผยการดำเนินการนั้นผ่านเซิร์ฟเวอร์แอปหรือคอลแบ็กฮุกดั้งเดิม

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

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

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

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

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

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

| พื้นผิว                                       | การรองรับ                                                                          | เหตุผล                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| --------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ลูปโมเดล OpenAI ผ่าน Codex               | รองรับ                                                                        | app-server ของ Codex เป็นเจ้าของเทิร์น OpenAI, การกลับมาทำงานต่อของเธรดเนทีฟ, และการทำต่อของเครื่องมือเนทีฟ                                                                                                                                                                                                                                                                                                                                                                                          |
| การกำหนดเส้นทางและการส่งมอบช่องทางของ OpenClaw         | รองรับ                                                                        | Telegram, Discord, Slack, WhatsApp, iMessage, และช่องทางอื่นๆ อยู่ภายนอก runtime ของโมเดล                                                                                                                                                                                                                                                                                                                                                                                    |
| เครื่องมือแบบไดนามิกของ OpenClaw                        | รองรับ                                                                        | Codex ขอให้ OpenClaw เรียกใช้เครื่องมือเหล่านี้ ดังนั้น OpenClaw จึงยังอยู่ในเส้นทางการดำเนินการ                                                                                                                                                                                                                                                                                                                                                                                                |
| Prompt และ context plugins                    | รองรับ                                                                        | OpenClaw ฉาย prompt/context เฉพาะของ OpenClaw เข้าไปในเทิร์น Codex ขณะที่ปล่อยให้ prompt พื้นฐาน โมเดล และ prompt เอกสารโปรเจกต์ที่กำหนดค่าไว้ซึ่ง Codex เป็นเจ้าของ อยู่ในเลน Codex เนทีฟ OpenClaw ปิดบุคลิกภาพในตัวของ Codex สำหรับเธรดเนทีฟ เพื่อให้ไฟล์บุคลิกภาพของพื้นที่ทำงานของ agent ยังคงเป็นแหล่งอ้างอิงหลัก คำสั่งสำหรับนักพัฒนา Codex เนทีฟยอมรับเฉพาะคำแนะนำคำสั่งที่กำหนดขอบเขตไว้อย่างชัดเจนถึง `codex_app_server`; คำใบ้คำสั่งแบบ global เดิมยังคงอยู่สำหรับพื้นผิว prompt ที่ไม่ใช่ Codex |
| วงจรชีวิตของ context engine                      | รองรับ                                                                        | การประกอบ การนำเข้า และการบำรุงรักษาหลังเทิร์นทำงานรอบๆ เทิร์น Codex context engine ไม่ได้แทนที่ Compaction เนทีฟของ Codex                                                                                                                                                                                                                                                                                                                                                        |
| hook เครื่องมือแบบไดนามิก                            | รองรับ                                                                        | `before_tool_call`, `after_tool_call`, และ middleware ผลลัพธ์เครื่องมือทำงานรอบๆ เครื่องมือแบบไดนามิกที่ OpenClaw เป็นเจ้าของ                                                                                                                                                                                                                                                                                                                                                                          |
| hook วงจรชีวิต                               | รองรับในฐานะการสังเกตการณ์ของ adapter                                                | `llm_input`, `llm_output`, `agent_end`, `before_compaction`, และ `after_compaction` ทำงานพร้อม payload โหมด Codex ที่ตรงไปตรงมา                                                                                                                                                                                                                                                                                                                                                           |
| gate การปรับแก้คำตอบสุดท้าย                    | รองรับผ่านรีเลย์ hook เนทีฟ                                              | Codex `Stop` ถูกรีเลย์ไปยัง `before_agent_finalize`; `revise` ขอให้ Codex ทำ model pass อีกหนึ่งครั้งก่อน finalization                                                                                                                                                                                                                                                                                                                                                                |
| shell, patch, และ MCP เนทีฟแบบบล็อกหรือสังเกตการณ์ | รองรับผ่านรีเลย์ hook เนทีฟ                                              | Codex `PreToolUse` และ `PostToolUse` ถูกรีเลย์สำหรับพื้นผิวเครื่องมือเนทีฟที่ commit แล้ว รวมถึง payload MCP บน app-server ของ Codex `0.125.0` หรือใหม่กว่า รองรับการบล็อก แต่ไม่รองรับการเขียน argument ใหม่                                                                                                                                                                                                                                                                               |
| นโยบาย permission เนทีฟ                      | รองรับผ่านการอนุมัติของ app-server Codex และรีเลย์ hook เนทีฟสำหรับความเข้ากันได้ | คำขออนุมัติของ app-server Codex ถูกส่งผ่าน OpenClaw หลังการ review ของ Codex รีเลย์ hook เนทีฟ `PermissionRequest` เป็นแบบ opt-in สำหรับโหมดการอนุมัติเนทีฟ เพราะ Codex ส่ง hook นี้ก่อน guardian review                                                                                                                                                                                                                                                                          |
| การบันทึก trajectory ของ app-server                 | รองรับ                                                                        | OpenClaw บันทึก request ที่ส่งไปยัง app-server และ notification ของ app-server ที่ได้รับ                                                                                                                                                                                                                                                                                                                                                                                    |

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

| พื้นผิว                                             | ขอบเขต V1                                                                                                                                     | เส้นทางในอนาคต                                                                               |
| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| การเปลี่ยนแปลง argument ของเครื่องมือเนทีฟ                       | hook ก่อนใช้เครื่องมือเนทีฟของ Codex สามารถบล็อกได้ แต่ OpenClaw ไม่ได้เขียน argument ของเครื่องมือเนทีฟของ Codex ใหม่                                               | ต้องใช้การรองรับ hook/schema ของ Codex สำหรับ input เครื่องมือทดแทน                            |
| ประวัติ transcript เนทีฟของ Codex ที่แก้ไขได้            | Codex เป็นเจ้าของประวัติเธรดเนทีฟตาม canonical OpenClaw เป็นเจ้าของ mirror และสามารถฉาย context ในอนาคตได้ แต่ไม่ควรเปลี่ยนแปลง internals ที่ไม่รองรับ | เพิ่ม API app-server ของ Codex ที่ชัดเจนหากจำเป็นต้องผ่าตัดเธรดเนทีฟ                    |
| `tool_result_persist` สำหรับระเบียนเครื่องมือเนทีฟของ Codex | hook นั้นแปลงการเขียน transcript ที่ OpenClaw เป็นเจ้าของ ไม่ใช่ระเบียนเครื่องมือเนทีฟของ Codex                                                           | อาจ mirror ระเบียนที่แปลงแล้วได้ แต่การเขียน canonical ใหม่ต้องใช้การรองรับจาก Codex              |
| metadata Compaction เนทีฟแบบละเอียด                     | OpenClaw สามารถขอ Compaction เนทีฟได้ แต่ไม่ได้รับรายการ kept/dropped ที่เสถียร, token delta, สรุป completion, หรือ payload สรุป   | ต้องการ event Compaction ของ Codex ที่ละเอียดกว่า                                                     |
| การแทรกแซง Compaction                             | OpenClaw ไม่ให้ plugin หรือ context engine veto, เขียนใหม่, หรือแทนที่ Compaction เนทีฟของ Codex                                             | เพิ่ม hook ก่อน/หลัง Compaction ของ Codex หาก plugin ต้อง veto หรือเขียน Compaction เนทีฟใหม่ |
| การบันทึก request ของ model API แบบตรงทุก byte             | OpenClaw สามารถบันทึก request และ notification ของ app-server ได้ แต่ core ของ Codex สร้าง request OpenAI API สุดท้ายภายใน                      | ต้องมี event การ tracing request ของโมเดลใน Codex หรือ debug API                                   |

## permission เนทีฟและ MCP elicitation

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

โหมดการอนุมัติของ app-server Codex จะละเว้น hook เนทีฟนี้โดยค่าเริ่มต้น พฤติกรรมนี้
มีผลเมื่อ `permission_request` ถูกระบุไว้อย่างชัดเจนใน
`nativeHookRelay.events` หรือ runtime สำหรับความเข้ากันได้ติดตั้งไว้

เมื่อ operator เลือก `allow-always` สำหรับคำขอ permission เนทีฟของ Codex
OpenClaw จะจดจำ fingerprint ของ provider/session/tool input/cwd ที่ตรงกันนั้นสำหรับ
หน้าต่าง session ที่มีขอบเขต การตัดสินใจที่จดจำไว้นั้นตั้งใจให้เป็นแบบ exact-match
เท่านั้น: command, argument, payload เครื่องมือ, หรือ cwd ที่เปลี่ยนไปจะสร้าง
การอนุมัติใหม่

elicitation การอนุมัติเครื่องมือ MCP ของ Codex จะถูกกำหนดเส้นทางผ่าน flow การอนุมัติ
plugin ของ OpenClaw เมื่อ Codex ทำเครื่องหมาย `_meta.codex_approval_kind` เป็น
`"mcp_tool_call"` prompt `request_user_input` ของ Codex จะถูกส่งกลับไปยัง chat
ต้นทาง และ follow-up message ถัดไปในคิวจะตอบคำขอ server เนทีฟนั้นแทนที่จะถูกนำทาง
เป็น context เพิ่มเติม คำขอ elicitation MCP อื่นๆ จะ fail closed

สำหรับ flow การอนุมัติ plugin ทั่วไปที่ส่ง prompt เหล่านี้ โปรดดู
[คำขอ permission ของ Plugin](/th/plugins/plugin-permission-requests)

## การนำทางคิว

การนำทางคิวของ active-run map เข้ากับ `turn/steer` ของ app-server Codex ด้วย
ค่าเริ่มต้น `messages.queue.mode: "steer"` OpenClaw จะ batch ข้อความ chat
โหมด steer สำหรับ quiet window ที่กำหนดค่าไว้ และส่งเป็น request `turn/steer`
หนึ่งรายการตามลำดับที่มาถึง

รอบการตรวจทาน Codex และ Compaction แบบแมนนวลสามารถปฏิเสธการบังคับทิศทางในรอบเดียวกันได้ ในกรณีนั้น
OpenClaw จะรอให้การรันที่ใช้งานอยู่เสร็จสิ้นก่อนเริ่ม prompt
ใช้ `/queue followup` หรือ `/queue collect` เมื่อข้อความควรเข้าคิวโดยค่าเริ่มต้น
แทนการบังคับทิศทาง ดู [คิวการบังคับทิศทาง](/th/concepts/queue-steering)

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

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

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

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

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

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

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

คำขอ Compaction แบบชัดเจน เช่น `/compact` หรือการดำเนินการ compact แบบแมนนวล
ที่ Plugin ร้องขอ จะเริ่ม Compaction ของ Codex แบบเนทีฟด้วย `thread/compact/start`
OpenClaw จะส่งคืนหลังจากเริ่มการดำเนินการแบบเนทีฟนั้นแล้ว โดยจะไม่รอให้เสร็จสิ้น,
ไม่กำหนด timeout ของ OpenClaw แยกต่างหาก, ไม่รีสตาร์ต Codex app-server
ที่ใช้ร่วมกัน หรือบันทึกการดำเนินการนั้นเป็น Compaction ที่ OpenClaw ทำเสร็จแล้ว

เมื่อ context engine ขอการฉายภาพ thread-bootstrap ของ Codex OpenClaw จะฉาย
ชื่อและ id ของ tool-call, รูปแบบอินพุต และเนื้อหา tool-result ที่ถูกปกปิด
ไปยังเธรด Codex ใหม่ โดยจะไม่คัดลอกค่าดิบของอาร์กิวเมนต์ tool-call เข้าไป
ในการฉายภาพนั้น

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

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

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

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

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

## ที่เกี่ยวข้อง

- [harness ของ Codex](/th/plugins/codex-harness)
- [เอกสารอ้างอิง harness ของ Codex](/th/plugins/codex-harness-reference)
- [Plugin Codex แบบเนทีฟ](/th/plugins/codex-native-plugins)
- [hook ของ Plugin](/th/plugins/hooks)
- [Plugin harness ของ Agent](/th/plugins/sdk-agent-harness)
- [การส่งออก diagnostics](/th/gateway/diagnostics)
- [การส่งออก trajectory](/th/tools/trajectory)
