Bundled plugin guides

Plugin แบบเนทีฟของ Codex

การรองรับ Plugin แบบเนทีฟของ Codex ช่วยให้เอเจนต์ OpenClaw โหมด Codex ใช้ความสามารถของแอปและ Plugin ของ Codex app-server เองภายในเธรด Codex เดียวกันที่จัดการเทิร์นของ OpenClaw

OpenClaw ไม่แปล Plugin ของ Codex ให้เป็นเครื่องมือไดนามิก OpenClaw สังเคราะห์แบบ codex_plugin_* การเรียก Plugin จะอยู่ในทรานสคริปต์ Codex แบบเนทีฟ และ Codex app-server เป็นเจ้าของการดำเนินการ MCP ที่มีแอปรองรับ

ใช้หน้านี้หลังจาก Codex harness พื้นฐานทำงานแล้ว

ข้อกำหนด

  • รันไทม์เอเจนต์ OpenClaw ที่เลือกต้องเป็น Codex harness แบบเนทีฟ
  • plugins.entries.codex.enabled ต้องเป็น true
  • plugins.entries.codex.config.codexPlugins.enabled ต้องเป็น true
  • V1 รองรับเฉพาะ Plugin openai-curated ที่การย้ายข้อมูลตรวจพบว่าติดตั้งจากซอร์สไว้ในโฮม Codex ต้นทาง
  • Codex app-server เป้าหมายต้องมองเห็น marketplace, Plugin และรายการแอปที่คาดไว้ได้

codexPlugins ไม่มีผลกับการรัน OpenClaw, การรันผู้ให้บริการ OpenAI ปกติ, การผูกบทสนทนา ACP หรือ harness อื่นๆ เพราะเส้นทางเหล่านั้นไม่ได้สร้างเธรด Codex app-server ด้วยคอนฟิก apps แบบเนทีฟ

การเข้าถึง Codex ฝั่ง OpenAI, ความพร้อมใช้งานของแอป และการควบคุมแอป/Plugin ในเวิร์กสเปซมาจากบัญชี Codex ที่ลงชื่อเข้าใช้ สำหรับบัญชี OpenAI และโมเดลผู้ดูแลระบบ โปรดดู การใช้ Codex กับแผน ChatGPT ของคุณ

เริ่มต้นอย่างรวดเร็ว

ดูตัวอย่างการย้ายข้อมูลจากโฮม Codex ต้นทาง:

bash
openclaw migrate codex --dry-run

ใช้การตรวจสอบแอปต้นทางอย่างเข้มงวดเมื่อต้องการให้การย้ายข้อมูลตรวจสอบความสามารถในการเข้าถึงแอปต้นทางก่อนวางแผนเปิดใช้งาน Plugin แบบเนทีฟ:

bash
openclaw migrate codex --dry-run --verify-plugin-apps

ใช้การย้ายข้อมูลเมื่อแผนดูถูกต้อง:

bash
openclaw migrate apply codex --yes

การย้ายข้อมูลจะเขียนรายการ codexPlugins ที่ชัดเจนสำหรับ Plugin ที่มีสิทธิ์ และเรียก Codex app-server plugin/install สำหรับ Plugin ที่เลือก คอนฟิกที่ย้ายแล้วโดยทั่วไปมีลักษณะดังนี้:

