Plugin guides
ชุดควบคุม Codex
Plugin codex อย่างเป็นทางการเรียกใช้รอบการทำงานของเอเจนต์ OpenAI แบบฝังตัวผ่าน Codex
app-server แทนชุดควบคุม OpenClaw ที่มีมาให้ Codex เป็นผู้ควบคุม
เซสชันเอเจนต์ระดับล่าง ได้แก่ การดำเนินเธรดต่อแบบเนทีฟ การดำเนินเครื่องมือต่อแบบเนทีฟ
Compaction แบบเนทีฟ และการดำเนินการของ app-server ส่วน OpenClaw ยังคงควบคุมช่องทาง
แชต ไฟล์เซสชัน การเลือกโมเดล เครื่องมือแบบไดนามิกของ OpenClaw การอนุมัติ
การส่งสื่อ และสำเนาทรานสคริปต์ที่มองเห็นได้
ใช้การอ้างอิงโมเดล OpenAI มาตรฐาน เช่น openai/gpt-5.6-sol อย่ากำหนดค่า
การอ้างอิง Codex GPT แบบเก่า ให้วางลำดับการยืนยันตัวตนของเอเจนต์ OpenAI ไว้ภายใต้ auth.order.openai
รหัสโปรไฟล์การยืนยันตัวตน Codex แบบเก่าและรายการลำดับการยืนยันตัวตน Codex แบบเก่า
จะได้รับการซ่อมแซมโดย openclaw doctor --fix
เมื่อไม่ได้ตั้งค่านโยบายรันไทม์ของผู้ให้บริการ/โมเดลหรือเป็น auto คำนำหน้า openai/* เพียงอย่างเดียว
จะไม่เลือกรันไทม์นี้ OpenAI อาจเลือก Codex โดยนัยได้เฉพาะสำหรับ
เส้นทาง HTTPS Platform Responses หรือ ChatGPT Responses อย่างเป็นทางการที่ตรงกันทุกประการและไม่มี
การเขียนค่าทับคำขอ โปรดดู
รันไทม์เอเจนต์โดยนัยของ OpenAI
หาก Codex เป็นผู้ควบคุมการยืนยันตัวตนก่อนที่จะทราบการกำหนดเส้นทางระหว่าง Platform กับ ChatGPT แล้ว OpenClaw
ยังคงกำหนดให้ทุกเส้นทางที่เป็นไปได้ต้องประกาศความเข้ากันได้กับ Codex การเป็นเจ้าของ
การยืนยันตัวตนแบบเนทีฟเพียงอย่างเดียวจะไม่ข้ามการตรวจสอบเส้นทางดังกล่าว
เมื่อไม่มีแซนด์บ็อกซ์ OpenClaw ทำงานอยู่ OpenClaw จะเริ่มเธรด Codex app-server
โดยเปิดใช้โหมดโค้ดแบบเนทีฟของ Codex (โหมด code-mode-only ยังคงปิดเป็นค่าเริ่มต้น) เพื่อให้
ความสามารถด้านเวิร์กสเปซ/โค้ดแบบเนทีฟยังคงใช้งานได้ควบคู่กับเครื่องมือแบบไดนามิกของ OpenClaw
ที่กำหนดเส้นทางผ่านบริดจ์ item/tool/call ของ app-server แซนด์บ็อกซ์ OpenClaw
ที่ทำงานอยู่หรือนโยบายเครื่องมือแบบจำกัดจะปิดโหมดโค้ดแบบเนทีฟทั้งหมด
เว้นแต่จะเลือกใช้เส้นทาง exec-server ของแซนด์บ็อกซ์รุ่นทดลอง
เมื่อใช้ค่าเริ่มต้น tools.exec.host: "auto" และไม่มีแซนด์บ็อกซ์ OpenClaw ทำงานอยู่
Codex จะได้รับเครื่องมือ node_exec และ node_process สำหรับคำสั่งบน Node
ที่จับคู่ไว้ด้วย เชลล์แบบเนทีฟยังคงอยู่บนโฮสต์และเวิร์กสเปซของ Codex app-server
(อยู่ภายใน Gateway สำหรับการปรับใช้ stdio เริ่มต้น) ส่วน node_exec จะเลือก Node ตาม
ชื่อหรือรหัส และยังคงบังคับใช้นโยบายการอนุมัติ Node ของ OpenClaw หากรายการอนุญาต
รันไทม์แบบจำกัดปิดใช้โหมดโค้ดแบบเนทีฟและทำให้รอบการทำงานไม่มี
สภาพแวดล้อมการดำเนินการ OpenClaw จะยังคงมีเครื่องมือ exec และ process
ที่กรองตามนโยบายให้ใช้งานแทนสำหรับการดำเนินการโดยตรงแบบไม่มีแซนด์บ็อกซ์
ฟีเจอร์แบบเนทีฟของ Codex นี้แยกจาก
โหมดโค้ดของ OpenClaw ซึ่งเป็นรันไทม์ QuickJS-WASI แบบเลือกใช้
สำหรับการทำงานทั่วไปของ OpenClaw ที่มีรูปแบบอินพุต exec แตกต่างกัน สำหรับ
การแบ่งโมเดล/ผู้ให้บริการ/รันไทม์ในภาพรวม ให้เริ่มจาก
รันไทม์เอเจนต์: openai/gpt-5.6-sol คือการอ้างอิงโมเดล
codex คือรันไทม์ และ Telegram, Discord, Slack หรือช่องทางอื่น
คือพื้นผิวการสื่อสาร
ข้อกำหนด
- ติดตั้ง Plugin
@openclaw/codexอย่างเป็นทางการแล้ว ให้รวมcodexไว้ในplugins.allowหากการกำหนดค่าของคุณใช้รายการอนุญาต - Codex app-server เวอร์ชันเสถียรตั้งแต่
0.143.0ถึง0.144.6โดยค่าเริ่มต้น Plugin จะจัดการ ไบนารีที่เข้ากันได้ ดังนั้นคำสั่งcodexบนPATHจึงไม่ส่งผลต่อการเริ่มต้น ตามปกติ - การยืนยันตัวตน Codex ผ่าน
openclaw models auth login --provider openaiบัญชี app-server ที่มีอยู่แล้วใน Codex home ของเอเจนต์ หรือ โปรไฟล์การยืนยันตัวตนด้วยคีย์ API ของ Codex ที่ระบุอย่างชัดเจน
สำหรับลำดับความสำคัญของการยืนยันตัวตน การแยกสภาพแวดล้อม คำสั่ง app-server แบบกำหนดเอง การค้นหาโมเดล และรายการฟิลด์การกำหนดค่าทั้งหมด โปรดดู ข้อมูลอ้างอิงชุดควบคุม Codex
เริ่มต้นอย่างรวดเร็ว
ติดตั้ง Plugin อย่างเป็นทางการ แล้วลงชื่อเข้าใช้ด้วย Codex OAuth:
openclaw plugins install @openclaw/codexopenclaw models auth login --provider openaiเปิดใช้ Plugin codex และเลือกโมเดลเอเจนต์ OpenAI:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}หากการกำหนดค่าของคุณใช้ plugins.allow ให้เพิ่ม codex ไว้ในนั้นด้วย:
{ plugins: { allow: ["codex"], entries: { codex: { enabled: true, }, }, },}รีสตาร์ต Gateway หลังจากเปลี่ยนการกำหนดค่า Plugin หากแชตมี
เซสชันอยู่แล้ว ให้เรียกใช้ /new หรือ /reset ก่อน เพื่อให้รอบการทำงานถัดไปเลือกชุดควบคุม
จากการกำหนดค่าปัจจุบัน
แชร์เธรดกับ Codex Desktop และ CLI
ค่าเริ่มต้น appServer.homeScope: "agent" จะแยกเอเจนต์ OpenClaw แต่ละตัวออกจาก
สถานะ Codex แบบเนทีฟของผู้ดำเนินการ หากต้องการให้เจ้าของตรวจสอบและจัดการ
เธรดเนทีฟเดียวกันกับที่แสดงใน Codex Desktop และ Codex CLI ให้เลือกใช้
Codex home ของผู้ใช้:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { homeScope: "user", }, }, }, }, },}โหมด user-home รองรับกระบวนการ stdio ที่จัดการภายในเครื่องหรือการรับส่งข้อมูล
ผ่านซ็อกเก็ต Unix ที่ใช้ร่วมกัน โดยใช้ $CODEX_HOME เมื่อตั้งค่าไว้ และใช้ ~/.codex ในกรณีอื่น รวมถึง
การยืนยันตัวตน Codex แบบเนทีฟ การกำหนดค่า Plugin และที่เก็บเธรดของ home นั้น OpenClaw
จะไม่แทรกโปรไฟล์การยืนยันตัวตน OpenClaw เข้าไปใน app-server นี้
รอบการทำงานของเจ้าของจะได้รับเครื่องมือ codex_threads ซึ่งสามารถแสดงรายการ ค้นหา อ่าน แตกแขนง เปลี่ยนชื่อ
เก็บถาวร และกู้คืนเธรดเนทีฟได้ แตกแขนงเธรดเพื่อดำเนินการต่อใน
OpenClaw โดยแขนงจะเชื่อมกับเซสชัน OpenClaw ปัจจุบันและยังคง
มองเห็นได้ในไคลเอนต์ Codex แบบเนทีฟอื่น การเก็บถาวรต้องมีการ
ยืนยันอย่างชัดเจนว่าเธรดถูกปิดที่อื่นแล้ว เมื่อเปิดใช้การกำกับดูแลด้วย
ฟิลด์ทรานสคริปต์และการแก้ไขจะต้องเลือกใช้ supervision.allowRawTranscripts หรือ supervision.allowWriteControls
ที่ตรงกัน
อย่าดำเนินต่อหรือเขียนเธรดเดียวกันพร้อมกันผ่าน App Server แบบ stdio ที่จัดการ แยกกัน Codex ประสานงานผู้เขียนที่ทำงานอยู่ภายใน App Server เดียว ไม่ใช่ ข้ามกระบวนการแยกกัน การแตกแขนงเป็นเส้นทางการอยู่ร่วมกันที่ปลอดภัยสำหรับเซสชัน stdio แบบ user-home ทั่วไป
appServer.homeScope: "user" เพียงอย่างเดียวไม่ได้ควบคุมแค็ตตาล็อกของกลุ่มระบบ การค้นหา
เซสชันแบบเนทีฟจะเปิดใช้อยู่ขณะที่ Plugin ทำงาน ให้ตั้งค่า
sessionCatalog.enabled: false เพื่อนำรายการนี้ออกจากแถบด้านข้างของ OpenClaw โดยไม่
ปิดใช้ Codex แค็ตตาล็อกใช้การเชื่อมต่อการกำกับดูแลแยกต่างหาก หากไม่มี
การตั้งค่าการเชื่อมต่อ appServer อย่างชัดเจน การเชื่อมต่อนั้นจะใช้ stdio แบบ user-home
ที่จัดการเป็นค่าเริ่มต้น ขณะที่ชุดควบคุมปกติยังคงมีขอบเขตระดับเอเจนต์ การตั้งค่า
appServer อย่างชัดเจนจะมีผลกับทั้งสองเส้นทาง ให้ตั้งค่า homeScope: "user"
อย่างชัดเจนตามตัวอย่างด้านบน เมื่อชุดควบคุมปกติควรใช้สถานะแบบเนทีฟร่วมกันด้วย
กำกับดูแลเซสชัน Codex
Plugin codex เดียวกันสามารถแสดงรายการเซสชัน Codex ที่ไม่ได้เก็บถาวรจากคอมพิวเตอร์
Gateway และ Node ที่จับคู่ซึ่งเลือกเข้าร่วม เซสชันที่จัดเก็บไว้หรือไม่มีการใช้งานซึ่งอยู่ภายใน Gateway สามารถ
สร้างแชตที่ล็อกโมเดล ซึ่งสะท้อนประวัติผู้ใช้และผู้ช่วยที่จัดเก็บถาวรภายในขอบเขต
การเชื่อมโยงแบบส่วนตัวใช้การเชื่อมต่อการกำกับดูแลสำหรับสแนปช็อตแบบเนทีฟ
แขนงมาตรฐาน และรอบการทำงานในภายหลัง ขณะที่เซสชัน Codex ทั่วไปยังคง
มีขอบเขตระดับเอเจนต์ การเริ่มต้นมาตรฐานครั้งแรกใช้โมเดลและผู้ให้บริการที่
Codex ส่งคืนสำหรับแขนงสแนปช็อตอย่างตรงกันทุกประการ การดำเนินการต่อในภายหลังปล่อยให้ Codex
เลือกตามการกำหนดค่าแบบเนทีฟ โมเดล OpenClaw ชั้นนอกและลำดับสำรองจะไม่
แทนที่การเลือกนั้น แถวที่จัดเก็บไว้และไม่มีการใช้งานสามารถเก็บถาวรได้หลังจากยืนยันอย่างชัดเจน
ว่าไม่มีตัวดำเนินการอื่น แหล่งที่ทำงานอยู่ไม่สามารถสร้างแขนงหรือเก็บถาวรได้ แต่ยังคง
เปิดแชตที่กำกับดูแลซึ่งมีอยู่แล้วได้ เซสชันบน Node ที่จับคู่ยังคงเป็นข้อมูลเมตาเท่านั้น
โปรดดู กำกับดูแลเซสชัน Codex สำหรับการตั้งค่า กฎการแตกแขนง ข้อจำกัดของ Node ที่จับคู่ การเปิดเผยข้อมูลเมตา และการแก้ไขปัญหา
การกำหนดค่า
| ความต้องการ | ตั้งค่า | ตำแหน่ง |
|---|---|---|
| เปิดใช้ชุดควบคุม | plugins.entries.codex.enabled: true |
การกำหนดค่า OpenClaw |
| ซ่อนการค้นหาเซสชัน Codex แบบเนทีฟ | plugins.entries.codex.config.sessionCatalog.enabled: false |
การกำหนดค่า Plugin Codex |
| คงการติดตั้ง Plugin ที่ใช้รายการอนุญาต | รวม codex ไว้ใน plugins.allow |
การกำหนดค่า OpenClaw |
| อนุญาตให้รอบการทำงาน OpenAI ที่เข้าเกณฑ์ใช้ Codex โดยนัย | เส้นทาง HTTPS Responses/ChatGPT อย่างเป็นทางการที่ตรงกันทุกประการ ไม่มีการเขียนค่าทับคำขอ รันไทม์ไม่ได้ตั้งค่า/เป็น auto |
การกำหนดค่าผู้ให้บริการ/โมเดล OpenAI |
| ลงชื่อเข้าใช้ด้วย ChatGPT/Codex OAuth | openclaw models auth login --provider openai |
โปรไฟล์การยืนยันตัวตน CLI |
| เพิ่มคีย์ API สำรองสำหรับการทำงานของ Codex | โปรไฟล์คีย์ API openai:* ที่แสดงหลังการยืนยันตัวตนด้วยการสมัครสมาชิกใน auth.order.openai |
โปรไฟล์การยืนยันตัวตน CLI + การกำหนดค่า OpenClaw |
| ล้มเหลวแบบปิดเมื่อ Codex ใช้งานไม่ได้ | ผู้ให้บริการหรือโมเดล agentRuntime.id: "codex" |
การกำหนดค่าโมเดล/ผู้ให้บริการ OpenClaw |
| ใช้ทราฟฟิก OpenAI API โดยตรง | ผู้ให้บริการหรือโมเดล agentRuntime.id: "openclaw" พร้อมการยืนยันตัวตน OpenAI ตามปกติ |
การกำหนดค่าโมเดล/ผู้ให้บริการ OpenClaw |
| ปรับแต่งพฤติกรรม app-server | plugins.entries.codex.config.appServer.* |
การกำหนดค่า Plugin Codex |
| เปิดใช้แอป Plugin แบบเนทีฟของ Codex | plugins.entries.codex.config.codexPlugins.* |
การกำหนดค่า Plugin Codex |
| เปิดใช้ Codex Computer Use | plugins.entries.codex.config.computerUse.* |
การกำหนดค่า Plugin Codex |
แนะนำให้ใช้ auth.order.openai สำหรับลำดับแบบการสมัครสมาชิกก่อน/คีย์ API สำรอง
รหัสโปรไฟล์การยืนยันตัวตน Codex แบบเก่าที่มีอยู่และลำดับการยืนยันตัวตน Codex แบบเก่าเป็น
สถานะแบบเก่าสำหรับ doctor เท่านั้น อย่าเขียนการอ้างอิง Codex GPT แบบเก่าใหม่
{ auth: { order: { openai: ["openai:[email protected]", "openai:api-key-backup"], }, },}สำหรับเส้นทางที่มีผลและเข้ากันได้กับ Codex โปรไฟล์ทั้งสองด้านบนยังคงเป็นตัวเลือก สำหรับการทำงาน Codex เดียวกัน ลำดับโปรไฟล์ใช้เลือกข้อมูลประจำตัว ไม่ใช่รันไทม์ การเปลี่ยนลำดับการยืนยันตัวตนไม่ได้ทำให้เส้นทางแบบกำหนดเอง, Completions, HTTP หรือ เส้นทางที่มีการเขียนค่าทับคำขอเข้ากันได้กับ Codex
Compaction
อย่าตั้งค่า compaction.model หรือ compaction.provider บนเอเจนต์
ที่ใช้ Codex เนื่องจาก Codex ทำ Compaction ผ่านสถานะเธรด app-server แบบเนทีฟ
OpenClaw จึงละเว้นค่าทับตัวสรุปภายในเหล่านั้นขณะรัน และ
openclaw doctor --fix จะนำค่าเหล่านั้นออกเมื่อเอเจนต์ใช้ Codex
Lossless ยังคงรองรับในฐานะเอนจินบริบทสำหรับการประกอบ การนำเข้า และ
การบำรุงรักษารอบการทำงาน Codex โดยกำหนดค่าผ่าน
plugins.slots.contextEngine: "lossless-claw" และ
plugins.entries.lossless-claw.config.summaryModel ไม่ใช่ผ่าน
agents.defaults.compaction.provider โดย openclaw doctor --fix จะย้าย
รูปแบบเก่า compaction.provider: "lossless-claw" ไปยังช่องเอนจินบริบท Lossless
เมื่อ Codex เป็นรันไทม์ที่ทำงานอยู่ แต่ Codex แบบเนทีฟยังคงเป็นผู้ควบคุม
Compaction ชุดควบคุม app-server แบบเนทีฟรองรับเอนจินบริบท
ที่ต้องมีการประกอบก่อนพรอมต์ ส่วนแบ็กเอนด์ CLI ทั่วไป รวมถึง codex-cli
ไม่มีความสามารถของโฮสต์ดังกล่าว
สำหรับเอเจนต์ที่ใช้ Codex /compact จะเริ่ม Compaction ของ Codex app-server
แบบเนทีฟบนเธรดที่เชื่อมโยง OpenClaw จะไม่รอให้ดำเนินการเสร็จ
ไม่กำหนดเวลาหมดอายุของ OpenClaw ไม่รีสตาร์ต app-server ที่ใช้ร่วมกัน และไม่สำรองไปใช้
เอนจินบริบทหรือตัวสรุป OpenAI สาธารณะ หากการเชื่อมโยงเธรด Codex แบบเนทีฟ
หายไปหรือล้าสมัย คำสั่งจะล้มเหลวแบบปิด แทนที่จะสลับ
แบ็กเอนด์ Compaction โดยไม่แจ้ง
ส่วนที่เหลือของหน้านี้ครอบคลุมรูปแบบการปรับใช้ การกำหนดเส้นทางแบบล้มเหลวอย่างปลอดภัย นโยบายการอนุมัติของ Guardian, Plugin Codex แบบเนทีฟ และ Computer Use สำหรับรายการ ตัวเลือกทั้งหมด ค่าเริ่มต้น enum การค้นหา การแยกสภาพแวดล้อม การหมดเวลา และ ฟิลด์การรับส่งข้อมูลของ app-server โปรดดู ข้อมูลอ้างอิง Codex harness
ตรวจสอบรันไทม์ Codex
ใช้ /status ในแชตที่คาดว่าจะใช้ Codex เทิร์นของเอเจนต์ OpenAI
ที่รองรับโดย Codex จะแสดง:
รันไทม์: OpenAI Codexจากนั้นตรวจสอบสถานะ Codex app-server:
/codex status/codex models/codex status รายงานการเชื่อมต่อ app-server บัญชี ขีดจำกัดอัตรา เซิร์ฟเวอร์ MCP
และ Skills ส่วน /codex models แสดงแค็ตตาล็อก Codex app-server ที่ใช้งานอยู่
สำหรับ harness และบัญชี หาก /status ให้ผลลัพธ์ที่ไม่คาดคิด โปรดดู
การแก้ไขปัญหา
การกำหนดเส้นทางและการเลือกโมเดล
แยกการอ้างอิงผู้ให้บริการออกจากนโยบายรันไทม์:
- ใช้
openai/gpt-*สำหรับการเลือกโมเดล OpenAI แบบมาตรฐาน เฉพาะคำนำหน้า เพียงอย่างเดียวจะไม่เลือก Codex - เมื่อไม่ได้ตั้งค่ารันไทม์หรือเป็น
autoเฉพาะเส้นทาง Platform Responses หรือ ChatGPT Responses ผ่าน HTTPS อย่างเป็นทางการที่ตรงกันทุกประการและไม่มีการเขียนทับคำขอ เท่านั้นที่อาจเลือก Codex โดยปริยาย - อย่าใช้การอ้างอิง Codex GPT แบบเดิมในการกำหนดค่า ให้เรียกใช้
openclaw doctor --fixเพื่อซ่อมแซมการอ้างอิงแบบเดิมและหมุดเส้นทางเซสชันที่ล้าสมัย agentRuntime.id: "codex"กำหนดให้ Codex เป็นข้อกำหนดแบบล้มเหลวอย่างปลอดภัย สำหรับเส้นทางที่เข้ากันได้ แต่ไม่ได้ทำให้เส้นทางที่มีผลและไม่เข้ากันกลายเป็นเข้ากันได้agentRuntime.id: "openclaw"เลือกให้ผู้ให้บริการหรือโมเดลใช้รันไทม์ OpenClaw แบบฝังตัวเมื่อเป็นความตั้งใจ/codex ...ควบคุมการสนทนาของ Codex app-server แบบเนทีฟจากแชต- ACP/acpx เป็นเส้นทาง harness ภายนอกที่แยกต่างหาก ใช้เฉพาะเมื่อผู้ใช้ ขอ ACP/acpx หรืออะแดปเตอร์ harness ภายนอก
| เจตนาของผู้ใช้ | ใช้ |
|---|---|
| ผูกแชตปัจจุบัน | /codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>] |
| ดำเนินเธรด Codex ที่มีอยู่ต่อ | /codex resume <thread-id> |
| แสดงรายการหรือกรองเธรด Codex | /codex threads [filter] |
| อ่านหรืออัปเดตเป้าหมายแบบเนทีฟของเธรดที่ผูกไว้ | /codex goal [status|set <objective>|pause|resume|block|complete|clear] |
| แสดงรายการ Plugin Codex แบบเนทีฟ | /codex plugins list |
| เปิดหรือปิด Plugin Codex แบบเนทีฟที่กำหนดค่าไว้ | /codex plugins enable <name>, /codex plugins disable <name> |
| ดำเนินเซสชัน Codex CLI ที่จัดเก็บไว้ต่อเป็นเทิร์นของโหนดที่จับคู่ | /codex sessions --host <node> [filter] จากนั้น /codex resume <session-id> --host <node> --bind here |
| ดูเซสชัน Codex ที่ไม่ได้เก็บถาวรจากคอมพิวเตอร์หลายเครื่อง | เปิดใช้งานการกำกับดูแล Codex และเปิด Codex Sessions |
| เปลี่ยนโมเดล โหมดเร็ว หรือสิทธิ์ของเธรดที่ผูกไว้ | /codex model <model>, /codex fast [on|off|status], /codex permissions [default|yolo|status] |
| หยุดหรือกำกับเทิร์นที่ทำงานอยู่ | /codex stop, /codex steer <text> |
| ยกเลิกการผูกปัจจุบัน | /codex detach (นามแฝง /codex unbind) |
| ส่งเฉพาะข้อเสนอแนะเกี่ยวกับ Codex | /codex diagnostics [note] |
| เริ่มงาน ACP/acpx | คำสั่งเซสชัน ACP/acpx ไม่ใช่ /codex |
| กรณีการใช้งาน | กำหนดค่า | ตรวจสอบ | หมายเหตุ |
|---|---|---|---|
| เส้นทาง OpenAI ที่มีสิทธิ์พร้อมรันไทม์ Codex แบบเนทีฟ | เส้นทาง Responses/ChatGPT ผ่าน HTTPS อย่างเป็นทางการที่ตรงกันทุกประการ โดยไม่มีการเขียนทับคำขอ พร้อมเปิดใช้งาน Plugin codex |
/status แสดง Runtime: OpenAI Codex |
เส้นทางโดยปริยายเมื่อไม่ได้ตั้งค่ารันไทม์/เป็น auto |
| ล้มเหลวอย่างปลอดภัยหาก Codex ไม่พร้อมใช้งาน | ผู้ให้บริการหรือโมเดล agentRuntime.id: "codex" |
เทิร์นล้มเหลวแทนการย้อนกลับไปใช้รันไทม์แบบฝังตัว | ใช้สำหรับการปรับใช้ที่ใช้ Codex เท่านั้น |
| การรับส่งข้อมูลด้วยคีย์ API ของ OpenAI โดยตรงผ่าน OpenClaw | ผู้ให้บริการหรือโมเดล agentRuntime.id: "openclaw" และการตรวจสอบสิทธิ์ OpenAI ตามปกติ |
/status แสดงรันไทม์ OpenClaw |
ใช้เฉพาะเมื่อตั้งใจใช้ OpenClaw |
| การกำหนดค่าแบบเดิม | การอ้างอิง Codex GPT แบบเดิม | openclaw doctor --fix เขียนใหม่ |
อย่าเขียนการกำหนดค่าใหม่ด้วยวิธีนี้ |
| อะแดปเตอร์ Codex สำหรับ ACP/acpx | ACP sessions_spawn({ runtime: "acp" }) |
สถานะงาน/เซสชัน ACP | แยกจาก Codex harness แบบเนทีฟ |
agents.defaults.imageModel ใช้การแบ่งคำนำหน้าแบบเดียวกัน ใช้ openai/gpt-*
สำหรับเส้นทาง OpenAI ปกติ และใช้ codex/gpt-* เฉพาะเมื่อควรเรียกใช้
การทำความเข้าใจรูปภาพผ่านเทิร์น Codex app-server ที่มีขอบเขตจำกัด Doctor จะเขียน
การอ้างอิง Codex GPT แบบเดิมใหม่เป็น openai/gpt-*
รูปแบบการปรับใช้
การปรับใช้ Codex ขั้นพื้นฐาน
ใช้การกำหนดค่าเริ่มต้นอย่างรวดเร็วสำหรับโมเดล OpenAI ซึ่งมีเส้นทาง HTTPS อย่างเป็นทางการ ที่มีผลและมีสิทธิ์เลือก Codex โดยปริยาย:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}การปรับใช้แบบผสมผู้ให้บริการ
ใช้ Claude เป็นเอเจนต์เริ่มต้นต่อไป และเพิ่มเอเจนต์ Codex ที่มีชื่อ:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "anthropic/claude-opus-4-6", }, list: [ { id: "main", default: true, model: "anthropic/claude-opus-4-6", }, { id: "codex", name: "Codex", model: "openai/gpt-5.6-sol", }, ], },}เอเจนต์ main ใช้เส้นทางผู้ให้บริการตามปกติ ส่วนเอเจนต์ codex ใช้ Codex
app-server เมื่อเส้นทาง OpenAI ที่มีผลยังคงเข้ากันได้ ให้เพิ่ม
agentRuntime.id: "codex" ที่กำหนดขอบเขตระดับโมเดลอย่างชัดเจน เมื่อต้องการให้เป็นข้อกำหนด
แบบล้มเหลวอย่างปลอดภัย
การปรับใช้ Codex แบบล้มเหลวอย่างปลอดภัย
เส้นทาง OpenAI ผ่าน HTTPS อย่างเป็นทางการที่ตรงกันทุกประการและมีสิทธิ์สามารถใช้ Codex ได้เมื่อ Plugin ที่รวมมาให้พร้อมใช้งาน เพิ่มนโยบายรันไทม์อย่างชัดเจนสำหรับกฎ แบบล้มเหลวอย่างปลอดภัยที่เขียนไว้:
{ models: { providers: { openai: { agentRuntime: { id: "codex", }, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}เมื่อบังคับใช้ Codex แล้ว OpenClaw จะล้มเหลวตั้งแต่เนิ่น ๆ หากเส้นทางที่มีผลไม่ได้รับการประกาศว่า เข้ากันได้กับ Codex, Plugin ถูกปิดใช้งาน, app-server เก่าเกินไป หรือ app-server ไม่สามารถเริ่มทำงานได้
นโยบาย app-server
โดยค่าเริ่มต้น Plugin จะเริ่มไบนารี Codex ที่ OpenClaw จัดการไว้ภายในเครื่องด้วย
การรับส่งข้อมูล stdio ตั้งค่า appServer.command เฉพาะเมื่อตั้งใจเรียกใช้
ไฟล์ปฏิบัติการอื่น Codex จัดประเภทการรับส่งข้อมูล WebSocket ว่าเป็นแบบทดลอง
และไม่รองรับ ใช้เฉพาะสำหรับการทดสอบที่ไม่ใช่ระบบใช้งานจริงกับ app-server
ที่กำลังทำงานอยู่ที่อื่น:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { transport: "websocket", url: "ws://gateway-host:39175", authToken: "${CODEX_APP_SERVER_TOKEN}", }, }, }, }, },}เซสชัน app-server แบบ stdio ภายในเครื่องใช้ท่าทีของผู้ปฏิบัติงานภายในเครื่องที่เชื่อถือได้
เป็นค่าเริ่มต้น ได้แก่ approvalPolicy: "never", approvalsReviewer: "user" และ
sandbox: "danger-full-access" หากข้อกำหนด Codex ภายในเครื่องไม่อนุญาต
ท่าที YOLO โดยปริยายดังกล่าว OpenClaw จะเลือกสิทธิ์ Guardian ที่อนุญาต
แทน เมื่อแซนด์บ็อกซ์ OpenClaw ทำงานอยู่สำหรับเซสชัน OpenClaw
จะปิดใช้งาน Code Mode แบบเนทีฟของ Codex, เซิร์ฟเวอร์ MCP ของผู้ใช้ และการเรียกใช้ Plugin
ที่รองรับโดยแอปสำหรับเทิร์นนั้น แทนที่จะพึ่งพาแซนด์บ็อกซ์ฝั่งโฮสต์ของ Codex
ส่วนการเข้าถึงเชลล์จะดำเนินการผ่านเครื่องมือแบบไดนามิกที่รองรับโดยแซนด์บ็อกซ์ OpenClaw
เช่น sandbox_exec และ sandbox_process เมื่อเครื่องมือ exec/process ตามปกติ
พร้อมใช้งาน
ใช้โหมด exec ของ OpenClaw ที่ปรับเป็นมาตรฐานสำหรับการรีวิวอัตโนมัติแบบเนทีฟของ Codex ก่อน การหลุดออกจากแซนด์บ็อกซ์หรือการให้สิทธิ์เพิ่มเติม:
{ tools: { exec: { mode: "auto", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}สำหรับเซสชัน Codex app-server นั้น tools.exec.mode: "auto" จะแมปไปยังการอนุมัติ
ที่ผ่านการรีวิวโดย Codex Guardian ซึ่งโดยทั่วไปคือ approvalPolicy: "on-request",
approvalsReviewer: "auto_review" และ sandbox: "workspace-write" เมื่อ
ข้อกำหนดภายในเครื่องอนุญาตค่าเหล่านั้น ใน tools.exec.mode: "auto"
OpenClaw จะไม่รักษาการเขียนทับ Codex แบบเดิมที่ไม่ปลอดภัยอย่าง approvalPolicy: "never" หรือ
sandbox: "danger-full-access" ไว้ ให้ใช้ tools.exec.mode: "full" สำหรับ
ท่าที Codex แบบไม่ต้องอนุมัติโดยตั้งใจ ค่าที่ตั้งไว้ล่วงหน้าแบบเดิม
plugins.entries.codex.config.appServer.mode: "guardian" ยังคงใช้งานได้
แต่ tools.exec.mode: "auto" คือพื้นผิว OpenClaw ที่ปรับเป็นมาตรฐานแล้ว
สำหรับการเปรียบเทียบระดับโหมดกับการอนุมัติ exec ของโฮสต์และสิทธิ์ ACPX โปรดดู โหมดสิทธิ์ สำหรับฟิลด์ app-server ทั้งหมด ลำดับการตรวจสอบสิทธิ์ การแยกสภาพแวดล้อม และพฤติกรรมการหมดเวลา โปรดดู ข้อมูลอ้างอิง Codex harness
คำสั่งและการวินิจฉัย
Plugin codex ลงทะเบียน /codex เป็นคำสั่งแบบสแลชในทุกช่องทางที่
รองรับคำสั่งข้อความของ OpenClaw
การเรียกใช้และการควบคุมแบบเนทีฟต้องใช้เจ้าของหรือไคลเอนต์ Gateway
operator.admin: การผูกหรือดำเนินเธรดต่อ การส่งหรือหยุดเทิร์น
การเปลี่ยนโมเดล โหมดเร็ว หรือสถานะสิทธิ์ การทำ Compaction หรือการรีวิว และ
การยกเลิกการผูก ผู้ส่งรายอื่นที่ได้รับอนุญาตยังคงใช้คำสั่งแบบอ่านอย่างเดียว
สำหรับสถานะ ความช่วยเหลือ บัญชี โมเดล เธรด เป้าหมายแบบเนทีฟ เซิร์ฟเวอร์ MCP,
Skills และการตรวจสอบการผูกได้
รูปแบบทั่วไป:
/codex statusตรวจสอบการเชื่อมต่อกับ app-server, โมเดล, บัญชี, ขีดจำกัด อัตราการใช้งาน, เซิร์ฟเวอร์ MCP และ Skills/codex modelsแสดงรายการโมเดล Codex app-server ที่ใช้งานอยู่/codex threads [filter]แสดงรายการเธรด Codex app-server ล่าสุด/codex goalอ่านหรืออัปเดตเป้าหมาย Codex แบบเนทีฟของเธรดที่แนบอยู่ การดำเนินการต่อเป้าหมายโดยอัตโนมัติของ Codex ยังคงปิดใช้งานอยู่ โดย OpenClaw ยังไม่ได้เป็นผู้ควบคุมเทิร์นต่อเนื่องแบบอัตโนมัติ/codex resume <thread-id>เชื่อมเซสชัน OpenClaw ปัจจุบันเข้ากับ เธรด Codex ที่มีอยู่/codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>]เชื่อมแชตปัจจุบัน/codex detach(หรือ/codex unbind) ยกเลิกการเชื่อมปัจจุบัน/codex bindingอธิบายการเชื่อมปัจจุบัน/codex stopหยุดเทิร์นที่กำลังทำงาน ส่วน/codex steer <text>ใช้ควบคุมทิศทางของเทิร์นนั้น/codex model <model>,/codex fast [on|off|status]และ/codex permissions [default|yolo|status]เปลี่ยนสถานะเฉพาะการสนทนา/codex compactขอให้ Codex app-server ทำ Compaction เธรดที่แนบอยู่/codex reviewเริ่มการรีวิวแบบเนทีฟของ Codex สำหรับเธรดที่แนบอยู่/codex diagnostics [note]ขอการยืนยันก่อนส่งข้อเสนอแนะ Codex สำหรับ เธรดที่แนบอยู่/codex accountแสดงสถานะบัญชีและขีดจำกัดอัตราการใช้งาน/codex mcpแสดงรายการสถานะเซิร์ฟเวอร์ MCP ของ Codex app-server/codex skillsแสดงรายการ Skills ของ Codex app-server/codex plugins list,/codex plugins enable <name>และ/codex plugins disable <name>จัดการ Plugin Codex แบบเนทีฟที่กำหนดค่าไว้/codex computer-use [status|install]จัดการ Codex Computer Use/codex helpแสดงโครงสร้างคำสั่งทั้งหมด
สำหรับรายงานขอความช่วยเหลือส่วนใหญ่ ให้เริ่มด้วย /diagnostics [note] ใน
การสนทนาที่เกิดข้อบกพร่อง คำสั่งนี้จะสร้างรายงานการวินิจฉัย Gateway หนึ่งรายการ
และสำหรับเซสชัน Codex harness จะขออนุมัติให้ส่ง
ชุดข้อเสนอแนะ Codex ที่เกี่ยวข้อง ดูโมเดลความเป็นส่วนตัวและลักษณะการทำงานของ
แชตกลุ่มได้ที่ การส่งออกข้อมูลวินิจฉัย ใช้ /codex diagnostics [note] เฉพาะเมื่อ
ต้องการอัปโหลดข้อเสนอแนะ Codex สำหรับเธรดที่แนบอยู่ในปัจจุบันโดยเฉพาะ
โดยไม่รวมชุดข้อมูลวินิจฉัย Gateway ทั้งหมด
ตรวจสอบเธรด Codex ภายในเครื่อง
วิธีที่เร็วที่สุดในการตรวจสอบการทำงาน Codex ที่ผิดพลาดมักเป็นการเปิด เธรด Codex แบบเนทีฟโดยตรง:
codex resume <thread-id>รับ ID เธรดจากการตอบกลับ /diagnostics ที่เสร็จสมบูรณ์, /codex binding
หรือ /codex threads [filter]
สำหรับกลไกการอัปโหลดและขอบเขตการวินิจฉัยระดับรันไทม์ โปรดดู รันไทม์ Codex harness
ลำดับการยืนยันตัวตน
ในโฮมเริ่มต้นเฉพาะเอเจนต์ ระบบจะเลือกการยืนยันตัวตนตามลำดับนี้:
- โปรไฟล์การยืนยันตัวตน OpenAI ที่จัดลำดับไว้สำหรับเอเจนต์ โดยควรอยู่ภายใต้
auth.order.openaiเรียกใช้openclaw doctor --fixเพื่อย้าย ID โปรไฟล์การยืนยันตัวตน Codex แบบเดิมและลำดับการยืนยันตัวตน Codex แบบเดิม - บัญชีที่มีอยู่ของ app-server ในโฮม Codex ของเอเจนต์นั้น
- สำหรับการเปิด app-server ผ่าน stdio ภายในเครื่องเท่านั้น ใช้
CODEX_API_KEYแล้วตามด้วยOPENAI_API_KEYเมื่อไม่มีบัญชี app-server และยังจำเป็นต้องใช้การยืนยันตัวตน OpenAI
เมื่อ OpenClaw พบโปรไฟล์การยืนยันตัวตน Codex แบบการสมัครสมาชิก ChatGPT ระบบจะ
นำ CODEX_API_KEY และ OPENAI_API_KEY ออกจากโปรเซสลูก Codex
ที่สร้างขึ้น วิธีนี้ช่วยให้คีย์ API ระดับ Gateway ยังคงพร้อมใช้สำหรับ embeddings หรือ
โมเดล OpenAI โดยตรง โดยไม่ทำให้เทิร์นของ Codex app-server แบบเนทีฟ
ถูกเรียกเก็บค่าบริการผ่าน API โดยไม่ได้ตั้งใจ โปรไฟล์คีย์ API ของ Codex ที่ระบุอย่างชัดเจนและ
การสำรองไปใช้คีย์จากสภาพแวดล้อมของ stdio ภายในเครื่องจะใช้การเข้าสู่ระบบ app-server แทน
สภาพแวดล้อมของโปรเซสลูกที่รับช่วงมา การเชื่อมต่อ app-server ผ่าน WebSocket จะไม่ได้รับ
คีย์ API สำรองจากสภาพแวดล้อม Gateway ให้ใช้โปรไฟล์การยืนยันตัวตนที่ระบุอย่างชัดเจนหรือ
บัญชีของ app-server ระยะไกลเอง
หากโปรไฟล์การสมัครสมาชิกถึงขีดจำกัดการใช้งาน Codex OpenClaw จะบันทึก
เวลารีเซ็ตเมื่อ Codex รายงาน และลองใช้โปรไฟล์การยืนยันตัวตนลำดับถัดไป
สำหรับการทำงาน Codex ครั้งเดียวกัน เมื่อพ้นเวลารีเซ็ต โปรไฟล์การสมัครสมาชิก
จะกลับมามีสิทธิ์ใช้งานอีกครั้งโดยไม่เปลี่ยนโมเดล openai/gpt-*
หรือรันไทม์ Codex ที่เลือกไว้
เมื่อกำหนดค่า Plugin Codex แบบเนทีฟ OpenClaw จะติดตั้งหรือรีเฟรช
Plugin เหล่านั้นผ่าน app-server ที่เชื่อมต่ออยู่ ก่อนเปิดให้เธรด Codex
เข้าถึงแอปที่ Plugin เป็นเจ้าของ app/list ยังคงเป็นแหล่งข้อมูลหลักสำหรับ ID แอป
ความสามารถในการเข้าถึง และข้อมูลเมตา แต่ OpenClaw เป็นผู้ตัดสินใจเปิดใช้งาน
ในแต่ละเธรด: หากนโยบายอนุญาตแอปที่เข้าถึงได้ในรายการ OpenClaw
จะส่ง thread/start.config.apps[appId].enabled = true แม้ว่า app/list
จะรายงานอยู่ในขณะนั้นว่าแอปดังกล่าวปิดใช้งาน เส้นทางนี้จะไม่สร้างการติดตั้งแอป
สำหรับ ID ที่ไม่รู้จัก OpenClaw จะเปิดใช้งานเฉพาะ Plugin จากมาร์เก็ตเพลส
ด้วย plugin/install แล้วจึงรีเฟรชคลังรายการ
การแยกสภาพแวดล้อม
สำหรับการเปิด app-server ผ่าน stdio ภายในเครื่อง OpenClaw จะตั้งค่า CODEX_HOME เป็น
ไดเรกทอรีเฉพาะเอเจนต์ เพื่อไม่ให้การกำหนดค่า Codex, ไฟล์การยืนยันตัวตน/บัญชี, แคช/ข้อมูล Plugin
และสถานะเธรดแบบเนทีฟ อ่านหรือเขียน ~/.codex ส่วนตัวของผู้ดำเนินการ
โดยค่าเริ่มต้น OpenClaw จะคงค่า HOME ของโปรเซสตามปกติไว้
โปรเซสย่อยที่เรียกใช้โดย Codex จึงยังค้นหาการกำหนดค่าและโทเค็นในโฮมของผู้ใช้ได้ และ
Codex อาจค้นพบรายการ $HOME/.agents/skills และ
$HOME/.agents/plugins/marketplace.json ที่ใช้ร่วมกัน เมื่อใช้
appServer.homeScope: "user" OpenClaw จะใช้โฮม Codex แบบเนทีฟของผู้ใช้
และบัญชีที่มีอยู่แทน โดยไม่แทรกโปรไฟล์การยืนยันตัวตน OpenClaw
หากการติดตั้งใช้งานต้องการแยกสภาพแวดล้อมเพิ่มเติม ให้เพิ่ม
ตัวแปรเหล่านั้นใน appServer.clearEnv:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"], }, }, }, }, },}appServer.clearEnv มีผลเฉพาะกับโปรเซสลูก Codex app-server
ที่สร้างขึ้น OpenClaw จะนำ CODEX_HOME และ HOME ออกจากรายการนี้ระหว่าง
การปรับค่าการเปิดใช้งานภายในเครื่องให้เป็นมาตรฐาน โดย CODEX_HOME ยังคงชี้ไปยังขอบเขต
เอเจนต์หรือผู้ใช้ที่เลือก และ HOME ยังคงรับช่วงค่าเพื่อให้โปรเซสย่อยใช้
สถานะในโฮมของผู้ใช้ตามปกติได้
เครื่องมือแบบไดนามิกและการค้นหาเว็บ
เครื่องมือแบบไดนามิกของ Codex ใช้การโหลดแบบ searchable เป็นค่าเริ่มต้น โดยปกติ OpenClaw
จะไม่เปิดเผยเครื่องมือแบบไดนามิกที่ซ้ำกับการดำเนินการพื้นที่ทำงานแบบเนทีฟของ Codex:
read, write, edit, apply_patch, exec, process, update_plan,
get_goal, create_goal, update_goal, tool_call, tool_describe,
tool_search และ tool_search_code การดำเนินการเกี่ยวกับเป้าหมายยังคงเป็นแบบเนทีฟของ Codex
ดังนั้น OpenClaw จะไม่ฉายที่เก็บเป้าหมายชุดที่สองเข้าไปในเทิร์น Codex เครื่องมือผสานรวม
OpenClaw ส่วนใหญ่ที่เหลือ เช่น การส่งข้อความ, สื่อ, Cron,
เบราว์เซอร์, Node, Gateway และ heartbeat_respond พร้อมใช้งานผ่าน
การค้นหาเครื่องมือ Codex ภายใต้เนมสเปซ openclaw ซึ่งช่วยลดขนาดบริบทเริ่มต้น
ของโมเดล การสำรองไปใช้เชลล์สำหรับเทิร์นที่ถูกจำกัดเป็นข้อยกเว้นสำหรับ
exec และ process เมื่อรายการอนุญาตแบบจำกัดปิดใช้งาน Code Mode แบบเนทีฟ
ทั้งรายการอนุญาตของรันไทม์และ codexDynamicToolsExclude ยังคงมีผลบังคับใช้
เครื่องมือที่ทำเครื่องหมาย catalogMode: "direct-only" ซึ่งรวมถึงเครื่องมือ computer
ของ OpenClaw จะใช้เนมสเปซ openclaw_direct แทน Codex ถือว่าเนมสเปซนั้น
เป็น DirectModelOnly ดังนั้นเครื่องมือเหล่านั้นจึงยังคงแสดงต่อโมเดลโดยตรงในเธรดปกติและ
เธรดที่ใช้ Code Mode เท่านั้น แทนที่จะผ่านการเรียก Code Mode tools.* แบบซ้อน
การค้นหาเว็บใช้เครื่องมือ web_search แบบโฮสต์ของ Codex เป็นค่าเริ่มต้นเมื่อเปิดใช้การค้นหา
และไม่ได้เลือกผู้ให้บริการที่มีการจัดการ การค้นหาแบบโฮสต์เนทีฟและ
เครื่องมือแบบไดนามิก web_search ที่ OpenClaw จัดการจะไม่ทำงานพร้อมกัน เพื่อให้
การค้นหาที่มีการจัดการไม่สามารถข้ามข้อจำกัดโดเมนแบบเนทีฟได้ OpenClaw ใช้
เครื่องมือที่มีการจัดการเมื่อการค้นหาแบบโฮสต์ไม่พร้อมใช้งาน ถูกปิดใช้งานอย่างชัดเจน หรือ
ถูกแทนที่ด้วยผู้ให้บริการที่มีการจัดการที่เลือกไว้ OpenClaw ยังคงปิดใช้งาน
ส่วนขยาย web.run แบบสแตนด์อโลนของ Codex เพราะทราฟฟิก app-server ในระบบจริงปฏิเสธ
เนมสเปซ web ที่ผู้ใช้กำหนด tools.web.search.enabled: false
จะปิดใช้งานทั้งสองเส้นทาง เช่นเดียวกับการทำงานแบบ LLM เท่านั้นที่ปิดใช้เครื่องมือ Codex ถือว่า
"cached" เป็นค่ากำหนด และแปลงเป็นการเข้าถึงภายนอกแบบสดสำหรับ
เทิร์น app-server ที่ไม่ถูกจำกัด การสำรองไปใช้ระบบที่มีการจัดการโดยอัตโนมัติจะหยุดทำงานแบบปิด
เมื่อมีการตั้งค่า allowedDomains แบบเนทีฟ เพื่อไม่ให้ข้ามรายการอนุญาตได้
การเปลี่ยนแปลงนโยบายการค้นหาที่มีผลอย่างถาวรจะหมุนเวียนเธรด Codex ที่ผูกไว้
ก่อนเทิร์นถัดไป ส่วนข้อจำกัดชั่วคราวเฉพาะเทิร์นจะใช้เธรดที่ถูกจำกัดชั่วคราว
และคงการผูกเดิมไว้เพื่อกลับมาทำงานต่อในภายหลัง
sessions_yield และการตอบกลับจากแหล่งที่ใช้เฉพาะเครื่องมือส่งข้อความยังคงส่งตรง เพราะ
สิ่งเหล่านั้นเป็นสัญญาควบคุมเทิร์น sessions_spawn ยังคงค้นหาได้ เพื่อให้
spawn_agent แบบเนทีฟของ Codex ยังคงเป็นพื้นผิวซับเอเจนต์หลักของ Codex
ขณะที่การมอบหมาย OpenClaw หรือ ACP อย่างชัดเจนยังคงพร้อมใช้งานผ่าน
เนมสเปซเครื่องมือแบบไดนามิก openclaw คำสั่งการทำงานร่วมกันของ Heartbeat
บอกให้ Codex ค้นหา heartbeat_respond ก่อนจบเทิร์น Heartbeat
เมื่อเครื่องมือนั้นยังไม่ได้โหลด
ตั้งค่า codexDynamicToolsLoading: "direct" เฉพาะเมื่อเชื่อมต่อกับ
Codex app-server แบบกำหนดเองที่ไม่สามารถค้นหาเครื่องมือแบบไดนามิกที่เลื่อนการโหลดไว้ หรือเมื่อ
กำลังดีบักเพย์โหลดเครื่องมือทั้งหมด
ฟิลด์การกำหนดค่า
ฟิลด์ระดับบนสุดของ Plugin Codex ที่รองรับ:
| ฟิลด์ | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
codexDynamicToolsLoading |
"searchable" |
ใช้ "direct" เพื่อวางเครื่องมือแบบไดนามิกของ OpenClaw ลงในบริบทเครื่องมือ Codex เริ่มต้นโดยตรง |
codexDynamicToolsExclude |
[] |
ชื่อเครื่องมือแบบไดนามิกของ OpenClaw เพิ่มเติมที่จะละเว้นจากเทิร์น Codex app-server |
codexPlugins |
ปิดใช้งาน | การรองรับ Plugin/แอป Codex แบบเนทีฟสำหรับ Plugin ที่คัดสรรและย้ายมาจากการติดตั้งผ่านซอร์ส |
sessionCatalog |
เปิดใช้งาน | การค้นหาในแถบด้านข้างสำหรับเซสชัน Codex แบบเนทีฟบน Gateway นี้และ Node ที่จับคู่ซึ่งมีสิทธิ์ |
supervision |
ปิดใช้งาน | นโยบายทรานสคริปต์และการควบคุมการเขียนของเซสชันแบบเนทีฟสำหรับเอเจนต์ |
ฟิลด์ appServer ที่รองรับ:
| ฟิลด์ | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
transport |
"stdio" |
"stdio" เรียกใช้ Codex; "unix" ที่ระบุอย่างชัดเจนจะเชื่อมต่อกับซ็อกเก็ตควบคุมภายในเครื่อง; "websocket" เชื่อมต่อกับ url |
homeScope |
"agent" |
"agent" แยกสถานะของชุดทดสอบทั่วไปสำหรับแต่ละเอเจนต์ OpenClaw ส่วน "user" เป็นการเลือกใช้โดยชัดแจ้งเพื่อแชร์ $CODEX_HOME หรือ ~/.codex แบบเนทีฟ ใช้การยืนยันตัวตนแบบเนทีฟ และเปิดใช้การจัดการเธรดเฉพาะเจ้าของ ขอบเขตผู้ใช้รองรับ stdio ภายในเครื่องหรือการรับส่งผ่าน Unix สำหรับการเชื่อมต่อกำกับดูแลแยกต่างหาก ค่าที่ไม่ได้ตั้งจะถูกกำหนดเป็น "user" สำหรับ stdio หรือ Unix และ "agent" สำหรับ WebSocket |
command |
ไบนารี Codex ที่มีการจัดการ | ไฟล์ปฏิบัติการสำหรับการรับส่งผ่าน stdio ปล่อยไว้โดยไม่ตั้งค่าเพื่อใช้ไบนารีที่มีการจัดการ; ตั้งค่าเฉพาะเมื่อต้องการแทนที่อย่างชัดเจน |
args |
["app-server", "--listen", "stdio://"] |
อาร์กิวเมนต์สำหรับการรับส่งผ่าน stdio |
url |
ไม่ได้ตั้งค่า | URL ของ WebSocket App Server หรือ URL unix:// พาธ Unix ที่ระบุอย่างชัดเจนเป็นค่าว่างจะเลือกซ็อกเก็ตควบคุมมาตรฐานในโฮมของผู้ใช้ |
authToken |
ไม่ได้ตั้งค่า | Bearer token สำหรับการรับส่งผ่าน WebSocket รองรับสตริงลิเทอรัลหรือ SecretInput เช่น ${CODEX_APP_SERVER_TOKEN} |
headers |
{} |
ส่วนหัว WebSocket เพิ่มเติม ค่าส่วนหัวยอมรับสตริงลิเทอรัลหรือค่า SecretInput เช่น x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}" |
clearEnv |
[] |
ชื่อตัวแปรสภาพแวดล้อมเพิ่มเติมที่จะนำออกจากกระบวนการ app-server แบบ stdio ที่เรียกใช้ หลังจาก OpenClaw สร้างสภาพแวดล้อมที่สืบทอดแล้ว OpenClaw จะเก็บ CODEX_HOME ที่เลือกและ HOME ที่สืบทอดไว้สำหรับการเรียกใช้ภายในเครื่อง |
codeModeOnly |
false |
เลือกใช้พื้นผิวเครื่องมือเฉพาะโหมดโค้ดของ Codex เครื่องมือแบบไดนามิกทั่วไปของ OpenClaw ยังคงใช้งานได้ผ่านการเรียก tools.* แบบซ้อน; เครื่องมือ openclaw_direct ยังคงแสดงต่อโมเดลโดยตรง |
remoteWorkspaceRoot |
ไม่ได้ตั้งค่า | รูทพื้นที่ทำงานของ Codex app-server ระยะไกล เมื่อตั้งค่าแล้ว OpenClaw จะอนุมานรูทพื้นที่ทำงานภายในเครื่องจากพื้นที่ทำงาน OpenClaw ที่แปลงค่าแล้ว รักษาส่วนต่อท้าย cwd ปัจจุบันไว้ภายใต้รูทระยะไกลนี้ และส่งเฉพาะ cwd สุดท้ายของ app-server ไปยัง Codex หาก cwd อยู่นอกรูทพื้นที่ทำงาน OpenClaw ที่แปลงค่าแล้ว OpenClaw จะหยุดทำงานแบบปิดแทนการส่งพาธภายใน Gateway ไปยัง app-server ระยะไกล |
requestTimeoutMs |
60000 |
ระยะหมดเวลาสำหรับการเรียกใช้ระนาบควบคุมของ app-server |
turnCompletionIdleTimeoutMs |
60000 |
ช่วงเวลาที่ไม่มีความเคลื่อนไหวหลังจาก Codex ยอมรับรอบการทำงานหรือหลังคำขอ app-server ที่จำกัดขอบเขตเฉพาะรอบ ขณะที่ OpenClaw รอ turn/completed |
turnAssistantCompletionIdleTimeoutMs |
10000 |
ช่วงเวลาที่ไม่มีความเคลื่อนไหวหลังจากรายการสุดท้าย/รายการที่ไม่ใช่คำบรรยายจากผู้ช่วย หรือการเสร็จสิ้นของผู้ช่วยแบบดิบก่อนใช้เครื่องมือ เปิดการปล่อยเอาต์พุตของผู้ช่วยไว้ ขณะที่ OpenClaw ยังคงรอ turn/completed การเพิ่มค่านี้จะให้เวลา Codex ส่ง turn/completed มากขึ้น ก่อนที่ OpenClaw จะขัดจังหวะและปล่อยเลนของเซสชัน |
postToolRawAssistantCompletionIdleTimeoutMs |
300000 |
ตัวป้องกันการเสร็จสิ้นที่ไม่มีความเคลื่อนไหวและความคืบหน้า ซึ่งใช้หลังการส่งต่อให้เครื่องมือ การเสร็จสิ้นของเครื่องมือแบบเนทีฟ ความคืบหน้าของผู้ช่วยแบบดิบหลังใช้เครื่องมือ การเสร็จสิ้นการให้เหตุผลแบบดิบ หรือความคืบหน้าของการให้เหตุผล ขณะที่ OpenClaw รอ turn/completed ใช้ค่านี้สำหรับเวิร์กโหลดที่เชื่อถือได้หรือหนัก ซึ่งการสังเคราะห์หลังใช้เครื่องมืออาจไม่มีความเคลื่อนไหวได้นานกว่างบประมาณการปล่อยผู้ช่วยขั้นสุดท้ายโดยชอบด้วยเหตุผล |
mode |
"yolo" เว้นแต่ข้อกำหนด Codex ภายในเครื่องจะไม่อนุญาต YOLO |
ค่าที่ตั้งไว้ล่วงหน้าสำหรับการดำเนินการแบบ YOLO หรือที่ผ่านการตรวจสอบโดยผู้พิทักษ์ ข้อกำหนด stdio ภายในเครื่องที่ไม่มี danger-full-access, การอนุมัติ never หรือผู้ตรวจสอบ user จะทำให้ค่าเริ่มต้นโดยนัยเป็นผู้พิทักษ์ |
approvalPolicy |
"never" หรือนโยบายการอนุมัติของผู้พิทักษ์ที่อนุญาต |
นโยบายการอนุมัติ Codex แบบเนทีฟที่ส่งเมื่อเริ่ม/ดำเนินการต่อเธรด/เริ่มรอบ ค่าเริ่มต้นของผู้พิทักษ์จะเลือก "on-request" เมื่อได้รับอนุญาต |
sandbox |
"danger-full-access" หรือแซนด์บ็อกซ์ของผู้พิทักษ์ที่อนุญาต |
โหมดแซนด์บ็อกซ์ Codex แบบเนทีฟที่ส่งเมื่อเริ่ม/ดำเนินการต่อเธรด ค่าเริ่มต้นของผู้พิทักษ์จะเลือก "workspace-write" เมื่อได้รับอนุญาต มิฉะนั้นใช้ "read-only" เมื่อแซนด์บ็อกซ์ OpenClaw ทำงานอยู่ รอบ danger-full-access จะใช้ workspace-write ของ Codex โดยกำหนดสิทธิ์เข้าถึงเครือข่ายจากการตั้งค่าการรับส่งข้อมูลขาออกของแซนด์บ็อกซ์ OpenClaw |
approvalsReviewer |
"user" หรือผู้ตรวจสอบของผู้พิทักษ์ที่อนุญาต |
ใช้ "auto_review" เพื่อให้ Codex ตรวจสอบพรอมต์การอนุมัติแบบเนทีฟเมื่อได้รับอนุญาต มิฉะนั้นใช้ guardian_subagent หรือ user ส่วน guardian_subagent ยังคงเป็นนามแฝงแบบเก่า |
serviceTier |
ไม่ได้ตั้งค่า | ระดับบริการ Codex app-server ที่เป็นตัวเลือก "priority" เปิดใช้การกำหนดเส้นทางโหมดเร็ว, "flex" ขอการประมวลผลแบบยืดหยุ่น, null ล้างค่าที่แทนที่ และยอมรับ "fast" แบบเก่าเป็น "priority" |
networkProxy |
ปิดใช้งาน | เลือกใช้เครือข่ายตามโปรไฟล์สิทธิ์ของ Codex สำหรับคำสั่ง app-server OpenClaw กำหนดค่าการกำหนดค่า permissions.<profile>.network ที่เลือกและเลือกด้วย default_permissions แทนการส่ง sandbox |
experimental.sandboxExecServer |
false |
การเลือกใช้ฟีเจอร์ตัวอย่าง ซึ่งลงทะเบียนสภาพแวดล้อม Codex ที่รองรับโดยแซนด์บ็อกซ์ OpenClaw กับ Codex app-server ที่รองรับ เพื่อให้การดำเนินการ Codex แบบเนทีฟสามารถทำงานภายในแซนด์บ็อกซ์ OpenClaw ที่ใช้งานอยู่ |
appServer.networkProxy ระบุไว้อย่างชัดเจนเนื่องจากเปลี่ยนสัญญา sandbox ของ Codex
เมื่อเปิดใช้งาน OpenClaw จะตั้งค่า features.network_proxy.enabled
และ default_permissions ในการกำหนดค่าเธรด Codex ด้วย เพื่อให้โปรไฟล์
สิทธิ์ที่สร้างขึ้นสามารถเริ่มระบบเครือข่ายที่ Codex จัดการได้ โดยค่าเริ่มต้น OpenClaw
จะสร้างชื่อโปรไฟล์ openclaw-network-<fingerprint> ที่ต้านทานการชนกัน
จากเนื้อหาของโปรไฟล์ ให้ใช้ profileName เฉพาะเมื่อต้องการชื่อภายในเครื่อง
ที่คงที่เท่านั้น
{ plugins: { entries: { codex: { config: { appServer: { sandbox: "workspace-write", networkProxy: { enabled: true, domains: { "api.openai.com": "allow", "blocked.example.com": "deny", }, unixSockets: { "/tmp/proxy.sock": "allow", "/tmp/blocked.sock": "none", }, allowUpstreamProxy: true, proxyUrl: "http://127.0.0.1:3128", }, }, }, }, }, },}หากรันไทม์ app-server ปกติเป็น danger-full-access การเปิดใช้งาน
networkProxy จะใช้การเข้าถึงระบบไฟล์แบบ workspace สำหรับโปรไฟล์
สิทธิ์ที่สร้างขึ้น กล่าวคือ การบังคับใช้นโยบายเครือข่ายที่ Codex จัดการเป็นระบบเครือข่าย
ภายใต้ sandbox ดังนั้นโปรไฟล์แบบเข้าถึงได้ทั้งหมดจะไม่ปกป้องทราฟฟิกขาออก
รายการโดเมนใช้ allow หรือ deny; รายการซ็อกเก็ต Unix ใช้ค่า
allow หรือ none ของ Codex
การหมดเวลาของการเรียกเครื่องมือแบบไดนามิก
การเรียกเครื่องมือแบบไดนามิกที่ OpenClaw เป็นเจ้าของมีขอบเขตแยกจาก
appServer.requestTimeoutMs: คำขอ item/tool/call ของ Codex ใช้ watchdog
ของ OpenClaw ที่ 90 วินาทีโดยค่าเริ่มต้น อาร์กิวเมนต์ timeoutMs
ที่เป็นค่าบวกต่อการเรียกหนึ่งครั้งจะเพิ่มหรือลดงบเวลาของเครื่องมือนั้นโดยเฉพาะ โดยจำกัดสูงสุดที่ 600000 ms
เครื่องมือ image_generate ใช้ agents.defaults.imageGenerationModel.timeoutMs
เมื่อการเรียกเครื่องมือไม่ได้ระบุการหมดเวลาของตนเอง มิฉะนั้นจะใช้ค่าเริ่มต้นสำหรับการสร้างรูปภาพที่ 120 วินาที
เครื่องมือทำความเข้าใจสื่อ image
ใช้ tools.media.image.timeoutSeconds หรือค่าเริ่มต้นสำหรับสื่อที่ 60 วินาที สำหรับ
การทำความเข้าใจรูปภาพ การหมดเวลานั้นใช้กับตัวคำขอเองและจะไม่
ลดลงจากงานเตรียมการก่อนหน้า เมื่อหมดเวลา OpenClaw จะยกเลิกสัญญาณของเครื่องมือ
ในกรณีที่รองรับ และส่งการตอบกลับเครื่องมือแบบไดนามิกที่ล้มเหลวไปยัง Codex
เพื่อให้รอบดำเนินต่อได้ แทนที่จะปล่อยให้เซสชันอยู่ใน processing
watchdog นี้เป็นงบ item/tool/call แบบไดนามิกชั้นนอก ส่วนการหมดเวลา
ของคำขอเฉพาะผู้ให้บริการจะทำงานภายในการเรียกนั้นและคงความหมายการหมดเวลาของตนเองไว้
หลังจาก Codex ยอมรับรอบหนึ่งแล้ว และหลังจาก OpenClaw ตอบสนองต่อคำขอ
app-server ที่มีขอบเขตเฉพาะรอบ ระบบควบคุมคาดว่า Codex จะดำเนินความคืบหน้าในรอบปัจจุบัน
และในที่สุดจะจบรอบเนทีฟด้วย turn/completed หาก
app-server เงียบเป็นเวลา appServer.turnCompletionIdleTimeoutMs OpenClaw
จะพยายามขัดจังหวะรอบ Codex อย่างเต็มความสามารถ บันทึกการหมดเวลาเพื่อการวินิจฉัย และ
ปล่อยเลนเซสชัน OpenClaw เพื่อไม่ให้ข้อความแชตถัดไป
เข้าคิวต่อท้ายรอบเนทีฟที่ค้างอยู่ การแจ้งเตือนส่วนใหญ่ที่ยังไม่สิ้นสุดสำหรับ
รอบเดียวกันจะยกเลิก watchdog ระยะสั้นนั้น เนื่องจาก Codex ได้พิสูจน์ว่ารอบดังกล่าว
ยังทำงานอยู่
การส่งต่อเครื่องมือใช้งบเวลาว่างหลังใช้เครื่องมือที่ยาวกว่า หลังจาก OpenClaw ส่งคืนการตอบกลับ
item/tool/call หลังจากรายการเครื่องมือเนทีฟ เช่น
commandExecution ทำงานเสร็จ หลังจากการทำงาน custom_tool_call_output
แบบดิบเสร็จ และหลังจากความคืบหน้าของผู้ช่วยแบบดิบหลังใช้เครื่องมือ การให้เหตุผล
แบบดิบเสร็จสิ้น หรือความคืบหน้าในการให้เหตุผล ตัวป้องกันใช้
appServer.postToolRawAssistantCompletionIdleTimeoutMs เมื่อกำหนดค่าไว้ และ
ใช้ค่าเริ่มต้นเป็นห้านาทีในกรณีอื่น งบเดียวกันนี้ยังขยาย
watchdog ความคืบหน้าสำหรับช่วงสังเคราะห์ที่เงียบก่อน Codex จะส่งเหตุการณ์
ถัดไปของรอบปัจจุบัน การแจ้งเตือน app-server ส่วนกลาง เช่น
การอัปเดตขีดจำกัดอัตรา จะไม่รีเซ็ตความคืบหน้าเมื่อรอบว่าง การให้เหตุผลเสร็จสิ้น
การทำงาน agentMessage ของ commentary เสร็จสิ้น และการให้เหตุผลแบบดิบก่อนใช้เครื่องมือหรือ
ความคืบหน้าของผู้ช่วย อาจตามด้วยการตอบกลับสุดท้ายโดยอัตโนมัติ ดังนั้นจึงใช้
ตัวป้องกันการตอบกลับหลังความคืบหน้าแทนการปล่อยเลนเซสชันทันที
เฉพาะรายการ agentMessage ที่เสร็จสมบูรณ์และเป็นแบบสุดท้าย/ไม่ใช่ commentary กับการทำงานของ
ผู้ช่วยแบบดิบก่อนใช้เครื่องมือเสร็จสิ้นเท่านั้นที่จะเปิดใช้การปล่อยเอาต์พุตของผู้ช่วย หากหลังจากนั้น Codex
เงียบโดยไม่มี turn/completed OpenClaw จะพยายามขัดจังหวะรอบเนทีฟ
และปล่อยเลนเซสชันอย่างเต็มความสามารถ หากตัวเฝ้าดูรอบอื่นชนะการแข่งขันเพื่อปล่อยนั้น
OpenClaw จะยังคงยอมรับรายการผู้ช่วยสุดท้ายที่เสร็จสมบูรณ์ เมื่อไม่มี
คำขอเนทีฟ รายการ หรือการทำงานเครื่องมือแบบไดนามิกที่เสร็จสิ้นเหลือทำงานอยู่ และ
การปล่อยเอาต์พุตของผู้ช่วยยังคงเป็นของรายการล่าสุดที่เสร็จสมบูรณ์ โดย
ไม่มีรายการใดเสร็จสมบูรณ์ในภายหลัง วิธีนี้อาจรักษาคำตอบสุดท้ายไว้หลังจาก
งานเครื่องมือเสร็จสมบูรณ์โดยไม่ต้องเล่นรอบซ้ำ เดลตาของผู้ช่วยบางส่วน
การตอบกลับก่อนหน้าที่ล้าสมัย และการทำงานภายหลังที่ว่างเปล่าไม่เข้าเกณฑ์
ความล้มเหลวของ stdio app-server ที่เล่นซ้ำได้อย่างปลอดภัย รวมถึงการหมดเวลาเมื่อว่าง ระหว่างรอรอบเสร็จสิ้นโดยไม่มีหลักฐานจากผู้ช่วย เครื่องมือ รายการที่ทำงานอยู่ หรือผลข้างเคียง จะลองใหม่หนึ่งครั้งด้วยการพยายามใช้ app-server ใหม่ การหมดเวลาที่ไม่ปลอดภัยยังคงยุติ ไคลเอนต์ app-server ที่ค้างและปล่อยเลนเซสชัน OpenClaw อีกทั้งยัง ล้างการผูกเธรดเนทีฟที่ล้าสมัยแทนการเล่นซ้ำ โดยอัตโนมัติ การหมดเวลาของตัวเฝ้าดูการเสร็จสิ้นจะแสดงข้อความการหมดเวลาที่เจาะจงกับ Codex: กรณีที่เล่นซ้ำได้อย่างปลอดภัยจะระบุว่าการตอบกลับอาจไม่สมบูรณ์ ส่วนกรณีที่ไม่ปลอดภัย จะแจ้งให้ผู้ใช้ตรวจสอบสถานะปัจจุบันก่อนลองใหม่ การวินิจฉัยการหมดเวลาสาธารณะ มีฟิลด์เชิงโครงสร้าง เช่น เมธอดการแจ้งเตือน app-server ล่าสุด รหัส/ประเภท/บทบาทของรายการการตอบกลับจากผู้ช่วยแบบดิบ จำนวนคำขอ/รายการที่ทำงานอยู่ และสถานะตัวเฝ้าดูที่เปิดใช้ เมื่อการแจ้งเตือนล่าสุดเป็นรายการการตอบกลับจาก ผู้ช่วยแบบดิบ การวินิจฉัยจะมีตัวอย่างข้อความผู้ช่วยที่จำกัดความยาวด้วย โดยจะไม่มีเนื้อหาพรอมต์หรือเครื่องมือแบบดิบ
การแทนที่ตัวแปรสภาพแวดล้อมสำหรับการทดสอบภายในเครื่อง
OPENCLAW_CODEX_APP_SERVER_BINจะข้ามไบนารีที่มีการจัดการเมื่อ ไม่ได้ตั้งค่าappServer.commandOPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 ถูกนำออกแล้ว ให้ใช้
plugins.entries.codex.config.appServer.mode: "guardian" แทน หรือ
OPENCLAW_CODEX_APP_SERVER_MODE=guardian สำหรับการทดสอบภายในเครื่องแบบครั้งเดียว แนะนำให้ใช้การกำหนดค่า
สำหรับการปรับใช้ที่ทำซ้ำได้ เนื่องจากจะเก็บพฤติกรรมของ Plugin
ไว้ในไฟล์ที่ผ่านการรีวิวเดียวกันกับการตั้งค่าส่วนควบคุม Codex ที่เหลือ
Plugin เนทีฟของ Codex
การรองรับ Plugin เนทีฟของ Codex ใช้ความสามารถด้านแอปและ Plugin
ของ app-server ของ Codex เองในเธรด Codex เดียวกับรอบของส่วนควบคุม OpenClaw โดย OpenClaw
จะไม่แปลง Plugin ของ Codex เป็นเครื่องมือแบบไดนามิก codex_plugin_* ของ OpenClaw
ที่จำลองขึ้น
codexPlugins มีผลเฉพาะกับเซสชันที่เลือกส่วนควบคุม Codex เนทีฟ
ไม่มีผลต่อการทำงานของส่วนควบคุมในตัว การทำงานของผู้ให้บริการ OpenAI ปกติ การผูก
บทสนทนา ACP หรือส่วนควบคุมอื่น
การกำหนดค่าขั้นต่ำที่ย้ายแล้ว:
{ plugins: { entries: { codex: { enabled: true, config: { codexPlugins: { enabled: true, allow_destructive_actions: true, plugins: { "google-calendar": { enabled: true, marketplaceName: "openai-curated", pluginName: "google-calendar", }, }, }, }, }, }, },}การกำหนดค่าแอปของเธรดจะถูกคำนวณเมื่อ OpenClaw สร้างเซสชันส่วนควบคุม Codex
หรือแทนที่การผูกเธรด Codex ที่ล้าสมัย และจะไม่คำนวณใหม่
ในทุกรอบ หลังจากเปลี่ยน codexPlugins ให้ใช้ /new, /reset หรือรีสตาร์ต
Gateway เพื่อให้เซสชันส่วนควบคุม Codex ในอนาคตเริ่มต้นด้วยชุดแอป
ที่อัปเดตแล้ว
สำหรับคุณสมบัติที่เข้าเกณฑ์การย้าย รายการแอป นโยบายการดำเนินการที่ก่อให้เกิดความเสียหาย การร้องขอข้อมูล และการวินิจฉัย Plugin เนทีฟ โปรดดู Plugin เนทีฟของ Codex
การเข้าถึงแอปและ Plugin ฝั่ง OpenAI ควบคุมโดยบัญชี Codex ที่ลงชื่อเข้าใช้ และสำหรับ workspace แบบ Business และ Enterprise/Edu จะควบคุมด้วยส่วนควบคุมแอป ของ workspace โปรดดู การใช้ Codex กับแผน ChatGPT ของคุณ สำหรับภาพรวมของ OpenAI เกี่ยวกับส่วนควบคุมบัญชีและ workspace
การใช้งานคอมพิวเตอร์
การใช้งานคอมพิวเตอร์มีคู่มือการตั้งค่าของตนเอง: การใช้งานคอมพิวเตอร์ของ Codex
โดยสรุป: OpenClaw ไม่ได้รวมแอปควบคุมเดสก์ท็อปไว้ในแพ็กเกจหรือดำเนินการ
บนเดสก์ท็อปด้วยตนเอง แต่จะเตรียม app-server ของ Codex ตรวจสอบว่า
เซิร์ฟเวอร์ MCP computer-use พร้อมใช้งาน แล้วปล่อยให้ Codex เป็นเจ้าของการเรียก
เครื่องมือ MCP เนทีฟระหว่างรอบในโหมด Codex
ขอบเขตรันไทม์
ส่วนควบคุม Codex เปลี่ยนเฉพาะตัวดำเนินการเอเจนต์แบบฝังตัวระดับล่างเท่านั้น
- รองรับเครื่องมือแบบไดนามิกของ OpenClaw โดย Codex ขอให้ OpenClaw ดำเนินการ เครื่องมือเหล่านั้น ดังนั้น OpenClaw จึงยังคงอยู่ในเส้นทางการดำเนินการ
- เชลล์ แพตช์ MCP และเครื่องมือแอปเนทีฟของ Codex อยู่ภายใต้การดูแลของ Codex OpenClaw สามารถสังเกตหรือบล็อกเหตุการณ์เนทีฟที่เลือกผ่านรีเลย์ ที่รองรับ แต่จะไม่เขียนอาร์กิวเมนต์เครื่องมือเนทีฟใหม่
- Codex เป็นเจ้าของ Compaction เนทีฟ OpenClaw เก็บสำเนาทรานสคริปต์ไว้สำหรับ
ประวัติช่องทาง การค้นหา
/new,/resetและการสลับโมเดลหรือส่วนควบคุม ในอนาคต แต่จะไม่แทนที่ Compaction ของ Codex ด้วยตัวสรุปของ OpenClaw หรือ กลไกบริบท - การสร้างสื่อ การทำความเข้าใจสื่อ TTS การอนุมัติ และเอาต์พุตของเครื่องมือส่งข้อความ จะยังคงดำเนินการผ่านการตั้งค่าผู้ให้บริการ/โมเดล OpenClaw ที่ตรงกัน
tool_result_persistใช้กับผลลัพธ์เครื่องมือทรานสคริปต์ที่ OpenClaw เป็นเจ้าของ ไม่ใช่ระเบียนผลลัพธ์เครื่องมือเนทีฟของ Codex
สำหรับชั้น hook พื้นผิว V1 ที่รองรับ การจัดการสิทธิ์เนทีฟ การควบคุมคิว กลไกอัปโหลดข้อเสนอแนะของ Codex และรายละเอียด Compaction โปรดดู รันไทม์ส่วนควบคุม Codex
การแก้ไขปัญหา
Codex ไม่ปรากฏเป็นผู้ให้บริการ /model ปกติ: เป็นพฤติกรรมที่คาดไว้สำหรับการกำหนดค่าใหม่
ให้เลือกโมเดล openai/gpt-* เปิดใช้งาน
plugins.entries.codex.enabled และตรวจสอบว่า plugins.allow ยกเว้น
codex หรือไม่
OpenClaw ใช้ส่วนควบคุมในตัวแทน Codex: ยืนยันว่าเส้นทางที่มีผลเป็นเส้นทาง HTTPS Platform Responses หรือ ChatGPT Responses อย่างเป็นทางการที่ตรงกันทุกประการ
ไม่มีการแทนที่คำขอที่กำหนดขึ้นเอง และติดตั้งพร้อมเปิดใช้งาน Plugin Codex แล้ว
คำนำหน้า openai/gpt-* เพียงอย่างเดียวไม่เพียงพอ สำหรับหลักฐานที่เข้มงวดขณะ
ทดสอบ ให้ตั้งค่า agentRuntime.id: "codex" ของผู้ให้บริการหรือโมเดล การบังคับใช้ Codex จะล้มเหลว
แทนการย้อนกลับเมื่อเส้นทางหรือส่วนควบคุมเข้ากันไม่ได้
รันไทม์ OpenAI Codex ย้อนกลับไปใช้เส้นทางคีย์ API: รวบรวมข้อความบางส่วนจาก Gateway ที่ปกปิดข้อมูลสำคัญและแสดงโมเดล รันไทม์ ผู้ให้บริการที่เลือก และ ความล้มเหลว ขอให้ผู้ร่วมงานที่ได้รับผลกระทบรันคำสั่งแบบอ่านอย่างเดียวนี้บนโฮสต์ OpenClaw ของตน:
( pattern='openai/gpt-5\.[45]|openai[-]codex|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|legacy OpenAI Codex prefix|resolveSelectedOpenAIRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth' if ls /tmp/openclaw/openclaw-*.log >/dev/null 2>&1; then grep -E -i -n "$pattern" /tmp/openclaw/openclaw-*.log 2>/dev/null || true else journalctl --user -u openclaw-gateway --since today --no-pager 2>/dev/null \ | grep -E -i "$pattern" || true fi) | sed -E \ -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \ -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \ | tail -200ข้อความบางส่วนที่มีประโยชน์มักประกอบด้วย openai/gpt-5.6-sol หรือ openai/gpt-5.6-luna,
Runtime: OpenAI Codex, agentRuntime.id หรือ harnessRuntime,
candidateProvider: "openai" และผลลัพธ์ 401, Incorrect API key หรือ
No API key การทำงานที่แก้ไขแล้วควรแสดงเส้นทาง OAuth ของ OpenAI
แทนความล้มเหลวจากคีย์ API ของ OpenAI แบบธรรมดา
การกำหนดค่าการอ้างอิงโมเดล Codex แบบเดิมยังคงอยู่: เรียกใช้ openclaw doctor --fix
Doctor จะเขียนการอ้างอิงโมเดลแบบเดิมใหม่เป็น openai/* ลบพินรันไทม์ของเซสชันและ
ทั้งเอเจนต์ที่ล้าสมัย และคงค่าที่แทนที่ไว้ของโปรไฟล์การยืนยันตัวตนเดิม
app-server ถูกปฏิเสธ: ใช้ Codex app-server รุ่นเสถียรจาก 0.143.0
ผ่าน 0.144.6 ที่รวมมาให้ ระบบจะปฏิเสธรุ่นก่อนเผยแพร่ รุ่นที่มีส่วนต่อท้ายของบิลด์ และรุ่นใหม่กว่า
ที่ยังไม่ผ่านการตรวจสอบ เนื่องจาก OpenClaw ตรวจสอบสคีมาที่สร้างขึ้น
เทียบกับเวอร์ชัน app-server ที่รวมมาให้
/codex status เชื่อมต่อไม่ได้: ตรวจสอบว่า Plugin codex
เปิดใช้งานอยู่, plugins.allow มี Plugin นี้รวมอยู่เมื่อ
กำหนด allowlist และ appServer.command, url, authToken แบบกำหนดเอง หรือ
ส่วนหัวต่าง ๆ ถูกต้อง
Codex app-server ใช้หน่วยความจำมากเกินไป: แยกแยะสองโพรเซสนี้
ก่อน OpenClaw เรียกใช้ Codex app-server ภายในเป็นโพรเซสลูก Rust แยกต่างหาก
NODE_OPTIONS=--max-old-space-size=... เปลี่ยนเฉพาะฮีป Node.js V8 ของ Gateway
โดยไม่ได้จำกัดหรือขยาย Codex การติดตั้ง Gateway แบบมีการจัดการเลือก
ฮีป V8 แบบปรับตามสถานการณ์อยู่แล้ว และการเพิ่มขนาดฮีปอาจทำให้เหลือหน่วยความจำของโฮสต์สำหรับ Codex น้อยลง ใช้
การแก้ปัญหาหน่วยความจำของ Gateway
สำหรับภาวะกดดันด้านหน่วยความจำของ Gateway และตรวจสอบหน่วยความจำของโฮสต์หรือคอนเทนเนอร์สำหรับโพรเซสลูก Codex
Codex ที่รวมมาให้ไม่มีขีดจำกัดฮีปหรือ RSS และไม่มีระยะหน่วงก่อนยกเลิกการโหลดเมื่อไม่มีการใช้งาน ที่กำหนดค่าได้ หลังจากไคลเอนต์รายสุดท้ายยกเลิกการสมัคร เธรดที่ไม่ทำงานอาจยังคงโหลดอยู่ ได้นานถึง 30 นาที บนโฮสต์ที่มีทรัพยากรจำกัด ให้ลดการกระจายงานของซับเอเจนต์ Codex แบบเนทีฟ ก่อนเพิ่มฮีป Gateway:
{ plugins: { entries: { codex: { config: { appServer: { args: ["-c", "agents.max_threads=3", "app-server", "--listen", "stdio://"], }, }, }, }, },}การตั้งค่านี้จำกัดเธรดลูกแบบเนทีฟสำหรับแบ็กเอนด์มัลติเอเจนต์เริ่มต้น
ของ Codex ที่รวมมาให้ หากเปิดใช้ Codex มัลติเอเจนต์ v2 อย่างชัดเจน ให้ใช้
features.multi_agent_v2.max_concurrent_threads_per_session=3 แทน โดยขีดจำกัดของ v2
รวมเธรดรากและไม่สามารถใช้ร่วมกับ agents.max_threads ได้
หากต้องการพื้นที่หน่วยความจำเผื่อสำหรับ Codex มากขึ้น ให้เพิ่มการจัดสรรหน่วยความจำของโฮสต์ คอนเทนเนอร์ หรือ cgroup
ขีดจำกัดตายตัวของระบบปฏิบัติการอาจยุติ Codex แทนที่จะใช้แรงดันย้อนกลับกับระบบ
การค้นหาโมเดลช้า: ลด
plugins.entries.codex.config.discovery.timeoutMs หรือปิดใช้การค้นหา
ดูข้อมูลอ้างอิง Codex harness
การขนส่ง WebSocket ล้มเหลวทันที: ตรวจสอบ appServer.url,
authToken, ส่วนหัว และตรวจสอบว่า app-server ระยะไกลใช้เวอร์ชันโปรโตคอล Codex
app-server เดียวกัน การขนส่ง WebSocket ของ Codex ยังคงอยู่ในขั้นทดลอง
และไม่รองรับ ควรใช้ stdio แบบมีการจัดการหรือซ็อกเก็ตควบคุม Unix ภายใน
เครื่องมือเชลล์หรือแพตช์แบบเนทีฟถูกบล็อกด้วย Native hook relay unavailable: เธรด Codex ยังคงพยายามใช้รหัสรีเลย์ฮุกแบบเนทีฟ
ที่ไม่ได้ลงทะเบียนไว้กับ OpenClaw อีกต่อไป นี่เป็นปัญหาการขนส่งฮุก Codex
แบบเนทีฟ ไม่ใช่ความล้มเหลวของแบ็กเอนด์ ACP, ผู้ให้บริการ, GitHub หรือคำสั่งเชลล์
เริ่มเซสชันใหม่ในแชตที่ได้รับผลกระทบด้วย /new หรือ /reset
แล้วลองคำสั่งที่ไม่เป็นอันตรายอีกครั้ง หากคำสั่งนั้นทำงานได้หนึ่งครั้ง แต่การเรียกเครื่องมือแบบเนทีฟ
ครั้งถัดไปล้มเหลวอีก ให้ถือว่า /new เป็นเพียงวิธีแก้ปัญหาชั่วคราว: คัดลอก
พรอมต์ไปยังเซสชันใหม่หลังจากรีสตาร์ต Codex app-server หรือ
OpenClaw Gateway เพื่อให้เธรดเก่าถูกทิ้งและสร้างการลงทะเบียนฮุกแบบเนทีฟ
ขึ้นใหม่
การเรียกเครื่องมือ Codex สร้างโพรเซสฮุกอายุสั้นมากเกินไป: ตั้งค่า
plugins.entries.codex.config.appServer.loopDetectionPreToolUseRelay: false
และรีสตาร์ต Gateway การดำเนินการนี้จะปิดใช้เฉพาะโพรเซสย่อย PreToolUse ของ Codex
ที่ใช้สำหรับการตรวจจับลูปของ OpenClaw และมาร์กเกอร์ที่ไม่มีนโยบาย รีเลย์
before_tool_call ที่จำเป็นและรีเลย์นโยบายเครื่องมือที่เชื่อถือได้จะยังคงเปิดใช้งาน
โมเดลที่ไม่ใช่ Codex ใช้ harness ในตัว: เป็นพฤติกรรมที่คาดไว้ เว้นแต่นโยบายรันไทม์ของผู้ให้บริการ
หรือโมเดลจะกำหนดเส้นทางไปยัง harness อื่น การอ้างอิงผู้ให้บริการธรรมดาที่ไม่ใช่ OpenAI
จะยังคงใช้เส้นทางผู้ให้บริการตามปกติในโหมด auto
ติดตั้ง Computer Use แล้ว แต่เครื่องมือไม่ทำงาน: ตรวจสอบ
/codex computer-use status จากเซสชันใหม่ หากเครื่องมือรายงาน
Native hook relay unavailable ให้ใช้วิธีกู้คืนรีเลย์ฮุกแบบเนทีฟข้างต้น
ดูCodex Computer Use