Bundled plugin guides
Plugin Codex แบบเนทีฟ
การรองรับ Plugin แบบเนทีฟของ Codex ช่วยให้เอเจนต์ OpenClaw ในโหมด Codex ใช้ความสามารถของแอปและ Plugin ของ app-server ของ Codex เองได้ภายในเธรด Codex เดียวกับที่จัดการเทิร์นของ OpenClaw
OpenClaw ไม่แปลง Plugin ของ Codex ให้เป็นเครื่องมือไดนามิกสังเคราะห์ของ OpenClaw แบบ codex_plugin_* การเรียก Plugin จะคงอยู่ในบันทึกการสนทนา Codex แบบเนทีฟ และ app-server ของ Codex เป็นเจ้าของการเรียกใช้ MCP ที่มีแอปรองรับ
ใช้หน้านี้หลังจาก ฮาร์เนส Codex พื้นฐานทำงานแล้ว
ข้อกำหนด
- รันไทม์เอเจนต์ OpenClaw ที่เลือกต้องเป็นฮาร์เนส Codex แบบเนทีฟ
plugins.entries.codex.enabledต้องเป็น trueplugins.entries.codex.config.codexPlugins.enabledต้องเป็น true- V1 รองรับเฉพาะ Plugin
openai-curatedที่การย้ายข้อมูลพบว่าติดตั้งจากซอร์สไว้ในโฮม Codex ต้นทาง - app-server ของ Codex เป้าหมายต้องมองเห็นตลาดกลาง, Plugin, และรายการแอปที่คาดไว้ได้
codexPlugins ไม่มีผลกับการรัน OpenClaw, การรันผู้ให้บริการ OpenAI ปกติ, การผูกการสนทนา ACP, หรือฮาร์เนสอื่น เพราะเส้นทางเหล่านั้นไม่ได้สร้างเธรด app-server ของ Codex พร้อมคอนฟิก apps แบบเนทีฟ
สิทธิ์เข้าถึง Codex ฝั่ง OpenAI, ความพร้อมใช้งานของแอป, และการควบคุมแอป/Plugin ของเวิร์กสเปซมาจากบัญชี Codex ที่ลงชื่อเข้าใช้ สำหรับบัญชี OpenAI และโมเดลผู้ดูแลระบบ ดู การใช้ Codex กับแผน ChatGPT ของคุณ
เริ่มต้นอย่างรวดเร็ว
แสดงตัวอย่างการย้ายข้อมูลจากโฮม Codex ต้นทาง:
openclaw migrate codex --dry-runใช้การตรวจสอบแอปต้นทางแบบเข้มงวดเมื่อคุณต้องการให้การย้ายข้อมูลตรวจสอบการเข้าถึงแอปต้นทางก่อนวางแผนเปิดใช้งาน Plugin แบบเนทีฟ:
openclaw migrate codex --dry-run --verify-plugin-appsใช้การย้ายข้อมูลเมื่อแผนดูถูกต้อง:
openclaw migrate apply codex --yesการย้ายข้อมูลจะเขียนรายการ codexPlugins อย่างชัดเจนสำหรับ Plugin ที่เข้าเกณฑ์ และเรียก plugin/install ของ app-server ของ Codex สำหรับ Plugin ที่เลือก คอนฟิกที่ย้ายข้อมูลแล้วโดยทั่วไปมีลักษณะดังนี้:
{ plugins: { entries: { codex: { enabled: true, config: { codexPlugins: { enabled: true, allow_destructive_actions: true, plugins: { "google-calendar": { enabled: true, marketplaceName: "openai-curated", pluginName: "google-calendar", }, }, }, }, }, }, },}หลังจากเปลี่ยน codexPlugins การสนทนา Codex ใหม่จะรับชุดแอปที่อัปเดตโดยอัตโนมัติ ใช้ /new หรือ /reset เพื่อรีเฟรชการสนทนาปัจจุบัน ไม่จำเป็นต้องรีสตาร์ต Gateway สำหรับการเปลี่ยนแปลงการเปิดหรือปิดใช้งาน Plugin
จัดการ Plugin จากแชต
ใช้ /codex plugins เมื่อคุณต้องการตรวจสอบหรือเปลี่ยน Plugin Codex แบบเนทีฟที่กำหนดค่าไว้จากแชตเดียวกับที่คุณใช้งานฮาร์เนส Codex:
/codex plugins/codex plugins list/codex plugins disable google-calendar/codex plugins enable google-calendar/codex plugins เป็นนามแฝงของ /codex plugins list เอาต์พุตรายการจะแสดงคีย์ Plugin ที่กำหนดค่าไว้, สถานะเปิด/ปิด, ชื่อ Plugin ของ Codex, และตลาดกลางจาก plugins.entries.codex.config.codexPlugins.plugins
enable และ disable เขียนเฉพาะคอนฟิก OpenClaw ที่ ~/.openclaw/openclaw.json; ไม่แก้ไข ~/.codex/config.toml หรือติดตั้ง Plugin Codex ใหม่ เฉพาะเจ้าของหรือไคลเอนต์ Gateway ที่มีขอบเขต operator.admin เท่านั้นที่เปลี่ยนสถานะ Plugin ได้
การเปิดใช้งาน Plugin ที่กำหนดค่าไว้จะเปิดสวิตช์ส่วนกลาง codexPlugins.enabled ด้วย หาก Plugin ถูกเขียนเป็นปิดใช้งานเพราะการย้ายข้อมูลคืนค่า auth_required ให้ให้สิทธิ์แอปอีกครั้งใน Codex ก่อนเปิดใช้งานใน OpenClaw
การตั้งค่า Plugin แบบเนทีฟทำงานอย่างไร
การผสานรวมมีสถานะแยกกันสามสถานะ:
- ติดตั้งแล้ว: Codex มีบันเดิล Plugin ในเครื่องอยู่ในรันไทม์ app-server เป้าหมาย
- เปิดใช้งานแล้ว: คอนฟิก OpenClaw ยินยอมให้ Plugin พร้อมใช้งานสำหรับเทิร์นของฮาร์เนส Codex
- เข้าถึงได้: app-server ของ Codex ยืนยันว่ารายการแอปของ Plugin พร้อมใช้งานสำหรับบัญชีที่ใช้งานอยู่ และสามารถแมปกับตัวตน Plugin ที่ย้ายข้อมูลมาได้
การย้ายข้อมูลคือขั้นตอนการติดตั้ง/ตรวจคุณสมบัติที่คงทน ระหว่างการวางแผน OpenClaw อ่านรายละเอียด plugin/read ของ Codex ต้นทาง และตรวจว่าการตอบกลับบัญชีของ app-server ของ Codex ต้นทางเป็นบัญชีสมัครสมาชิก ChatGPT การตอบกลับบัญชีที่ไม่ใช่ ChatGPT หรือขาดหายจะข้าม Plugin ที่มีแอปรองรับด้วย codex_subscription_required โดยค่าเริ่มต้น การย้ายข้อมูลไม่เรียก app/list ต้นทาง; Plugin ต้นทางที่มีแอปรองรับซึ่งผ่านด่านบัญชีจะถูกวางแผนโดยไม่มีการตรวจสอบการเข้าถึงแอปต้นทาง และความล้มเหลวด้านทรานสปอร์ตในการค้นหาบัญชีจะข้ามด้วย codex_account_unavailable เมื่อใช้ --verify-plugin-apps การย้ายข้อมูลจะถ่ายสแนปช็อต app/list ต้นทางใหม่ และกำหนดให้ทุกแอปที่เป็นเจ้าของต้องมีอยู่ เปิดใช้งาน และเข้าถึงได้ก่อนวางแผนการเปิดใช้งานแบบเนทีฟ ในโหมดนั้น ความล้มเหลวด้านทรานสปอร์ตในการค้นหาบัญชีจะตกต่อไปยังด่านรายการแอปต้นทาง รายการแอปรันไทม์คือการตรวจสอบการเข้าถึงของเซสชันเป้าหมายหลังการย้ายข้อมูล จากนั้นการตั้งค่าเซสชันฮาร์เนส Codex จะคำนวณคอนฟิกแอปเธรดแบบจำกัดสำหรับแอป Plugin ที่เปิดใช้งานและเข้าถึงได้
คอนฟิกแอปเธรดจะถูกคำนวณเมื่อ OpenClaw สร้างเซสชันฮาร์เนส Codex หรือแทนที่การผูกเธรด Codex ที่ค้างเก่า ไม่ได้คำนวณใหม่ในทุกเทิร์น ดังนั้น /codex plugins enable และ /codex plugins disable จึงมีผลกับการสนทนา Codex ใหม่ ใช้ /new หรือ /reset เมื่อการสนทนาปัจจุบันควรรับชุดแอปที่อัปเดต
ขอบเขตการรองรับ V1
V1 ถูกจำกัดโดยตั้งใจ:
- เฉพาะ Plugin
openai-curatedที่ติดตั้งอยู่แล้วในรายการ app-server ของ Codex ต้นทางเท่านั้นที่เข้าเกณฑ์สำหรับการย้ายข้อมูล - Plugin ต้นทางที่มีแอปรองรับต้องผ่านด่านการสมัครสมาชิก ณ เวลาย้ายข้อมูล
--verify-plugin-appsเพิ่มด่านรายการแอปต้นทาง บัญชีที่ถูกจำกัดด้วยการสมัครสมาชิก รวมถึงในโหมดตรวจสอบ แอปต้นทางที่เข้าถึงไม่ได้, ปิดใช้งาน, ขาดหาย หรือความล้มเหลวในการรีเฟรชรายการแอปต้นทาง จะถูกรายงานเป็นรายการแบบแมนนวลที่ถูกข้ามแทนรายการคอนฟิกที่เปิดใช้งาน รายละเอียด Plugin ที่อ่านไม่ได้จะถูกข้ามก่อนด่านรายการแอปต้นทาง - การย้ายข้อมูลเขียนตัวตน Plugin อย่างชัดเจนด้วย
marketplaceNameและpluginName; ไม่เขียนพาธแคชmarketplacePathในเครื่อง codexPlugins.enabledคือสวิตช์เปิดใช้งานส่วนกลาง- ไม่มีไวลด์การ์ด
plugins["*"]และไม่มีคีย์คอนฟิกที่ให้สิทธิ์ติดตั้งตามอำเภอใจ - ตลาดกลางที่ไม่รองรับ, บันเดิล Plugin ที่แคชไว้, hook, และไฟล์คอนฟิก Codex จะถูกเก็บไว้ในรายงานการย้ายข้อมูลเพื่อให้ตรวจสอบแบบแมนนวล
รายการแอปและความเป็นเจ้าของ
OpenClaw อ่านรายการแอป Codex ผ่าน app/list ของ app-server, แคชไว้หนึ่งชั่วโมง, และรีเฟรชรายการที่ค้างเก่าหรือขาดหายแบบอะซิงโครนัส แคชอยู่ในหน่วยความจำเท่านั้น; การรีสตาร์ต CLI หรือ Gateway จะทิ้งแคช และ OpenClaw จะสร้างใหม่จากการอ่าน app/list ครั้งถัดไป
การย้ายข้อมูลและรันไทม์ใช้คีย์แคชแยกกัน:
- การตรวจสอบการย้ายข้อมูลต้นทางใช้โฮม Codex ต้นทางและตัวเลือกเริ่ม app-server ต้นทาง สิ่งนี้ทำงานเฉพาะเมื่อกำหนด
--verify-plugin-appsและบังคับการไล่ผ่านapp/listต้นทางใหม่สำหรับการวางแผนครั้งนั้น - การตั้งค่ารันไทม์เป้าหมายใช้ตัวตน app-server ของ Codex ของเอเจนต์เป้าหมายเมื่อสร้างคอนฟิกแอปเธรด Codex การเปิดใช้งาน Plugin จะทำให้คีย์แคชเป้าหมายนั้นใช้ไม่ได้ แล้วจึงบังคับรีเฟรชหลัง
plugin/install
แอป Plugin จะถูกเปิดเผยเฉพาะเมื่อ OpenClaw สามารถแมปกลับไปยัง Plugin ที่ย้ายข้อมูลผ่านความเป็นเจ้าของที่เสถียร:
- รหัสแอปตรงจากรายละเอียด Plugin
- ชื่อเซิร์ฟเวอร์ MCP ที่รู้จัก
- เมทาดาทาที่เสถียรและไม่ซ้ำ
ความเป็นเจ้าของที่ตรงกันเฉพาะชื่อที่แสดงหรือกำกวมจะถูกตัดออกจนกว่าการรีเฟรชรายการครั้งถัดไปจะพิสูจน์ความเป็นเจ้าของ
คอนฟิกแอปเธรด
OpenClaw ฉีดแพตช์ config.apps แบบจำกัดสำหรับเธรด Codex: _default ถูกปิดใช้งาน และเปิดใช้งานเฉพาะแอปที่เป็นของ Plugin ที่ย้ายข้อมูลและเปิดใช้งานแล้วเท่านั้น
OpenClaw ตั้งค่า destructive_enabled ระดับแอปจากนโยบาย allow_destructive_actions ส่วนกลางหรือราย Plugin ที่มีผล และให้ Codex บังคับใช้เมทาดาทาเครื่องมือทำลายล้างจากคำอธิบายประกอบเครื่องมือแอปแบบเนทีฟของตน true, "auto", และ "always" ตั้งค่า destructive_enabled: true; false ตั้งค่าเป็น false คอนฟิกแอป _default ถูกปิดใช้งานด้วย open_world_enabled: false แอป Plugin ที่เปิดใช้งานจะถูกปล่อยออกมาพร้อม open_world_enabled: true; OpenClaw ไม่เปิดเผยปุ่มปรับนโยบาย open-world แยกสำหรับ Plugin และไม่ดูแลรายการปฏิเสธชื่อเครื่องมือทำลายล้างราย Plugin
โหมดอนุมัติเครื่องมือเป็นอัตโนมัติโดยค่าเริ่มต้นสำหรับแอป Plugin เพื่อให้เครื่องมืออ่านที่ไม่ทำลายล้างทำงานได้โดยไม่มี UI อนุมัติในเธรดเดียวกัน เครื่องมือทำลายล้างยังคงถูกควบคุมโดยนโยบาย destructive_enabled ของแต่ละแอป
นโยบายการกระทำทำลายล้าง
การขอให้ดำเนินการ Plugin แบบทำลายล้างได้รับอนุญาตโดยค่าเริ่มต้นสำหรับ Plugin Codex ที่ย้ายข้อมูลแล้ว ขณะที่สคีมาที่ไม่ปลอดภัยและความเป็นเจ้าของที่กำกวมยังคงปิดล้มเหลว:
allow_destructive_actionsส่วนกลางมีค่าเริ่มต้นเป็นtrueallow_destructive_actionsราย Plugin จะแทนที่นโยบายส่วนกลางสำหรับ Plugin นั้น- เมื่อนโยบายเป็น
falseOpenClaw จะคืนค่าการปฏิเสธที่กำหนดแน่นอน - เมื่อนโยบายเป็น
trueOpenClaw จะยอมรับอัตโนมัติเฉพาะสคีมาที่ปลอดภัยซึ่งสามารถแมปเป็นการตอบกลับการอนุมัติได้ เช่น ฟิลด์อนุมัติแบบบูลีน - เมื่อนโยบายเป็น
"auto"OpenClaw จะเปิดเผยการกระทำ Plugin แบบทำลายล้างต่อ Codex แต่เปลี่ยนการขออนุมัติ MCP ที่พิสูจน์ความเป็นเจ้าของแล้วให้เป็นการอนุมัติ Plugin ของ OpenClaw ก่อนส่งคืนการตอบกลับการอนุมัติของ Codex - เมื่อนโยบายเป็น
"always"OpenClaw ใช้การควบคุมการเขียน/ทำลายล้างของ Codex แบบเดียวกับ"auto", ล้างการแทนที่การอนุมัติรายเครื่องมือแบบคงทนของ Codex สำหรับแอปก่อนเธรดเริ่ม, และเสนอเฉพาะการอนุมัติหรือปฏิเสธแบบครั้งเดียว เพื่อไม่ให้การอนุมัติแบบคงทนระงับพรอมป์การกระทำเขียนในภายหลังได้ - ตัวตน Plugin ที่ขาดหาย, ความเป็นเจ้าของที่กำกวม, รหัสเทิร์นที่ขาดหาย, รหัสเทิร์นที่ผิด, หรือสคีมาการขอให้ดำเนินการที่ไม่ปลอดภัย จะปฏิเสธแทนการถาม
การแก้ไขปัญหา
auth_required: การย้ายข้อมูลติดตั้ง Plugin แล้ว แต่หนึ่งในแอปของ Plugin ยังต้องมีการยืนยันตัวตน รายการ Plugin ที่ชัดเจนจะถูกเขียนเป็นปิดใช้งานจนกว่าคุณจะให้สิทธิ์อีกครั้งและเปิดใช้งาน
app_inaccessible, app_disabled, หรือ app_missing:
การย้ายข้อมูลไม่ได้ติดตั้ง Plugin เพราะรายการแอปของ Codex ต้นทางไม่ได้แสดงแอปทั้งหมดที่เป็นเจ้าของว่ามีอยู่ เปิดใช้งาน และเข้าถึงได้ขณะตั้งค่า --verify-plugin-apps ให้ให้สิทธิ์อีกครั้งหรือเปิดใช้งานแอปใน Codex แล้วรันการย้ายข้อมูลอีกครั้งด้วย --verify-plugin-apps
app_inventory_unavailable: การย้ายข้อมูลไม่ได้ติดตั้ง Plugin เพราะมีการร้องขอการตรวจสอบแอปต้นทางแบบเข้มงวด และการรีเฟรชรายการแอป Codex ต้นทางล้มเหลว แก้ไขการเข้าถึง app-server ของ Codex ต้นทาง หรือลองใหม่โดยไม่มี --verify-plugin-apps หากคุณยอมรับแผนที่เร็วกว่าและผ่านด่านบัญชี
codex_subscription_required: การย้ายข้อมูลไม่ได้ติดตั้ง Plugin ที่มีแอปรองรับ เพราะบัญชี app-server ของ Codex ต้นทางไม่ได้เข้าสู่ระบบด้วยบัญชีสมัครสมาชิก ChatGPT เข้าสู่ระบบแอป Codex ด้วยการยืนยันตัวตนแบบสมัครสมาชิก แล้วรันการย้ายข้อมูลอีกครั้ง
codex_account_unavailable: การย้ายข้อมูลไม่ได้ติดตั้ง Plugin ที่มีแอปรองรับ เพราะไม่สามารถอ่านบัญชี app-server ของ Codex ต้นทางได้ แก้ไขการยืนยันตัวตน app-server ของ Codex ต้นทาง หรือรันใหม่ด้วย --verify-plugin-apps หากคุณต้องการให้รายการแอปต้นทางตัดสินคุณสมบัติเมื่อการค้นหาบัญชีล้มเหลว
marketplace_missing หรือ plugin_missing: app-server ของ Codex เป้าหมายมองไม่เห็นตลาดกลางหรือ Plugin openai-curated ที่คาดไว้ รันการย้ายข้อมูลใหม่กับรันไทม์เป้าหมาย หรือตรวจสอบสถานะ Plugin ของ app-server ของ Codex
app_inventory_missing หรือ app_inventory_stale: ความพร้อมของแอปมาจากแคชที่ว่างเปล่าหรือค้างเก่า OpenClaw จัดกำหนดการรีเฟรชแบบอะซิงก์และตัดแอป Plugin ออกจนกว่าจะรู้ความเป็นเจ้าของและความพร้อม
app_ownership_ambiguous: รายการแอปตรงกันเฉพาะตามชื่อที่แสดง ดังนั้นแอปจึงไม่ถูกเปิดเผยต่อเธรด Codex
คอนฟิกเปลี่ยนแล้วแต่เอเจนต์มองไม่เห็น Plugin: ใช้ /codex plugins list เพื่อยืนยันสถานะที่กำหนดค่าไว้ แล้วใช้ /new หรือ /reset การผูกเธรด Codex ที่มีอยู่จะเก็บคอนฟิกแอปที่เริ่มต้นไว้จนกว่า OpenClaw จะสร้างเซสชันฮาร์เนสใหม่หรือแทนที่การผูกที่ค้างเก่า
การดำเนินการแบบทำลายถูกปฏิเสธ: ตรวจสอบค่า allow_destructive_actions ทั้งแบบส่วนกลางและราย Plugin แม้นโยบายจะเป็น true, "auto" หรือ "always" สคีมาการร้องขอข้อมูลที่ไม่ปลอดภัยและตัวตน Plugin ที่กำกวมก็ยังคงถูกปิดกั้น