Plugin maintainer reference
Kanal gelen API'si
Kanal alma yolları tek bir akışı izler:
platform olayı -> gelen olgu/bağlam -> aracı yanıtı -> ileti teslimiGelen olay normalleştirme, biçimlendirme, kökler ve orkestrasyon için openclaw/plugin-sdk/channel-inbound kullanın.
Yerel gönderim, alındı bilgisi, kalıcı teslimat ve canlı önizleme davranışı için
openclaw/plugin-sdk/channel-outbound kullanın.
Temel yardımcılar
buildChannelInboundEventContext, runChannelInboundEvent, dispatchChannelInboundReply,} from "openclaw/plugin-sdk/channel-inbound";buildChannelInboundEventContext(...): normalleştirilmiş kanal olgularını istem/oturum bağlamına yansıtır. Kanalın sahip olduğu gönderici/sohbet meta verilerini, Plugin kancalarınınctx.channelContextolarak gördüğüchannelContextüzerinden iletin. Kanala özgü alanlar için bu alt yoldakiPluginHookChannelSenderContextveyaPluginHookChannelChatContexttürünü genişletin.runChannelInboundEvent(...): tek bir gelen platform olayı için içe alma, sınıflandırma, ön kontrol, çözümleme, kaydetme, dağıtma ve sonlandırma işlemlerini yürütür.dispatchChannelInboundReply(...): önceden oluşturulmuş bir gelen yanıtı teslimat bağdaştırıcısıyla kaydeder ve dağıtır.
Eklenen Plugin çalışma zamanı nesnesini zaten alan paketlenmiş/yerel kanallar,
bu alt yolu doğrudan içe aktarmak yerine aynı yardımcıları
runtime.channel.inbound.* altında çağırabilir:
await runtime.channel.inbound.run({ channel: "demo", accountId, raw: platformEvent, adapter: { ingest: normalizePlatformEvent, resolveTurn: resolveInboundReply, },});Platform teslimatını teslimat bağdaştırıcısında tutan uyumluluk dağıtıcıları için
dispatchChannelInboundReply(...) girdilerini oluşturun. Yeni gönderim yolları
bunun yerine channel-outbound içindeki ileti bağdaştırıcılarını ve kalıcı ileti
yardımcılarını kullanmalıdır.
Geçiş
runtime.channel.turn.* çalışma zamanı diğer adları kaldırıldı. Şunları kullanın:
- Ham gelen olaylar için
runtime.channel.inbound.run(...). - Oluşturulmuş yanıt bağlamları için
runtime.channel.inbound.dispatchReply(...). - Gelen bağlam yükleri için
runtime.channel.inbound.buildContext(...). - Yalnızca kendi dağıtım kapanışını zaten oluşturan, kanala ait hazırlanmış
dağıtım yolları için kullanımdan kaldırılmış
runtime.channel.inbound.runPreparedReply(...).
Yeni Plugin kodu, turn adlı kanal API'leri sunmamalıdır. Model veya
aracı turu terminolojisini aracı/sağlayıcı kodunda tutun; kanal Pluginleri gelen,
ileti, teslimat ve yanıt terimlerini kullanır.