Plugins
ชุดรวม Plugin
OpenClaw สามารถติดตั้ง Plugin จากระบบนิเวศภายนอกสามแห่ง ได้แก่ Codex, Claude และ Cursor สิ่งเหล่านี้เรียกว่า บันเดิล ซึ่งเป็นชุดเนื้อหาและข้อมูลเมตาที่ OpenClaw แมปไปยังความสามารถในตัว เช่น Skills, ฮุก และเครื่องมือ MCP
เหตุผลที่มีบันเดิล
Plugin ที่มีประโยชน์จำนวนมากเผยแพร่ในรูปแบบ Codex, Claude หรือ Cursor แทนที่จะ กำหนดให้ผู้เขียนเขียนใหม่เป็น Plugin แบบเนทีฟของ OpenClaw ทาง OpenClaw จะตรวจหารูปแบบเหล่านี้และแมปเนื้อหาที่รองรับไปยังชุดความสามารถในตัว คุณสามารถติดตั้งชุดคำสั่ง Claude หรือบันเดิลสกิล Codex แล้วใช้งานได้ทันที
ติดตั้งบันเดิล
ติดตั้งจากไดเรกทอรี ไฟล์เก็บถาวร หรือมาร์เก็ตเพลส
# ไดเรกทอรีภายในเครื่องopenclaw plugins install ./my-bundle # ไฟล์เก็บถาวรopenclaw plugins install ./my-bundle.tgz # มาร์เก็ตเพลสของ Claudeopenclaw plugins marketplace list <source>openclaw plugins install <plugin> --marketplace <source><source> คือพาธหรือรีโพซิทอรีมาร์เก็ตเพลสภายในเครื่อง หรือแหล่งที่มาจาก git/GitHub
ตรวจสอบการตรวจพบ
openclaw plugins listopenclaw plugins inspect <id>บันเดิลจะแสดง Format: bundle พร้อมค่า Bundle format: เป็น codex,
claude หรือ cursor
เริ่มระบบใหม่และใช้งาน
openclaw gateway restartความสามารถที่แมปแล้ว (Skills, ฮุก, เครื่องมือ MCP และค่าเริ่มต้น LSP) จะพร้อมใช้งานในเซสชันถัดไป
สิ่งที่ OpenClaw แมปจากบันเดิล
ปัจจุบันความสามารถของบันเดิลบางอย่างยังไม่สามารถทำงานใน OpenClaw ได้ ต่อไปนี้คือ ความสามารถที่ใช้งานได้ และความสามารถที่ตรวจพบแล้วแต่ยังไม่ได้เชื่อมต่อ
รองรับแล้วในขณะนี้
| ความสามารถ | วิธีการแมป | ใช้กับ |
|---|---|---|
| เนื้อหาสกิล | รูทสกิลของบันเดิลโหลดเป็นสกิล OpenClaw ตามปกติ | ทุกรูปแบบ |
| คำสั่ง | ถือว่า commands/ และ .cursor/commands/ เป็นรูทสกิล |
Claude, Cursor |
| ชุดฮุก | เลย์เอาต์รูปแบบ OpenClaw ที่ประกอบด้วย HOOK.md + handler.ts |
Codex |
| เครื่องมือ MCP | ผสานการกำหนดค่า MCP ของบันเดิลเข้ากับการตั้งค่า OpenClaw แบบฝัง และโหลดเซิร์ฟเวอร์ stdio และ HTTP ที่รองรับ | ทุกรูปแบบ |
| เซิร์ฟเวอร์ LSP | ผสาน .lsp.json ของ Claude และ lspServers ที่ประกาศในแมนิเฟสต์เข้ากับค่าเริ่มต้น LSP ของ OpenClaw แบบฝัง |
Claude |
| การตั้งค่า | นำเข้า settings.json ของ Claude เป็นค่าเริ่มต้นของ OpenClaw แบบฝัง |
Claude |
เนื้อหาสกิล
- รูทสกิลของบันเดิลโหลดเป็นรูทสกิล OpenClaw ตามปกติ
- ถือว่ารูท
commands/ของ Claude เป็นรูทสกิลเพิ่มเติม - ถือว่ารูท
.cursor/commands/ของ Cursor เป็นรูทสกิลเพิ่มเติม
ทั้งไฟล์คำสั่ง Markdown ของ Claude และ Markdown คำสั่งของ Cursor ทำงานผ่าน ตัวโหลดสกิลปกติของ OpenClaw
ชุดฮุก
รูทฮุกของบันเดิลจะทำงาน เฉพาะ เมื่อใช้เลย์เอาต์ชุดฮุกตามปกติของ OpenClaw
ซึ่งประกอบด้วย HOOK.md พร้อม handler.ts หรือ handler.js ปัจจุบันกรณีนี้
ส่วนใหญ่คือรูปแบบที่เข้ากันได้กับ Codex
MCP สำหรับ OpenClaw แบบฝัง
- บันเดิลที่เปิดใช้งานสามารถเพิ่มการกำหนดค่าเซิร์ฟเวอร์ MCP ได้
- OpenClaw ผสานการกำหนดค่า MCP ของบันเดิลเข้ากับการตั้งค่า OpenClaw แบบฝัง
ที่มีผลในชื่อ
mcpServers - OpenClaw เปิดให้ใช้เครื่องมือ MCP ของบันเดิลที่รองรับระหว่างเทิร์นของเอเจนต์ OpenClaw แบบฝัง โดยเปิดเซิร์ฟเวอร์ stdio หรือเชื่อมต่อกับเซิร์ฟเวอร์ HTTP
- โปรไฟล์เครื่องมือ
codingและmessagingรวมเครื่องมือ MCP ของบันเดิลไว้ โดยค่าเริ่มต้น ให้ใช้tools.deny: ["bundle-mcp"]เพื่อปิดการใช้สำหรับเอเจนต์หรือ Gateway - การตั้งค่าเอเจนต์แบบฝังเฉพาะโปรเจกต์ยังคงมีผลหลังค่าเริ่มต้นของบันเดิล ดังนั้น การตั้งค่าพื้นที่ทำงานจึงสามารถแทนที่รายการ MCP ของบันเดิลได้เมื่อจำเป็น
- แค็ตตาล็อกเครื่องมือ MCP ของบันเดิลจะถูกเรียงลำดับแบบกำหนดผลลัพธ์แน่นอนก่อนลงทะเบียน เพื่อให้
การเปลี่ยนลำดับ
listTools()จากต้นทางไม่ทำให้บล็อกเครื่องมือในแคชพรอมต์เปลี่ยนแปลงซ้ำไปมา
การขนส่ง
เซิร์ฟเวอร์ MCP สามารถใช้การขนส่งแบบ stdio หรือ HTTP
Stdio จะเปิดโพรเซสลูก:
{ "mcp": { "servers": { "my-server": { "command": "node", "args": ["server.js"], "env": { "PORT": "3000" } } } }}HTTP จะเชื่อมต่อกับเซิร์ฟเวอร์ MCP ที่กำลังทำงาน โดยใช้ sse เป็นค่าเริ่มต้น เว้นแต่
จะระบุให้ใช้ streamable-http:
{ "mcp": { "servers": { "my-server": { "url": "http://localhost:3100/mcp", "transport": "streamable-http", "headers": { "Authorization": "Bearer ${MY_SECRET_TOKEN}" }, "connectionTimeoutMs": 30000 } } }}transportยอมรับ"streamable-http"หรือ"sse"หากไม่ระบุจะใช้sseเป็นค่าเริ่มต้นtype: "http"เป็นรูปแบบปลายทางที่ CLI รองรับโดยตรง ให้ใช้transport: "streamable-http"ในการกำหนดค่า OpenClaw โดยopenclaw mcp setและopenclaw doctor --fixจะปรับนามแฝงที่ใช้กันทั่วไปให้เป็นรูปแบบมาตรฐาน- อนุญาตเฉพาะรูปแบบ URL
http:และhttps: - ค่าของ
headersรองรับการแทนค่าด้วย${ENV_VAR} - รายการเซิร์ฟเวอร์ที่มีทั้ง
commandและurlจะถูกปฏิเสธ - ข้อมูลประจำตัวใน URL (ข้อมูลผู้ใช้และพารามิเตอร์คิวรี) จะถูกปกปิดจากคำอธิบายเครื่องมือ และบันทึก
connectionTimeoutMsจะแทนที่ระยะหมดเวลาการเชื่อมต่อเริ่มต้น 30 วินาทีสำหรับ การขนส่งทั้งแบบ stdio และ HTTP ระยะหมดเวลาคำขอเริ่มต้นคือ 60 วินาที และ สามารถแทนที่ได้ด้วยrequestTimeoutMs
การตั้งชื่อเครื่องมือ
OpenClaw ลงทะเบียนเครื่องมือ MCP ของบันเดิลด้วยชื่อที่ปลอดภัยสำหรับผู้ให้บริการในรูปแบบ
serverName__toolName ตัวอย่างเช่น เซิร์ฟเวอร์ที่ใช้คีย์ "vigil-harbor" และเปิดให้ใช้
เครื่องมือ memory_search จะลงทะเบียนเป็น vigil-harbor__memory_search
- อักขระที่อยู่นอกช่วง
A-Za-z0-9_-จะถูกแทนที่ด้วย- - ส่วนประกอบที่ขึ้นต้นด้วยอักขระที่ไม่ใช่ตัวอักษรจะได้รับคำนำหน้าที่เป็นตัวอักษร ดังนั้นคีย์เซิร์ฟเวอร์
ที่เป็นตัวเลข เช่น
12306จะกลายเป็นคำนำหน้าชื่อเครื่องมือที่ปลอดภัยสำหรับผู้ให้บริการ - คำนำหน้าเซิร์ฟเวอร์จำกัดความยาวสูงสุด 30 อักขระ
- ชื่อเครื่องมือแบบเต็มจำกัดความยาวสูงสุด 64 อักขระ
- ชื่อเซิร์ฟเวอร์ว่างจะใช้
mcpแทน - ชื่อที่ผ่านการปรับให้ปลอดภัยแล้วและซ้ำกันจะถูกแยกความแตกต่างด้วยส่วนต่อท้ายตัวเลข
- ลำดับเครื่องมือที่เปิดเผยขั้นสุดท้ายจะถูกกำหนดอย่างแน่นอนตามชื่อที่ปลอดภัย ทำให้เทิร์น ของเอเจนต์แบบฝังที่เกิดซ้ำมีแคชคงที่
- การกรองโปรไฟล์ถือว่าเครื่องมือทุกตัวจากเซิร์ฟเวอร์ MCP ของบันเดิลหนึ่งรายการ
เป็นของ Plugin
bundle-mcpดังนั้นรายการอนุญาต/ปฏิเสธของโปรไฟล์จึงสามารถอ้างอิง ชื่อเครื่องมือที่เปิดเผยแต่ละรายการหรือคีย์ Pluginbundle-mcpได้
การตั้งค่า OpenClaw แบบฝัง
settings.json ของ Claude จะถูกนำเข้าเป็นการตั้งค่าเริ่มต้นของ OpenClaw แบบฝังเมื่อ
เปิดใช้งานบันเดิล OpenClaw จะปรับคีย์แทนที่เชลล์ให้ปลอดภัยก่อนนำไปใช้:
shellPathshellCommandPrefix
LSP ของ OpenClaw แบบฝัง
- บันเดิล Claude ที่เปิดใช้งานสามารถเพิ่มการกำหนดค่าเซิร์ฟเวอร์ LSP ได้
- OpenClaw โหลด
.lsp.jsonพร้อมพาธlspServersที่ประกาศในแมนิเฟสต์ - การกำหนดค่า LSP ของบันเดิลจะถูกผสานเข้ากับค่าเริ่มต้น LSP ของ OpenClaw แบบฝัง ที่มีผล
- ปัจจุบันสามารถเรียกใช้ได้เฉพาะเซิร์ฟเวอร์ LSP ที่รองรับและทำงานผ่าน stdio ส่วน
การขนส่งที่ไม่รองรับจะยังคงแสดงใน
openclaw plugins inspect <id>
ตรวจพบแต่ยังไม่เรียกใช้
รายการต่อไปนี้ได้รับการรู้จำและแสดงในการวินิจฉัย แต่ OpenClaw จะไม่เรียกใช้:
- Claude
agents, ระบบอัตโนมัติhooks/hooks.json,outputStyles - Cursor
.cursor/agents,.cursor/hooks.json,.cursor/rules - ข้อมูลเมตา
.app.jsonของ Codex นอกเหนือจากการรายงานความสามารถ
รูปแบบบันเดิล
บันเดิล Codex
ตัวบ่งชี้: .codex-plugin/plugin.json
เนื้อหาที่ไม่บังคับ: skills/, hooks/, .mcp.json, .app.json
บันเดิล Codex เหมาะกับ OpenClaw ที่สุดเมื่อใช้รูทสกิลและไดเรกทอรี
ชุดฮุกแบบ OpenClaw (HOOK.md + handler.ts)
บันเดิล Claude
มีวิธีตรวจพบสองแบบ:
- อิงแมนิเฟสต์:
.claude-plugin/plugin.json - ไม่มีแมนิเฟสต์: เลย์เอาต์เริ่มต้นของ Claude (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
ลักษณะการทำงานเฉพาะของ Claude:
- ถือว่า
commands/เป็นเนื้อหาสกิล - นำเข้า
settings.jsonไปยังการตั้งค่า OpenClaw แบบฝัง (คีย์แทนที่เชลล์จะถูกปรับให้ปลอดภัย) .mcp.jsonเปิดให้ OpenClaw แบบฝังใช้เครื่องมือ stdio ที่รองรับ.lsp.jsonพร้อมพาธlspServersที่ประกาศในแมนิเฟสต์จะโหลดเข้าสู่ค่าเริ่มต้น LSP ของ OpenClaw แบบฝัง- ตรวจพบ
hooks/hooks.jsonแต่ไม่เรียกใช้ - พาธคอมโพเนนต์แบบกำหนดเองในแมนิเฟสต์เป็นการเพิ่มต่อ โดยจะขยายค่าเริ่มต้น ไม่ใช่แทนที่ค่าเหล่านั้น
บันเดิล Cursor
ตัวบ่งชี้: .cursor-plugin/plugin.json
เนื้อหาที่ไม่บังคับ: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json
- ถือว่า
.cursor/commands/เป็นเนื้อหาสกิล .cursor/rules/,.cursor/agents/และ.cursor/hooks.jsonจะถูกตรวจพบเท่านั้น
ลำดับความสำคัญในการตรวจพบ
OpenClaw จะตรวจหารูปแบบ Plugin แบบเนทีฟก่อน:
openclaw.plugin.jsonหรือpackage.jsonที่ถูกต้องและมีopenclaw.extensions— ถือว่าเป็น Plugin แบบเนทีฟ- ตัวบ่งชี้บันเดิล (
.codex-plugin/,.claude-plugin/หรือเลย์เอาต์เริ่มต้นของ Claude/Cursor) — ถือว่าเป็น บันเดิล
หากไดเรกทอรีมีทั้งสองรูปแบบ OpenClaw จะใช้เส้นทางแบบเนทีฟ ซึ่งป้องกันไม่ให้ แพ็กเกจสองรูปแบบถูกติดตั้งเป็นบันเดิลเพียงบางส่วน
การขึ้นต่อกันของรันไทม์และการล้างข้อมูล
- บันเดิลที่เข้ากันได้จากบุคคลที่สามจะไม่ได้รับการซ่อมแซมด้วย
npm installระหว่างเริ่มระบบ ควรติดตั้งผ่านopenclaw plugins installและรวมทุกสิ่งที่จำเป็น ไว้ในไดเรกทอรี Plugin ที่ติดตั้ง - Plugin แบบบันเดิลที่ OpenClaw เป็นเจ้าของจะถูกรวมมาในคอร์แบบน้ำหนักเบา หรือ ดาวน์โหลดผ่านตัวติดตั้ง Plugin ได้ การเริ่มต้น Gateway จะไม่เรียกใช้ ตัวจัดการแพ็กเกจกับ Plugin เหล่านี้
openclaw doctor --fixจะลบระเบียนการติดตั้ง Plugin แบบบันเดิลภายในเครื่องที่ล้าสมัย และสามารถกู้คืน Plugin ที่ดาวน์โหลดได้ซึ่งหายไปจากดัชนี Plugin ภายในเครื่อง เมื่อการกำหนดค่ายังคงอ้างอิงถึง Plugin เหล่านั้น
ความปลอดภัย
บันเดิลมีขอบเขตความเชื่อถือที่แคบกว่า Plugin แบบเนทีฟ:
- OpenClaw ไม่ โหลดโมดูลรันไทม์ใดๆ ของบันเดิลภายในโพรเซสโดยพลการ
- พาธของ Skills และชุดฮุกต้องอยู่ภายในรูท Plugin (มีการตรวจสอบขอบเขต)
- ไฟล์การตั้งค่าจะถูกอ่านโดยใช้การตรวจสอบขอบเขตแบบเดียวกัน
- เซิร์ฟเวอร์ MCP แบบ stdio ที่รองรับอาจถูกเปิดเป็นโพรเซสย่อย
สิ่งนี้ทำให้บันเดิลปลอดภัยกว่าโดยค่าเริ่มต้น แต่คุณยังควรถือว่าบันเดิลจากบุคคลที่สาม เป็นเนื้อหาที่เชื่อถือได้สำหรับความสามารถที่บันเดิลเปิดให้ใช้
การแก้ไขปัญหา
ตรวจพบบันเดิลแล้วแต่ความสามารถไม่ทำงาน
เรียกใช้ openclaw plugins inspect <id> หากมีความสามารถอยู่ในรายการแต่ระบุว่า
ยังไม่ได้เชื่อมต่อ นั่นคือข้อจำกัดของผลิตภัณฑ์ ไม่ใช่การติดตั้งที่เสียหาย
ไฟล์คำสั่ง Claude ไม่ปรากฏ
ตรวจสอบว่าบันเดิลเปิดใช้งานแล้ว และไฟล์ Markdown อยู่ภายในรูท
commands/ หรือ skills/ ที่ตรวจพบ
การตั้งค่า Claude ไม่มีผล
รองรับเฉพาะการตั้งค่า OpenClaw แบบฝังจาก settings.json เท่านั้น OpenClaw
ไม่ถือว่าการตั้งค่าบันเดิลเป็นแพตช์การกำหนดค่าดิบ
ฮุก Claude ไม่ทำงาน
hooks/hooks.json ใช้สำหรับการตรวจพบเท่านั้น หากต้องการฮุกที่เรียกใช้ได้ ให้ใช้
เลย์เอาต์ชุดฮุกของ OpenClaw หรือเผยแพร่ Plugin แบบเนทีฟ
เนื้อหาที่เกี่ยวข้อง
- ติดตั้งและกำหนดค่า Plugin
- การสร้าง Plugin — สร้าง Plugin แบบเนทีฟ
- แมนิเฟสต์ Plugin — สคีมาแมนิเฟสต์แบบเนทีฟ