Langsung ke konten utama
OpenClaw dapat memasang plugin dari tiga ekosistem eksternal: Codex, Claude, dan Cursor. Ini disebut bundel — paket konten dan metadata yang dipetakan OpenClaw ke fitur native seperti skills, hooks, dan alat MCP.
Bundel tidak sama dengan plugin native OpenClaw. Plugin native berjalan dalam proses dan dapat mendaftarkan kemampuan apa pun. Bundel adalah paket konten dengan pemetaan fitur selektif dan batas kepercayaan yang lebih sempit.

Mengapa bundel ada

Banyak plugin berguna dipublikasikan dalam format Codex, Claude, atau Cursor. Alih-alih mengharuskan penulis menulis ulang plugin tersebut sebagai plugin native OpenClaw, OpenClaw mendeteksi format ini dan memetakan konten yang didukung ke dalam set fitur native. Artinya, Anda dapat memasang paket perintah Claude atau bundel skill Codex dan langsung menggunakannya.

Memasang bundel

1

Install from a directory, archive, or marketplace

# Local directory
openclaw plugins install ./my-bundle

# Archive
openclaw plugins install ./my-bundle.tgz

# Claude marketplace
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
2

Verify detection

openclaw plugins list
openclaw plugins inspect <id>
Bundel ditampilkan sebagai Format: bundle dengan subtipe codex, claude, atau cursor.
3

Restart and use

openclaw gateway restart
Fitur yang dipetakan (skills, hooks, alat MCP, default LSP) tersedia pada sesi berikutnya.

Apa yang dipetakan OpenClaw dari bundel

Tidak semua fitur bundel berjalan di OpenClaw saat ini. Berikut yang berfungsi dan yang terdeteksi tetapi belum dihubungkan.

Didukung saat ini

FiturCara pemetaannyaBerlaku untuk
Konten skillRoot skill bundel dimuat sebagai skill OpenClaw normalSemua format
Perintahcommands/ dan .cursor/commands/ diperlakukan sebagai root skillClaude, Cursor
Paket hookTata letak gaya OpenClaw HOOK.md + handler.tsCodex
Alat MCPKonfigurasi MCP bundel digabungkan ke pengaturan OpenClaw tertanam; server stdio dan HTTP yang didukung dimuatSemua format
Server LSPClaude .lsp.json dan lspServers yang dideklarasikan manifes digabungkan ke default LSP OpenClaw tertanamClaude
PengaturanClaude settings.json diimpor sebagai default OpenClaw tertanamClaude

Konten skill

  • root skill bundel dimuat sebagai root skill OpenClaw normal
  • root commands Claude diperlakukan sebagai root skill tambahan
  • root .cursor/commands Cursor diperlakukan sebagai root skill tambahan
Artinya, file perintah markdown Claude bekerja melalui pemuat skill OpenClaw normal. Markdown perintah Cursor bekerja melalui jalur yang sama.

Paket hook

  • root hook bundel bekerja hanya ketika menggunakan tata letak paket hook OpenClaw normal. Saat ini, ini terutama adalah kasus yang kompatibel dengan Codex:
    • HOOK.md
    • handler.ts atau handler.js

MCP untuk OpenClaw tertanam

  • bundel yang diaktifkan dapat menyumbangkan konfigurasi server MCP
  • OpenClaw menggabungkan konfigurasi MCP bundel ke pengaturan OpenClaw tertanam efektif sebagai mcpServers
  • OpenClaw mengekspos alat MCP bundel yang didukung selama giliran agen OpenClaw tertanam dengan meluncurkan server stdio atau terhubung ke server HTTP
  • profil alat coding dan messaging menyertakan alat MCP bundel secara default; gunakan tools.deny: ["bundle-mcp"] untuk tidak mengikutsertakan agen atau gateway
  • pengaturan agen tertanam lokal proyek tetap berlaku setelah default bundel, sehingga pengaturan workspace dapat menimpa entri MCP bundel bila diperlukan
  • katalog alat MCP bundel diurutkan secara deterministik sebelum pendaftaran, sehingga perubahan urutan listTools() upstream tidak mengacak blok alat prompt-cache
