Plugins

ชุดรวม Plugin

OpenClaw สามารถติดตั้ง Plugin จากระบบนิเวศภายนอกสามแห่ง ได้แก่ Codex, Claude และ Cursor สิ่งเหล่านี้เรียกว่า บันเดิล ซึ่งเป็นชุดเนื้อหาและข้อมูลเมตาที่ OpenClaw แมปไปยังความสามารถในตัว เช่น Skills, ฮุก และเครื่องมือ MCP

เหตุผลที่มีบันเดิล

Plugin ที่มีประโยชน์จำนวนมากเผยแพร่ในรูปแบบ Codex, Claude หรือ Cursor แทนที่จะ กำหนดให้ผู้เขียนเขียนใหม่เป็น Plugin แบบเนทีฟของ OpenClaw ทาง OpenClaw จะตรวจหารูปแบบเหล่านี้และแมปเนื้อหาที่รองรับไปยังชุดความสามารถในตัว คุณสามารถติดตั้งชุดคำสั่ง Claude หรือบันเดิลสกิล Codex แล้วใช้งานได้ทันที

ติดตั้งบันเดิล

  • ติดตั้งจากไดเรกทอรี ไฟล์เก็บถาวร หรือมาร์เก็ตเพลส

    bash
    # ไดเรกทอรีภายในเครื่อง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

  • ตรวจสอบการตรวจพบ

    bash
    openclaw plugins listopenclaw plugins inspect <id>

    บันเดิลจะแสดง Format: bundle พร้อมค่า Bundle format: เป็น codex, claude หรือ cursor

  • เริ่มระบบใหม่และใช้งาน

    bash
    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 จะเปิดโพรเซสลูก:

    json
    {  "mcp": {    "servers": {      "my-server": {        "command": "node",        "args": ["server.js"],        "env": { "PORT": "3000" }      }    }  }}

    HTTP จะเชื่อมต่อกับเซิร์ฟเวอร์ MCP ที่กำลังทำงาน โดยใช้ sse เป็นค่าเริ่มต้น เว้นแต่ จะระบุให้ใช้ streamable-http:

    json
    {  "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 ดังนั้นรายการอนุญาต/ปฏิเสธของโปรไฟล์จึงสามารถอ้างอิง ชื่อเครื่องมือที่เปิดเผยแต่ละรายการหรือคีย์ Plugin bundle-mcp ได้

    การตั้งค่า OpenClaw แบบฝัง

    settings.json ของ Claude จะถูกนำเข้าเป็นการตั้งค่าเริ่มต้นของ OpenClaw แบบฝังเมื่อ เปิดใช้งานบันเดิล OpenClaw จะปรับคีย์แทนที่เชลล์ให้ปลอดภัยก่อนนำไปใช้:

    • shellPath
    • shellCommandPrefix

    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 แบบเนทีฟก่อน:

    1. openclaw.plugin.json หรือ package.json ที่ถูกต้องและมี openclaw.extensions — ถือว่าเป็น Plugin แบบเนทีฟ
    2. ตัวบ่งชี้บันเดิล (.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 แบบเนทีฟ

    เนื้อหาที่เกี่ยวข้อง

    Was this useful?
    On this page

    On this page