Plugin maintainer reference
API masuk kanal
Jalur penerimaan channel mengikuti satu alur:
peristiwa platform -> fakta/konteks masuk -> balasan agen -> pengiriman pesanGunakan openclaw/plugin-sdk/channel-inbound untuk normalisasi peristiwa masuk,
pemformatan, root, dan orkestrasi. Gunakan
openclaw/plugin-sdk/channel-outbound untuk pengiriman native, tanda terima, pengiriman
persisten, dan perilaku pratinjau langsung.
Helper inti
buildChannelInboundEventContext, runChannelInboundEvent, dispatchChannelInboundReply,} from "openclaw/plugin-sdk/channel-inbound";buildChannelInboundEventContext(...): memproyeksikan fakta channel yang dinormalisasi ke dalam konteks prompt/sesi. Teruskan metadata pengirim/obrolan milik channel melaluichannelContext, yang dilihat oleh hook plugin sebagaictx.channelContext. PerluasPluginHookChannelSenderContextatauPluginHookChannelChatContextdari subjalur ini untuk bidang khusus channel.runChannelInboundEvent(...): menjalankan penyerapan, klasifikasi, pemeriksaan awal, resolusi, pencatatan, pengiriman, dan finalisasi untuk satu peristiwa platform masuk.dispatchChannelInboundReply(...): mencatat dan mengirimkan balasan masuk yang sudah dirakit menggunakan adaptor pengiriman.
Channel bawaan/native yang sudah menerima objek runtime plugin yang diinjeksikan
dapat memanggil helper yang sama melalui runtime.channel.inbound.* alih-alih
mengimpor subjalur ini secara langsung:
await runtime.channel.inbound.run({ channel: "demo", accountId, raw: platformEvent, adapter: { ingest: normalizePlatformEvent, resolveTurn: resolveInboundReply, },});Rakit input dispatchChannelInboundReply(...) untuk dispatcher kompatibilitas
yang mempertahankan pengiriman platform di dalam adaptor pengiriman. Jalur pengiriman
baru sebaiknya menggunakan adaptor pesan dan helper pesan persisten dari
channel-outbound.
Migrasi
Alias runtime runtime.channel.turn.* telah dihapus. Gunakan:
runtime.channel.inbound.run(...)untuk peristiwa masuk mentah.runtime.channel.inbound.dispatchReply(...)untuk konteks balasan yang telah dirakit.runtime.channel.inbound.buildContext(...)untuk payload konteks masuk.runtime.channel.inbound.runPreparedReply(...), tidak digunakan lagi, hanya untuk jalur pengiriman siap pakai milik channel yang sudah merakit closure pengirimannya sendiri.
Kode plugin baru tidak boleh memperkenalkan API channel bernama turn. Pertahankan
kosakata giliran model atau agen di dalam kode agen/penyedia; plugin channel menggunakan istilah
masuk, pesan, pengiriman, dan balasan.