json5
{  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 harness:

text
/codex plugins/codex plugins list/codex plugins disable google-calendar/codex plugins enable google-calendar

/codex plugins เป็นนามแฝงของ /codex plugins list เอาต์พุตรายการจะแสดงคีย์ Plugin ที่กำหนดค่าไว้ สถานะเปิด/ปิด ชื่อ Plugin ของ Codex และ marketplace จาก 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 harness
  • เข้าถึงได้: Codex app-server ยืนยันว่ารายการแอปของ Plugin พร้อมใช้งานสำหรับบัญชีที่ใช้งานอยู่ และสามารถแมปกับตัวตน Plugin ที่ย้ายข้อมูลมาได้

การย้ายข้อมูลเป็นขั้นตอนการติดตั้ง/การมีสิทธิ์ที่คงทน ระหว่างการวางแผน OpenClaw อ่านรายละเอียด plugin/read ของ Codex ต้นทาง และตรวจสอบว่าการตอบกลับบัญชีจาก Codex app-server ต้นทางเป็นบัญชีสมัครสมาชิก ChatGPT การตอบกลับบัญชีที่ไม่ใช่ ChatGPT หรือขาดหายไปจะข้าม Plugin ที่มีแอปรองรับด้วย codex_subscription_required โดยค่าเริ่มต้น การย้ายข้อมูลจะไม่เรียก app/list ต้นทาง; Plugin ต้นทางที่มีแอปรองรับและผ่านด่านบัญชีจะถูกวางแผนโดยไม่มีการตรวจสอบความสามารถในการเข้าถึงแอปต้นทาง และความล้มเหลวของทรานสปอร์ตในการค้นหาบัญชีจะถูกข้ามด้วย codex_account_unavailable เมื่อใช้ --verify-plugin-apps การย้ายข้อมูลจะถ่ายสแนปช็อต app/list ต้นทางใหม่ และกำหนดให้ทุกแอปที่เป็นเจ้าของต้องมีอยู่ เปิดใช้งาน และเข้าถึงได้ก่อนวางแผนการเปิดใช้งานแบบเนทีฟ ในโหมดนั้น ความล้มเหลวของทรานสปอร์ตในการค้นหาบัญชีจะตกไปยังด่านรายการแอปต้นทาง รายการแอปรันไทม์คือการตรวจสอบความสามารถในการเข้าถึงของเซสชันเป้าหมายหลังการย้ายข้อมูล จากนั้นการตั้งค่าเซสชัน Codex harness จะคำนวณคอนฟิกแอปเธรดแบบจำกัดสำหรับแอป Plugin ที่เปิดใช้งานและเข้าถึงได้

คอนฟิกแอปเธรดถูกคำนวณเมื่อ OpenClaw สร้างเซสชัน Codex harness หรือแทนที่การผูกเธรด Codex ที่ค้างเก่า ระบบจะไม่คำนวณใหม่ทุกเทิร์น ดังนั้น /codex plugins enable และ /codex plugins disable จึงมีผลกับบทสนทนา Codex ใหม่ ใช้ /new หรือ /reset เมื่อบทสนทนาปัจจุบันควรรับชุดแอปที่อัปเดต

ขอบเขตการรองรับ V1

V1 ตั้งใจให้แคบ:

  • เฉพาะ Plugin openai-curated ที่ติดตั้งอยู่แล้วในรายการ Codex app-server ต้นทางเท่านั้นที่มีสิทธิ์ย้ายข้อมูล
  • Plugin ต้นทางที่มีแอปรองรับต้องผ่านด่านการสมัครสมาชิก ณ เวลาย้ายข้อมูล --verify-plugin-apps เพิ่มด่านรายการแอปต้นทาง บัญชีที่ถูกจำกัดด้วยการสมัครสมาชิก รวมถึงในโหมดตรวจสอบ แอปต้นทางที่เข้าถึงไม่ได้ ปิดใช้งาน ขาดหายไป หรือความล้มเหลวในการรีเฟรชรายการแอปต้นทาง จะถูกรายงานเป็นรายการข้ามแบบแมนนวลแทนรายการคอนฟิกที่เปิดใช้งาน รายละเอียด Plugin ที่อ่านไม่ได้จะถูกข้ามก่อนด่านรายการแอปต้นทาง
  • การย้ายข้อมูลเขียนตัวตน Plugin ที่ชัดเจนด้วย marketplaceName และ pluginName; ไม่เขียนเส้นทางแคช marketplacePath ภายในเครื่อง
  • codexPlugins.enabled คือสวิตช์เปิดใช้งานส่วนกลาง
  • ไม่มีไวลด์การ์ด plugins["*"] และไม่มีคีย์คอนฟิกที่ให้สิทธิ์ติดตั้งโดยพลการ
  • marketplace ที่ไม่รองรับ, บันเดิล Plugin ที่แคชไว้, hook และไฟล์คอนฟิก Codex จะถูกเก็บไว้ในรายงานการย้ายข้อมูลเพื่อการตรวจสอบแบบแมนนวล

รายการแอปและความเป็นเจ้าของ

OpenClaw อ่านรายการแอป Codex ผ่าน app-server app/list แคชไว้หนึ่งชั่วโมง และรีเฟรชรายการที่ค้างเก่าหรือขาดหายไปแบบอะซิงโครนัส แคชอยู่ในหน่วยความจำเท่านั้น; การรีสตาร์ท CLI หรือ Gateway จะลบทิ้ง และ OpenClaw จะสร้างใหม่จากการอ่าน app/list ครั้งถัดไป

การย้ายข้อมูลและรันไทม์ใช้คีย์แคชแยกกัน:

  • การตรวจสอบการย้ายข้อมูลต้นทางใช้โฮม Codex ต้นทางและตัวเลือกเริ่มต้น app-server ต้นทาง สิ่งนี้ทำงานเฉพาะเมื่อตั้งค่า --verify-plugin-apps และบังคับการไล่ผ่าน app/list ต้นทางใหม่สำหรับการวางแผนครั้งนั้น
  • การตั้งค่ารันไทม์เป้าหมายใช้ตัวตน Codex app-server ของเอเจนต์เป้าหมายเมื่อสร้างคอนฟิกแอปเธรด 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" และ "ask" ตั้งค่า 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 ที่ย้ายข้อมูลมา ขณะที่สคีมาที่ไม่ปลอดภัยและความเป็นเจ้าของที่กำกวมยังคงปิดแบบ fail-closed:

  • allow_destructive_actions ส่วนกลางมีค่าเริ่มต้นเป็น true
  • allow_destructive_actions ราย Plugin จะแทนที่นโยบายส่วนกลางสำหรับ Plugin นั้น
  • เมื่อนโยบายเป็น false OpenClaw จะส่งคืนการปฏิเสธแบบกำหนดได้แน่นอน
  • เมื่อนโยบายเป็น true OpenClaw จะยอมรับอัตโนมัติเฉพาะสคีมาที่ปลอดภัยซึ่งแมปกับการตอบกลับการอนุมัติได้ เช่น ฟิลด์อนุมัติแบบบูลีน
  • เมื่อนโยบายเป็น "auto" OpenClaw เปิดเผยการดำเนินการ Plugin แบบทำลายล้างให้ Codex แต่เปลี่ยนการร้องขอการอนุมัติ MCP ที่พิสูจน์ความเป็นเจ้าของแล้วให้เป็นการอนุมัติ Plugin ของ OpenClaw ก่อนส่งคืนการตอบกลับการอนุมัติของ Codex
  • เมื่อนโยบายเป็น "ask" OpenClaw ใช้การควบคุมการเขียน/ทำลายล้างของ Codex แบบเดียวกับ "auto" ล้างการเขียนทับการอนุมัติเครื่องมือรายตัวแบบคงทนของ Codex สำหรับแอปก่อนเธรดเริ่ม และเสนอเฉพาะการอนุมัติหรือปฏิเสธแบบครั้งเดียว เพื่อไม่ให้การอนุมัติแบบคงทนกดทับพรอมป์การดำเนินการเขียนในภายหลังได้
  • สำหรับแต่ละแอปที่รับเข้าและใช้ "ask" OpenClaw เลือกผู้ตรวจสอบการอนุมัติแบบมนุษย์ของ Codex สำหรับแอปนั้น เพื่อให้ Codex ส่งการร้องขอการอนุมัติไปยัง OpenClaw แอปอื่นและการอนุมัติระดับเธรดที่ไม่ใช่แอปจะคงผู้ตรวจสอบและนโยบายที่กำหนดค่าไว้
  • ตัวตน 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 ต้นทางล้มเหลว แก้ไขการเข้าถึง Codex app-server ต้นทาง หรือลองใหม่โดยไม่มี --verify-plugin-apps หากคุณยอมรับแผนที่ผ่านด่านบัญชีซึ่งเร็วกว่า

codex_subscription_required: การย้ายข้อมูลไม่ได้ติดตั้ง Plugin ที่มีแอปรองรับ เพราะบัญชี Codex app-server ต้นทางไม่ได้เข้าสู่ระบบด้วยบัญชีสมัครสมาชิก ChatGPT ลงชื่อเข้าใช้แอป Codex ด้วยการตรวจสอบสิทธิ์แบบสมัครสมาชิก แล้วรันการย้ายข้อมูลอีกครั้ง

codex_account_unavailable: การย้ายข้อมูลไม่ได้ติดตั้ง Plugin ที่มีแอปรองรับ เพราะอ่านบัญชี Codex app-server ต้นทางไม่ได้ แก้ไขการตรวจสอบสิทธิ์ Codex app-server ต้นทาง หรือรันอีกครั้งด้วย --verify-plugin-apps หากคุณต้องการให้รายการแอปต้นทางตัดสินสิทธิ์เมื่อการค้นหาบัญชีล้มเหลว

marketplace_missing หรือ plugin_missing: Codex app-server เป้าหมายมองไม่เห็น marketplace หรือ Plugin openai-curated ที่คาดไว้ รันการย้ายข้อมูลอีกครั้งกับรันไทม์เป้าหมาย หรือตรวจสอบสถานะ Plugin ของ Codex app-server

app_inventory_missing หรือ app_inventory_stale: ความพร้อมของแอปมาจากแคชว่างหรือค้างเก่า OpenClaw จัดกำหนดการรีเฟรชแบบอะซิงโครนัสและแยกแอป Plugin ออกจนกว่าจะรู้ความเป็นเจ้าของและความพร้อม

app_ownership_ambiguous: รายการแอปตรงกันเฉพาะจากชื่อที่แสดง ดังนั้นแอปจึงไม่ถูกเปิดเผยต่อเธรด Codex

Config เปลี่ยนแล้ว แต่เอเจนต์มองไม่เห็นปลั๊กอิน: ใช้ /codex plugins list เพื่อยืนยันสถานะที่กำหนดค่าไว้ จากนั้นใช้ /new หรือ /reset การผูกเธรด Codex ที่มีอยู่จะเก็บการกำหนดค่าแอปที่เริ่มต้นมาด้วย จนกว่า OpenClaw จะสร้างเซสชันฮาร์เนสใหม่หรือแทนที่การผูกที่ล้าสมัย

การดำเนินการแบบทำลายถูกปฏิเสธ: ตรวจสอบค่า allow_destructive_actions ทั้งแบบส่วนกลางและต่อปลั๊กอิน แม้นโยบายจะเป็น true, "auto" หรือ "ask" สคีมาการร้องขอที่ไม่ปลอดภัยและตัวตนปลั๊กอินที่กำกวมก็ยังคงล้มเหลว แบบปิด

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

Was this useful?
On this page

On this page