Ana içeriğe atla

Plugin’ler

Plugin’ler, OpenClaw’ı yeni yeteneklerle genişletir: kanallar, model sağlayıcıları, araçlar, Skills, konuşma, gerçek zamanlı transkripsiyon, gerçek zamanlı ses, medya anlama, görsel oluşturma, video oluşturma, web getirme, web arama ve daha fazlası. Bazı plugin’ler çekirdektir (OpenClaw ile birlikte gelir), diğerleri ise haricidir (topluluk tarafından npm’de yayımlanır).

Hızlı başlangıç

1

Nelerin yüklü olduğunu görün

openclaw plugins list
2

Bir plugin kurun

# npm'den
openclaw plugins install @openclaw/voice-call

# Yerel dizin veya arşivden
openclaw plugins install ./my-plugin
openclaw plugins install ./my-plugin.tgz
3

Gateway'i yeniden başlatın

openclaw gateway restart
Ardından yapılandırma dosyanızda plugins.entries.\<id\>.config altında yapılandırın.
Sohbete özgü denetimi tercih ediyorsanız commands.plugins: true etkinleştirin ve şunları kullanın:
/plugin install clawhub:@openclaw/voice-call
/plugin show voice-call
/plugin enable voice-call
Kurulum yolu, CLI ile aynı çözümleyiciyi kullanır: yerel yol/arşiv, açık clawhub:<pkg> veya çıplak paket tanımı (önce ClawHub, sonra npm geri dönüşü). Yapılandırma geçersizse, kurulum normalde kapalı şekilde başarısız olur ve sizi openclaw doctor --fix komutuna yönlendirir. Tek kurtarma istisnası, şu özelliğe katılan plugin’ler için dar bir paketlenmiş-plugin yeniden kurulum yoludur: openclaw.install.allowInvalidConfigRecovery.

Plugin türleri

OpenClaw iki plugin biçimini tanır:
BiçimNasıl çalışırÖrnekler
Nativeopenclaw.plugin.json + çalışma zamanı modülü; süreç içinde çalışırResmî plugin’ler, topluluk npm paketleri
BundleCodex/Claude/Cursor uyumlu düzen; OpenClaw özelliklerine eşlenir.codex-plugin/, .claude-plugin/, .cursor-plugin/
Her ikisi de openclaw plugins list altında görünür. Paket ayrıntıları için bkz. Plugin Paketleri. Bir native plugin yazıyorsanız Plugin Geliştirme ve Plugin SDK Overview ile başlayın.

Resmî plugin’ler

Kurulabilir (npm)

PluginPaketBelgeler
Matrix@openclaw/matrixMatrix
Microsoft Teams@openclaw/msteamsMicrosoft Teams
Nostr@openclaw/nostrNostr
Voice Call@openclaw/voice-callVoice Call
Zalo@openclaw/zaloZalo
Zalo Personal@openclaw/zalouserZalo Personal

Çekirdek (OpenClaw ile birlikte gelir)

anthropic, byteplus, cloudflare-ai-gateway, github-copilot, google, huggingface, kilocode, kimi-coding, minimax, mistral, qwen, moonshot, nvidia, openai, opencode, opencode-go, openrouter, qianfan, synthetic, together, venice, vercel-ai-gateway, volcengine, xiaomi, zai
  • memory-core — paketlenmiş bellek araması (varsayılan olarak plugins.slots.memory üzerinden)
  • memory-lancedb — otomatik geri çağırma/yakalama ile isteğe bağlı kurulan uzun vadeli bellek (plugins.slots.memory = "memory-lancedb" ayarlayın)
elevenlabs, microsoft
  • browser — browser aracı, openclaw browser CLI, browser.request gateway yöntemi, browser çalışma zamanı ve varsayılan browser kontrol hizmeti için paketlenmiş browser plugin’i (varsayılan olarak etkin; değiştirmeden önce devre dışı bırakın)
  • copilot-proxy — VS Code Copilot Proxy köprüsü (varsayılan olarak devre dışı)
Üçüncü taraf plugin’ler mi arıyorsunuz? Bkz. Topluluk Plugin’leri.

Yapılandırma