Transport
Server MCP dapat menggunakan transport stdio atau HTTP: Stdio meluncurkan proses anak:
{
  "mcp": {
    "servers": {
      "my-server": {
        "command": "node",
        "args": ["server.js"],
        "env": { "PORT": "3000" }
      }
    }
  }
}
HTTP terhubung ke server MCP yang sedang berjalan melalui sse secara default, atau streamable-http ketika diminta:
{
  "mcp": {
    "servers": {
      "my-server": {
        "url": "http://localhost:3100/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer ${MY_SECRET_TOKEN}"
        },
        "connectionTimeoutMs": 30000
      }
    }
  }
}
  • transport dapat diatur ke "streamable-http" atau "sse"; jika dihilangkan, OpenClaw menggunakan sse
  • type: "http" adalah bentuk downstream native CLI; gunakan transport: "streamable-http" dalam konfigurasi OpenClaw. openclaw mcp set dan openclaw doctor --fix menormalisasi alias umum.
  • hanya skema URL http: dan https: yang diizinkan
  • nilai headers mendukung interpolasi ${ENV_VAR}
  • entri server dengan command dan url sekaligus ditolak
  • kredensial URL (userinfo dan parameter kueri) disunting dari deskripsi alat dan log
  • connectionTimeoutMs menimpa batas waktu koneksi default 30 detik untuk transport stdio dan HTTP
Penamaan alat
OpenClaw mendaftarkan alat MCP bundel dengan nama yang aman untuk penyedia dalam bentuk serverName__toolName. Misalnya, server dengan kunci "vigil-harbor" yang mengekspos alat memory_search didaftarkan sebagai vigil-harbor__memory_search.
  • karakter di luar A-Za-z0-9_- diganti dengan -
  • fragmen yang akan dimulai dengan nonhuruf diberi prefiks huruf, sehingga kunci server numerik seperti 12306 menjadi prefiks alat yang aman untuk penyedia
  • prefiks server dibatasi hingga 30 karakter
  • nama alat lengkap dibatasi hingga 64 karakter
  • nama server kosong menggunakan fallback mcp
  • nama hasil sanitasi yang bertabrakan dibedakan dengan sufiks numerik
  • urutan alat akhir yang diekspos deterministik berdasarkan nama aman agar giliran embedded-agent berulang tetap stabil terhadap cache
  • pemfilteran profil memperlakukan semua alat dari satu server MCP bundel sebagai milik plugin oleh bundle-mcp, sehingga allowlist dan deny list profil dapat menyertakan nama alat terekspos individual atau kunci plugin bundle-mcp

Pengaturan OpenClaw tertanam

  • Claude settings.json diimpor sebagai pengaturan OpenClaw tertanam default ketika bundel diaktifkan
  • OpenClaw membersihkan kunci override shell sebelum menerapkannya
Kunci yang disanitasi:
  • shellPath
  • shellCommandPrefix

LSP OpenClaw tertanam

  • bundel Claude yang diaktifkan dapat menyumbangkan konfigurasi server LSP
  • OpenClaw memuat .lsp.json ditambah path lspServers apa pun yang dideklarasikan manifes
  • konfigurasi LSP bundel digabungkan ke default LSP OpenClaw tertanam efektif
  • hanya server LSP berbasis stdio yang didukung yang dapat dijalankan saat ini; transport yang tidak didukung tetap muncul di openclaw plugins inspect <id>

Terdeteksi tetapi tidak dieksekusi

Ini dikenali dan ditampilkan dalam diagnostik, tetapi OpenClaw tidak menjalankannya:
  • Claude agents, otomatisasi hooks.json, outputStyles
  • Cursor .cursor/agents, .cursor/hooks.json, .cursor/rules
  • metadata inline/aplikasi Codex di luar pelaporan kemampuan

Format bundel

