Plugins
ชุดรวม Plugin
OpenClaw สามารถติดตั้ง Plugin จากระบบนิเวศภายนอกได้สามแบบ: Codex, Claude, และ Cursor สิ่งเหล่านี้เรียกว่า บันเดิล ซึ่งเป็นแพ็กเนื้อหาและเมทาดาทาที่ OpenClaw จับคู่เข้ากับฟีเจอร์เนทีฟ เช่น skills, hooks และเครื่องมือ MCP
เหตุผลที่มีบันเดิล
Plugin ที่มีประโยชน์จำนวนมากเผยแพร่ในรูปแบบ Codex, Claude หรือ Cursor แทนที่ จะบังคับให้ผู้เขียนเขียนใหม่เป็น Plugin เนทีฟของ OpenClaw OpenClaw จะตรวจจับ รูปแบบเหล่านี้และจับคู่เนื้อหาที่รองรับเข้ากับชุดฟีเจอร์เนทีฟ ซึ่งหมายความว่าคุณสามารถ ติดตั้งแพ็กคำสั่ง Claude หรือบันเดิล skill ของ Codex แล้วใช้งานได้ทันที
ติดตั้งบันเดิล
Install from a directory, archive, or marketplace
# ไดเรกทอรีภายในเครื่อง
openclaw plugins install ./my-bundle
# ไฟล์เก็บถาวร
openclaw plugins install ./my-bundle.tgz
# ตลาด Claude
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
Verify detection
openclaw plugins list
openclaw plugins inspect <id>
บันเดิลจะแสดงเป็น Format: bundle พร้อมประเภทย่อยเป็น codex, claude หรือ cursor
Restart and use
openclaw gateway restart
ฟีเจอร์ที่ถูกจับคู่ (skills, hooks, เครื่องมือ MCP, ค่าเริ่มต้น LSP) จะพร้อมใช้งานในเซสชันถัดไป
สิ่งที่ OpenClaw จับคู่จากบันเดิล
ไม่ใช่ทุกฟีเจอร์ของบันเดิลจะทำงานใน OpenClaw ได้ในวันนี้ ด้านล่างคือสิ่งที่ใช้งานได้และสิ่งที่ ตรวจพบแล้วแต่ยังไม่ได้เชื่อมต่อ
รองรับแล้วในตอนนี้
| ฟีเจอร์ | วิธีที่จับคู่ | ใช้กับ |
|---|---|---|
| เนื้อหา Skill | รูท skill ของบันเดิลโหลดเป็น skills ปกติของ OpenClaw | ทุกรูปแบบ |
| คำสั่ง | commands/ และ .cursor/commands/ ถูกถือเป็นรูท skill |
Claude, Cursor |
| แพ็ก Hook | เลย์เอาต์แบบ OpenClaw HOOK.md + handler.ts |
Codex |
| เครื่องมือ MCP | คอนฟิก MCP ของบันเดิลถูกรวมเข้ากับการตั้งค่า Pi แบบฝัง; โหลดเซิร์ฟเวอร์ stdio และ HTTP ที่รองรับ | ทุกรูปแบบ |
| เซิร์ฟเวอร์ LSP | .lsp.json ของ Claude และ lspServers ที่ประกาศใน manifest ถูกรวมเข้ากับค่าเริ่มต้น LSP ของ Pi แบบฝัง |
Claude |
| การตั้งค่า | settings.json ของ Claude ถูกนำเข้าเป็นค่าเริ่มต้นของ Pi แบบฝัง |
Claude |
เนื้อหา Skill
- รูท skill ของบันเดิลโหลดเป็นรูท skill ปกติของ OpenClaw
- รูท
commandsของ Claude ถูกถือเป็นรูท skill เพิ่มเติม - รูท
.cursor/commandsของ Cursor ถูกถือเป็นรูท skill เพิ่มเติม
ซึ่งหมายความว่าไฟล์คำสั่ง markdown ของ Claude ทำงานผ่านตัวโหลด skill ปกติของ OpenClaw markdown คำสั่งของ Cursor ทำงานผ่านเส้นทางเดียวกัน
แพ็ก Hook
- รูท hook ของบันเดิลทำงานได้ เฉพาะ เมื่อใช้เลย์เอาต์ hook-pack ปกติของ OpenClaw
ปัจจุบันกรณีนี้คือแบบที่เข้ากันได้กับ Codex เป็นหลัก:
HOOK.mdhandler.tsหรือhandler.js
MCP สำหรับ Pi
- บันเดิลที่เปิดใช้งานสามารถส่งคอนฟิกเซิร์ฟเวอร์ MCP เพิ่มได้
- OpenClaw รวมคอนฟิก MCP ของบันเดิลเข้ากับการตั้งค่า Pi แบบฝังที่มีผลจริงในชื่อ
mcpServers - OpenClaw เปิดเผยเครื่องมือ MCP ของบันเดิลที่รองรับระหว่างเทิร์นของเอเจนต์ Pi แบบฝัง โดย เปิดเซิร์ฟเวอร์ stdio หรือเชื่อมต่อกับเซิร์ฟเวอร์ HTTP
- โปรไฟล์เครื่องมือ
codingและmessagingรวมเครื่องมือ MCP ของบันเดิลโดย ค่าเริ่มต้น; ใช้tools.deny: ["bundle-mcp"]เพื่อเลือกไม่ใช้สำหรับเอเจนต์หรือ gateway - การตั้งค่า Pi ภายในโปรเจกต์ยังคงมีผลหลังค่าเริ่มต้นของบันเดิล ดังนั้นการตั้งค่า workspace สามารถแทนที่รายการ MCP ของบันเดิลได้เมื่อจำเป็น
- แค็ตตาล็อกเครื่องมือ MCP ของบันเดิลถูกเรียงอย่างกำหนดแน่นอนก่อนการลงทะเบียน ดังนั้น
การเปลี่ยนลำดับ
listTools()จากต้นทางจะไม่ทำให้บล็อกเครื่องมือของ prompt-cache เปลี่ยนไปมา
การขนส่ง
เซิร์ฟเวอร์ 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"; เมื่อไม่ได้ระบุ OpenClaw จะใช้ssetype: "http"เป็นรูปแบบปลายทางแบบ CLI-native; ใช้transport: "streamable-http"ในคอนฟิก OpenClawopenclaw mcp setและopenclaw doctor --fixจะปรับ alias ทั่วไปให้เป็นมาตรฐาน- อนุญาตเฉพาะ URL scheme
http:และhttps: - ค่า
headersรองรับการแทนค่า${ENV_VAR} - รายการเซิร์ฟเวอร์ที่มีทั้ง
commandและurlจะถูกปฏิเสธ - ข้อมูลรับรองใน URL (userinfo และ query params) จะถูกปกปิดจากคำอธิบายเครื่องมือ และบันทึก
connectionTimeoutMsแทนที่ค่า timeout การเชื่อมต่อเริ่มต้น 30 วินาทีสำหรับ การขนส่งทั้ง stdio และ HTTP
การตั้งชื่อเครื่องมือ
OpenClaw ลงทะเบียนเครื่องมือ MCP ของบันเดิลด้วยชื่อที่ปลอดภัยสำหรับ provider ในรูปแบบ
serverName__toolName ตัวอย่างเช่น เซิร์ฟเวอร์ที่ใช้คีย์ "vigil-harbor" และเปิดเผยเครื่องมือ
memory_search จะลงทะเบียนเป็น vigil-harbor__memory_search
- อักขระนอก
A-Za-z0-9_-จะถูกแทนที่ด้วย- - คำนำหน้าเซิร์ฟเวอร์จำกัดไว้ที่ 30 อักขระ
- ชื่อเครื่องมือเต็มจำกัดไว้ที่ 64 อักขระ
- ชื่อเซิร์ฟเวอร์ว่างจะ fallback เป็น
mcp - ชื่อที่ผ่านการ sanitize แล้วซ้ำกันจะถูกแยกความแตกต่างด้วย suffix ตัวเลข
- ลำดับเครื่องมือที่เปิดเผยสุดท้ายกำหนดแน่นอนตามชื่อปลอดภัย เพื่อให้เทิร์น Pi ซ้ำๆ มีแคชที่เสถียร
- การกรองโปรไฟล์ถือว่าเครื่องมือทั้งหมดจากเซิร์ฟเวอร์ MCP ของบันเดิลเดียวเป็นของ plugin
โดย
bundle-mcpดังนั้น allowlists และ deny lists ของโปรไฟล์สามารถรวมได้ทั้ง ชื่อเครื่องมือที่เปิดเผยรายตัวหรือคีย์ Pluginbundle-mcp
การตั้งค่า Pi แบบฝัง
settings.jsonของ Claude ถูกนำเข้าเป็นการตั้งค่า Pi แบบฝังเริ่มต้นเมื่อ เปิดใช้งานบันเดิล- OpenClaw sanitize คีย์ shell override ก่อนนำไปใช้
คีย์ที่ถูก sanitize:
shellPathshellCommandPrefix
LSP ของ Pi แบบฝัง
- บันเดิล Claude ที่เปิดใช้งานสามารถส่งคอนฟิกเซิร์ฟเวอร์ LSP เพิ่มได้
- OpenClaw โหลด
.lsp.jsonรวมถึงพาธlspServersที่ประกาศใน manifest - คอนฟิก LSP ของบันเดิลถูกรวมเข้ากับค่าเริ่มต้น LSP ของ Pi แบบฝังที่มีผลจริง
- ปัจจุบันรันได้เฉพาะเซิร์ฟเวอร์ LSP แบบ stdio-backed ที่รองรับ; การขนส่งที่ไม่รองรับ
ยังแสดงใน
openclaw plugins inspect <id>
ตรวจพบแล้วแต่ไม่ถูกเรียกใช้งาน
รายการเหล่านี้ถูกรู้จักและแสดงในการวินิจฉัย แต่ OpenClaw ไม่ได้รัน:
agents, อัตโนมัติhooks.json,outputStylesของ Claude.cursor/agents,.cursor/hooks.json,.cursor/rulesของ Cursor- เมทาดาทา inline/app ของ Codex นอกเหนือจากการรายงานความสามารถ
รูปแบบบันเดิล
Codex bundles
ตัวบ่งชี้: .codex-plugin/plugin.json
เนื้อหาเสริม: skills/, hooks/, .mcp.json, .app.json
บันเดิล Codex เข้ากับ OpenClaw ได้ดีที่สุดเมื่อใช้รูท skill และไดเรกทอรี
hook-pack แบบ OpenClaw (HOOK.md + handler.ts)
Claude bundles
โหมดการตรวจจับสองแบบ:
- อิง Manifest:
.claude-plugin/plugin.json - ไม่มี Manifest: เลย์เอาต์ Claude เริ่มต้น (
skills/,commands/,agents/,hooks/,.mcp.json,.lsp.json,settings.json)
พฤติกรรมเฉพาะของ Claude:
commands/ถูกถือเป็นเนื้อหา skillsettings.jsonถูกนำเข้าไปในการตั้งค่า Pi แบบฝัง (คีย์ shell override จะถูก sanitize).mcp.jsonเปิดเผยเครื่องมือ stdio ที่รองรับไปยัง Pi แบบฝัง.lsp.jsonรวมถึงพาธlspServersที่ประกาศใน manifest โหลดเข้าเป็นค่าเริ่มต้น LSP ของ Pi แบบฝังhooks/hooks.jsonถูกตรวจพบแต่ไม่ถูกเรียกใช้งาน- พาธคอมโพเนนต์แบบกำหนดเองใน manifest เป็นแบบเพิ่มเข้าไป (ขยายค่าเริ่มต้น ไม่ใช่แทนที่)
Cursor bundles
ตัวบ่งชี้: .cursor-plugin/plugin.json
เนื้อหาเสริม: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json
.cursor/commands/ถูกถือเป็นเนื้อหา skill.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 เป็นเจ้าของจะถูกจัดส่งแบบเบาใน core หรือ ดาวน์โหลดผ่านตัวติดตั้ง Plugin การเริ่มต้น Gateway จะไม่รัน package manager ให้รายการเหล่านั้น
openclaw doctor --fixลบไดเรกทอรี dependency ที่ stage ไว้แบบเดิม และสามารถ กู้คืน Plugin ที่ดาวน์โหลดได้ซึ่งหายไปจากดัชนี Plugin ภายในเครื่องเมื่อ คอนฟิกอ้างถึงรายการเหล่านั้น
ความปลอดภัย
บันเดิลมีขอบเขตความเชื่อถือที่แคบกว่า Plugin เนทีฟ:
- OpenClaw ไม่ โหลดโมดูลรันไทม์ของบันเดิลตามอำเภอใจเข้าในโปรเซส
- พาธ Skills และ hook-pack ต้องอยู่ภายในรูท Plugin (ตรวจสอบขอบเขตแล้ว)
- ไฟล์การตั้งค่าถูกอ่านด้วยการตรวจสอบขอบเขตแบบเดียวกัน
- เซิร์ฟเวอร์ stdio MCP ที่รองรับอาจถูกเปิดเป็น subprocesses
สิ่งนี้ทำให้บันเดิลปลอดภัยกว่าโดยค่าเริ่มต้น แต่คุณยังควรถือว่าบันเดิลจากบุคคลที่สาม เป็นเนื้อหาที่เชื่อถือได้สำหรับฟีเจอร์ที่มันเปิดเผย
การแก้ไขปัญหา
Bundle is detected but capabilities do not run
รัน openclaw plugins inspect <id> หากความสามารถถูกระบุไว้แต่ทำเครื่องหมายว่า
ยังไม่ได้เชื่อมต่อ นั่นเป็นข้อจำกัดของผลิตภัณฑ์ ไม่ใช่การติดตั้งที่เสีย
Claude command files do not appear
ตรวจสอบให้แน่ใจว่าบันเดิลเปิดใช้งานแล้วและไฟล์ markdown อยู่ภายในรูท
commands/ หรือ skills/ ที่ตรวจพบ
Claude settings do not apply
รองรับเฉพาะการตั้งค่า Pi แบบฝังจาก settings.json เท่านั้น OpenClaw ไม่ได้
ถือว่าการตั้งค่าบันเดิลเป็น raw config patches
Claude hooks do not execute
hooks/hooks.json เป็นแบบตรวจพบเท่านั้น หากคุณต้องการ hooks ที่รันได้ ให้ใช้
เลย์เอาต์ hook-pack ของ OpenClaw หรือจัดส่ง Plugin เนทีฟ
ที่เกี่ยวข้อง
- ติดตั้งและกำหนดค่า Plugins
- การสร้าง Plugins — สร้าง Plugin เนทีฟ
- Plugin Manifest — สคีมา manifest เนทีฟ