Plugin Builder & Sandbox
Gratis AI Agent v1.5.0 ได้เปิดตัว Plugin Builder & Sandbox System ซึ่งช่วยให้ผู้ช่วย AI สามารถสร้าง เปิดใช้งาน และจัดการปลั๊กอิน WordPress บนเครือข่ายของคุณได้ทั้งหมด ผ่านสภาพแวดล้อมแซนด์บ็อกซ์ (sandbox) ที่ปลอดภัยและแยกส่วน
ภาพรวม (Overview)
Plugin Builder ช่วยให้ผู้ช่วย AI สามารถเขียนปลั๊กอิน WordPress แบบกำหนดเองได้ตามคำขอที่เป็นภาษาธรรมชาติ ปลั๊กอินที่สร้างขึ้นจะถูกตรวจสอบความถูกต้อง จัดเก็บ และเปิดใช้งานภายในชั้นแซนด์บ็อกซ์ก่อนที่จะส่งผลกระทบต่อฟังก์ชันการทำงานของเว็บไซต์จริง
กรณีการใช้งาน ได้แก่:
- การสร้างปลั๊กอินยูทิลิตี้ (utility) น้ำหนักเบาโดยไม่ต้องให้ผู้พัฒนาเข้ามาเกี่ยวข้อง
- การสร้างต้นแบบ (prototyping) ฟีเจอร์ที่ต้องใช้ WordPress hooks หรือ custom post types
- การสร้างสคริปต์อัตโนมัติระยะสั้นสำหรับการดำเนินการแบบกลุ่ม (batch operations)
การสร้างปลั๊กอินด้วย AI
ในการสร้างปลั๊กอิน ให้เปิดหน้าต่างแชทของ Gratis AI Agent และอธิบายว่าคุณต้องการอะไร ตัวอย่างเช่น:
"สร้างปลั๊กอินที่เพิ่มประกาศแบบกำหนดเองบนหน้าแดชบอร์ด"
AI จะดำเนินการดังนี้:
- สร้างโค้ด PHP ของปลั๊กอินโดยใช้การสร้างโค้ดแบบมีโครงสร้าง (structured code generation)
- ตรวจสอบความถูกต้องของผลลัพธ์เพื่อหาข้อผิดพลาดทางไวยากรณ์และรูปแบบที่ไม่ปลอดภัย
- บันทึกปลั๊กอินที่สร้างขึ้นไปยังที่เก็บแซนด์บ็อกซ์ (sandbox store)
- ส่งการยืนยันพร้อมกับ slug ของปลั๊กอินและปุ่ม Activate in Sandbox
คุณสามารถปรับปรุงผลลัพธ์ได้โดยการตอบกลับในเธรดการสนทนาเดิมก่อนที่จะเปิดใช้งาน
การเปิดใช้งานในแซนด์บ็อกซ์ (Sandbox Activation)
การเปิดใช้งานปลั๊กอินที่สร้างขึ ้นในแซนด์บ็อกซ์นั้นแตกต่างจากการเปิดใช้งานบนเครือข่ายจริง แซนด์บ็อกซ์จะ:
- รันปลั๊กอินในสภาพแวดล้อม WordPress ที่แยกส่วน (wp-env)
- ดักจับข้อผิดพลาด คำเตือน หรือความขัดแย้งของ hook ของ PHP ใด ๆ
- รายงานผลการเปิดใช้งานกลับมาในหน้าต่างแชท
หากต้องการเปิดใช้งานปลั๊กอินในแซนด์บ็อกซ์ ให้คลิกปุ่ม Activate in Sandbox ในการตอบกลับของ AI หรือใช้คำสั่งสแลช (slash command):
/activate-plugin <plugin-slug>
ข้อความสถานะจะยืนยันว่าการเปิดใช้งานสำเร็จหรือไม่ หากล้มเหลว จะมีการแสดงบันทึกข้อผิดพลาดในเธรดแชท
การจัดการปลั๊กอินที่สร้างขึ้น (Managing Generated Plugins)
ปลั๊กอินที่สร้างขึ้นจะแสดงอยู่ใน Gratis AI Agent → Plugin Builder → Manage Plugins จากหน้าจอนี้คุณสามารถ:
| Action | Description |
|---|---|
| View source | ตรวจสอบโค้ด PHP ของปลั๊กอินทั้งหมด |
| Re-activate in sandbox | รันการตรวจสอบการเปิดใช้งานในแซนด์บ็อกซ์ซ้ำ |
| Install on network | ติดตั้งปลั๊กอินไปยังเครือข่ายจริง (ต้องมีการยืนยันด้วยตนเอง) |
| Update | ให้เวอร์ชันใหม่ผ่าน AI เพื่อแทนที่โค้ดเดิม |
| Delete | ลบปลั๊กอินออกจากที่เก็บแซนด์บ็อกซ์ จะทำการยกเลิกการใช้งานจากทุกไซต์ก่อน |
Install on network จะติดตั้งปลั๊กอินที่สร้างขึ้นไปยัง WordPress multisite จริงของคุณ โปรดตรวจสอบโค้ดปลั๊กอินก่อนดำเนินการ Gratis AI Agent จะแจ้งให้คุณยืนยันก่อนที่จะดำเนินการติดตั้งจริง
การติดตั้งปลั๊กอินที่สร้างขึ้นบนเครือข่าย (Installing a Generated Plugin on the Network)
เมื่อคุณพอใจกับปลั๊กอินที่ทดสอบในแซนด์บ็อกซ์แล้ว คุณสามารถติดตั้งมันบนเครือข่ายจริงได้:
- ไปที่ Gratis AI Agent → Plugin Builder → Manage Plugins
- คลิก Install on Network ถัดจากปลั๊กอินที่คุณต้องการติดตั้ง
- ยืนยันกล่องโต้ตอบ ปลั๊กอินจะถูกติดตั้งที่
wp-content/plugins/และเปิดใช้งานในระดับเครือข่าย
หรือใช้คำสั่งสแลชในหน้าต่างแชท:
/install-plugin <plugin-slug>
การอัปเดตปลั๊กอิน (Plugin Updates)
ในการอัปเดตปลั๊กอินที่สร้างขึ้น ให้คุณอธิบายการเปลี่ยนแปลงให้ผู้ช่วย AI ในการสนทนาใหม่:
"อัปเดตปลั๊กอิน dashboard-notice ให้แสดงประกาศเฉพาะผู้ดูแลระบบเท่านั้น"
AI จะสร้างเวอร์ชันใหม่ ซึ่งจะปรากฏในแซนด์บ็อกซ์พร้อมกับเวอร์ชันปัจจุบัน คุณสามารถตรวจสอบความแตกต่าง (diff) และยืนยันก่อนที่จะมีการอัปเดต
การรวม HookScanner
Plugin Builder ใช้ HookScanner ที่รวมเข้ามาเพื่อวิเคราะห์ hooks และ filters ที่ลงทะเบียนโดยปลั๊กอินที่สร้างขึ้นแต่ละตัว ผลลัพธ์ของ HookScanner จะแสดงในคำตอบแชทและประกอบด้วย:
- Action hooks ที่ลงทะเบียน (
add_actioncalls) - Filter hooks ที่ลงทะเบียน (
add_filtercalls) - hooks ใด ๆ ที่พบใน dependencies ของปลั๊กอิน (ข้ามไดเรกทอรี
vendor/และnode_modules/)
สิ่งนี้ช่วยให้คุณเข้าใจพฤติกรรมของปลั๊กอินก่อนที่จะเปิดใช้งานมัน
ข้อควรพิจารณาด้านความปลอดภัย (Security Considerations)
- ปลั๊กอินที่สร้างขึ้นจะถูกจัดเก็บแยกจากปลั๊กอินที่ติดตั้งด้วยตนเอง และจะไม่สามารถเข้าถึงได้ผ่านหน้าจอการจัดการปลั๊กอินมาตรฐานของ WordPress จนกว่าคุณจะติดตั้งมันบนเครือข่ายอย่างชัดเจน
- แซนด์บ็อกซ์ใช้การตรวจสอบเส้นทาง (path validation) เพื่อป้องกันการเข้าถึงไดเรกทอรี (directory traversal) เมื่อเขียนไฟล์ปลั๊กอิน
- ปลั๊กอินที่มีการเรียกใช้ฟังก์ชันอันตราย (เช่น
eval,exec,system) จะถูกทำเครื่องหมายระหว่างการตรวจสอบความถูกต้องและจะไม่สามารถเปิดใช้งานได้