Plugin maintainer reference
Kanal gelen API'si
Kanal Plugin'leri, alma yollarını gelen ve ileti adlarıyla modellemelidir:
platform event -> inbound facts/context -> agent reply -> message deliveryGelen 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ı teslim ve canlı önizleme davranışı için
openclaw/plugin-sdk/channel-outbound kullanın.
Çekirdek Yardımcılar
buildChannelInboundEventContext, runChannelInboundEvent, dispatchChannelInboundReply,} from "openclaw/plugin-sdk/channel-inbound";buildChannelInboundEventContext(...): normalleştirilmiş kanal bilgilerini istem/oturum bağlamına yansıtın. Kanalın sahip olduğu gönderen/sohbet meta verilerini Plugin kancasıctx.channelContextiçine geçirmek içinchannelContextkullanın; kanala özgü alanlar için bu alt yoldakiPluginHookChannelSenderContextveyaPluginHookChannelChatContexttürünü genişletin.runChannelInboundEvent(...): tek bir gelen platform olayı için alma, sınıflandırma, ön denetim, çözümleme, kaydetme, gönderme ve sonlandırma işlemlerini çalıştırın.dispatchChannelInboundReply(...): zaten derlenmiş bir gelen yanıtı bir teslim bağdaştırıcısıyla kaydedip gönderin.
Enjekte edilen Plugin çalışma zamanı, çalışma zamanı nesnesini zaten alan
paketlenmiş/yerel kanallar için aynı üst düzey yardımcıları
runtime.channel.inbound.* altında sunar.
await runtime.channel.inbound.run({ channel: "demo", accountId, raw: platformEvent, adapter: { ingest: normalizePlatformEvent, resolveTurn: resolveInboundReply, },});Uyumluluk göndericileri dispatchChannelInboundReply(...) girdilerini
derlemeli ve platform teslimini teslim bağdaştırıcısında tutmalıdır. Yeni
gönderim yolları ileti bağdaştırıcılarını ve kalıcı ileti yardımcılarını tercih
etmelidir.
Geçiş
Eski runtime.channel.turn.* çalışma zamanı takma adları kaldırıldı. Şunları
kullanın:
- Ham gelen olaylar için
runtime.channel.inbound.run(...). - Derlenmiş yanıt bağlamları için
runtime.channel.inbound.dispatchReply(...). - Gelen bağlam yükleri için
runtime.channel.inbound.buildContext(...). - Yalnızca kendi gönderim kapanışını zaten derleyen, kanalın sahip olduğu
hazırlanmış gönderim yolları için
runtime.channel.inbound.runPreparedReply(...).
Yeni Plugin kodu turn adlı kanal API'leri eklememelidir. Model veya agent
turn söz dağarcığını agent/sağlayıcı kodu içinde tutun; kanal Plugin'leri gelen,
ileti, teslim ve yanıt terimlerini kullanır.