{
  plugins: {
    enabled: true,
    allow: ["voice-call"],
    deny: ["untrusted-plugin"],
    load: { paths: ["~/Projects/oss/voice-call-extension"] },
    entries: {
      "voice-call": { enabled: true, config: { provider: "twilio" } },
    },
  },
}
AlanAçıklama
enabledAna anahtar (varsayılan: true)
allowPlugin allowlist’i (isteğe bağlı)
denyPlugin denylist’i (isteğe bağlı; deny önceliklidir)
load.pathsEk plugin dosyaları/dizinleri
slotsÖzel slot seçicileri (örn. memory, contextEngine)
entries.\<id\>Plugin başına açma/kapama + yapılandırma
Yapılandırma değişiklikleri gateway yeniden başlatması gerektirir. Gateway yapılandırma izleme + süreç içi yeniden başlatma etkinken çalışıyorsa (varsayılan openclaw gateway yolu), bu yeniden başlatma genellikle yapılandırma yazımı tamamlandıktan kısa süre sonra otomatik yapılır.
  • Disabled: plugin vardır ancak etkinleştirme kuralları onu kapatmıştır. Yapılandırma korunur.
  • Missing: yapılandırma, keşfin bulamadığı bir plugin kimliğine başvurur.
  • Invalid: plugin vardır ancak yapılandırması bildirilen şemayla eşleşmez.

Keşif ve öncelik

OpenClaw, plugin’leri şu sırayla tarar (ilk eşleşme kazanır):
1

Yapılandırma yolları

plugins.load.paths — açık dosya veya dizin yolları.
2

Çalışma alanı uzantıları

\<workspace\>/.openclaw/<plugin-root>/*.ts ve \<workspace\>/.openclaw/<plugin-root>/*/index.ts.
3

Global uzantılar

~/.openclaw/<plugin-root>/*.ts ve ~/.openclaw/<plugin-root>/*/index.ts.
4

Paketlenmiş plugin'ler

OpenClaw ile birlikte gelir. Birçoğu varsayılan olarak etkindir (model sağlayıcıları, konuşma gibi). Diğerleri açık etkinleştirme gerektirir.

Etkinleştirme kuralları

  • plugins.enabled: false tüm plugin’leri devre dışı bırakır
  • plugins.deny, her zaman allow’u kazanır
  • plugins.entries.\<id\>.enabled: false o plugin’i devre dışı bırakır
  • Çalışma alanı kaynaklı plugin’ler varsayılan olarak devre dışıdır (açıkça etkinleştirilmelidir)
  • Paketlenmiş plugin’ler, üzerine yazılmadıkça yerleşik varsayılan açık kümesini izler
  • Özel slot’lar, o slot için seçilen plugin’i zorla etkinleştirebilir

Plugin slot’ları (özel kategoriler)

Bazı kategoriler özeldir (aynı anda yalnızca biri etkin olabilir):
{
  plugins: {
    slots: {
      memory: "memory-core", // veya devre dışı bırakmak için "none"
      contextEngine: "legacy", // veya bir plugin kimliği
    },
  },
}
SlotNeyi denetlerVarsayılan
memoryEtkin bellek plugin’imemory-core
contextEngineEtkin bağlam motorulegacy (yerleşik)

CLI başvurusu

openclaw plugins list                       # kompakt envanter
openclaw plugins list --enabled            # yalnızca yüklü plugin'ler
openclaw plugins list --verbose            # plugin başına ayrıntı satırları
openclaw plugins list --json               # makine tarafından okunabilir envanter
openclaw plugins inspect <id>              # derin ayrıntı
openclaw plugins inspect <id> --json       # makine tarafından okunabilir
openclaw plugins inspect --all             # filo genelinde tablo
openclaw plugins info <id>                 # inspect takma adı
openclaw plugins doctor                    # tanılama

openclaw plugins install <package>         # kurulum (önce ClawHub, sonra npm)
openclaw plugins install clawhub:<pkg>     # yalnızca ClawHub'dan kurulum
openclaw plugins install <spec> --force    # mevcut kurulumu üzerine yaz
openclaw plugins install <path>            # yerel yoldan kurulum
openclaw plugins install -l <path>         # geliştirme için bağla (kopyalama yok)
openclaw plugins install <plugin> --marketplace <source>
openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>
openclaw plugins install <spec> --pin      # tam çözülmüş npm spec'i kaydet
openclaw plugins install <spec> --dangerously-force-unsafe-install
openclaw plugins update <id>             # tek plugin'i güncelle
openclaw plugins update <id> --dangerously-force-unsafe-install
openclaw plugins update --all            # tümünü güncelle
openclaw plugins uninstall <id>          # yapılandırma/kurulum kayıtlarını kaldır
openclaw plugins uninstall <id> --keep-files
openclaw plugins marketplace list <source>
openclaw plugins marketplace list <source> --json