Penanda: .codex-plugin/plugin.jsonKonten opsional: skills/, hooks/, .mcp.json, .app.jsonBundel Codex paling cocok dengan OpenClaw ketika menggunakan root skill dan direktori paket hook gaya OpenClaw (HOOK.md + handler.ts).
Dua mode deteksi:
  • Berbasis manifes: .claude-plugin/plugin.json
  • Tanpa manifes: tata letak Claude default (skills/, commands/, agents/, hooks/, .mcp.json, .lsp.json, settings.json)
Perilaku khusus Claude:
  • commands/ diperlakukan sebagai konten skill
  • settings.json diimpor ke pengaturan OpenClaw tertanam (kunci override shell disanitasi)
  • .mcp.json mengekspos alat stdio yang didukung ke OpenClaw tertanam
  • .lsp.json ditambah path lspServers yang dideklarasikan manifes dimuat ke default LSP OpenClaw tertanam
  • hooks/hooks.json terdeteksi tetapi tidak dieksekusi
  • Path komponen khusus dalam manifes bersifat aditif (memperluas default, bukan menggantikannya)
Penanda: .cursor-plugin/plugin.jsonKonten opsional: skills/, .cursor/commands/, .cursor/agents/, .cursor/rules/, .cursor/hooks.json, .mcp.json
  • .cursor/commands/ diperlakukan sebagai konten skill
  • .cursor/rules/, .cursor/agents/, dan .cursor/hooks.json hanya dideteksi

Presedensi deteksi

OpenClaw memeriksa format plugin native terlebih dahulu:
  1. openclaw.plugin.json atau package.json valid dengan openclaw.extensions — diperlakukan sebagai plugin native
  2. Penanda bundel (.codex-plugin/, .claude-plugin/, atau tata letak Claude/Cursor default) — diperlakukan sebagai bundel
Jika direktori berisi keduanya, OpenClaw menggunakan jalur native. Ini mencegah paket format ganda dipasang sebagian sebagai bundel.

Dependensi runtime dan pembersihan

  • Bundel kompatibel pihak ketiga tidak mendapatkan perbaikan npm install saat startup. Bundel tersebut harus dipasang melalui openclaw plugins install dan membawa semua yang diperlukan dalam direktori plugin terpasang.
  • Plugin bundel milik OpenClaw dikirim ringan dalam core atau dapat diunduh melalui pemasang plugin. Startup Gateway tidak pernah menjalankan package manager untuknya.
  • openclaw doctor --fix menghapus direktori dependensi staged lama dan dapat memulihkan plugin yang dapat diunduh yang hilang dari indeks plugin lokal ketika konfigurasi mereferensikannya.

Keamanan

Bundel memiliki batas kepercayaan yang lebih sempit daripada plugin native:
  • OpenClaw tidak memuat modul runtime bundel arbitrer dalam proses
  • Path Skills dan paket hook harus tetap berada di dalam root plugin (diperiksa batasnya)
  • File pengaturan dibaca dengan pemeriksaan batas yang sama
  • Server MCP stdio yang didukung dapat diluncurkan sebagai subprocess
Ini membuat bundel lebih aman secara default, tetapi Anda tetap harus memperlakukan bundel pihak ketiga sebagai konten tepercaya untuk fitur yang diekspos.

Pemecahan masalah

Jalankan openclaw plugins inspect <id>. Jika suatu kemampuan tercantum tetapi ditandai belum dihubungkan, itu adalah batas produk — bukan instalasi yang rusak.
Pastikan bundel diaktifkan dan file markdown berada di dalam root commands/ atau skills/ yang terdeteksi.
Hanya pengaturan OpenClaw tertanam dari settings.json yang didukung. OpenClaw tidak memperlakukan pengaturan bundel sebagai patch konfigurasi mentah.
hooks/hooks.json hanya dideteksi. Jika Anda memerlukan hook yang dapat dijalankan, gunakan tata letak paket hook OpenClaw atau kirim plugin native.

Terkait