openclaw plugins enable <id>
openclaw plugins disable <id>
Paketlenmiş plugin’ler OpenClaw ile birlikte gelir. Birçoğu varsayılan olarak etkindir (örneğin paketlenmiş model sağlayıcıları, paketlenmiş konuşma sağlayıcıları ve paketlenmiş browser plugin’i). Diğer paketlenmiş plugin’ler için yine de openclaw plugins enable <id> gerekir. --force, mevcut kurulu bir plugin veya hook paketinin üzerine yerinde yazar. Kaynak yolu yönetilen kurulum hedefine kopyalamak yerine yeniden kullanan --link ile desteklenmez. --pin yalnızca npm içindir. --marketplace ile desteklenmez, çünkü marketplace kurulumları npm spec’i yerine marketplace kaynak meta verisini kalıcı yazar. --dangerously-force-unsafe-install, yerleşik tehlikeli kod tarayıcısının yanlış pozitifleri için acil durum geçersiz kılma seçeneğidir. Plugin kurulumu ve plugin güncellemelerinin yerleşik critical bulgularını aşarak devam etmesine izin verir, ancak yine de plugin before_install ilke engellemelerini veya tarama başarısızlığı engellemesini aşmaz. Bu CLI bayrağı yalnızca plugin kurulum/güncelleme akışlarına uygulanır. Gateway destekli skill bağımlılık kurulumları bunun yerine eşleşen dangerouslyForceUnsafeInstall istek geçersiz kılmasını kullanır; openclaw skills install ise ayrı ClawHub skill indirme/kurma akışı olarak kalır. Uyumlu paketler aynı plugin listeleme/inceleme/etkinleştirme/devre dışı bırakma akışına katılır. Mevcut çalışma zamanı desteği paket skill’leri, Claude command-skills, Claude settings.json varsayılanları, Claude .lsp.json ve manifest bildirilen lspServers varsayılanları, Cursor command-skills ve uyumlu Codex hook dizinlerini içerir. openclaw plugins inspect <id>, ayrıca paket tarafından desteklenen plugin’ler için algılanan paket yeteneklerini ve desteklenen veya desteklenmeyen MCP ve LSP sunucusu girdilerini de bildirir. Marketplace kaynakları, ~/.claude/plugins/known_marketplaces.json içinden Claude bilinen-marketplace adı, yerel marketplace kökü veya marketplace.json yolu, owner/repo gibi GitHub kısaltması, GitHub depo URL’si veya git URL’si olabilir. Uzak marketplace’ler için plugin girdileri klonlanan marketplace deposu içinde kalmalı ve yalnızca göreli yol kaynaklarını kullanmalıdır. Tam ayrıntılar için bkz. openclaw plugins CLI başvurusu.

Plugin API genel bakışı

Native plugin’ler, register(api) sunan bir giriş nesnesi dışa aktarır. Daha eski plugin’ler kullanım dışı bir takma ad olarak hâlâ activate(api) kullanabilir, ancak yeni plugin’ler register kullanmalıdır.
export default definePluginEntry({
  id: "my-plugin",
  name: "My Plugin",
  register(api) {
    api.registerProvider({
      /* ... */
    });
    api.registerTool({
      /* ... */
    });
    api.registerChannel({
      /* ... */
    });
  },
});
OpenClaw giriş nesnesini yükler ve plugin etkinleştirme sırasında register(api) çağırır. Yükleyici eski plugin’ler için hâlâ activate(api) geri dönüşünü kullanır, ancak paketlenmiş plugin’ler ve yeni harici plugin’ler register’ı genel sözleşme olarak ele almalıdır. Yaygın kayıt yöntemleri:
YöntemNe kaydeder
registerProviderModel sağlayıcısı (LLM)
registerChannelSohbet kanalı
registerToolAgent aracı
registerHook / on(...)Yaşam döngüsü hook’ları
registerSpeechProviderMetinden konuşmaya / STT
registerRealtimeTranscriptionProviderAkan STT
registerRealtimeVoiceProviderÇift yönlü gerçek zamanlı ses
registerMediaUnderstandingProviderGörsel/ses analizi
registerImageGenerationProviderGörsel oluşturma
registerMusicGenerationProviderMüzik oluşturma
registerVideoGenerationProviderVideo oluşturma
registerWebFetchProviderWeb getirme / scrape sağlayıcısı
registerWebSearchProviderWeb arama
registerHttpRouteHTTP uç noktası
registerCommand / registerCliCLI komutları
registerContextEngineBağlam motoru
registerServiceArka plan hizmeti
Türlendirilmiş yaşam döngüsü hook’ları için hook guard davranışı:
  • before_tool_call: { block: true } terminaldir; daha düşük öncelikli işleyiciler atlanır.
  • before_tool_call: { block: false } etkisizdir ve daha önceki bir engeli temizlemez.
  • before_install: { block: true } terminaldir; daha düşük öncelikli işleyiciler atlanır.
  • before_install: { block: false } etkisizdir ve daha önceki bir engeli temizlemez.
  • message_sending: { cancel: true } terminaldir; daha düşük öncelikli işleyiciler atlanır.
  • message_sending: { cancel: false } etkisizdir ve daha önceki bir iptali temizlemez.
Tam türlendirilmiş hook davranışı için bkz. SDK Overview.

İlgili