Plugin maintainer reference
API вхідних повідомлень каналу
Шляхи отримання даних каналом відповідають єдиному потоку:
подія платформи -> вхідні факти/контекст -> відповідь агента -> доставлення повідомленняВикористовуйте openclaw/plugin-sdk/channel-inbound для нормалізації вхідних подій,
форматування, коренів і оркестрації. Використовуйте
openclaw/plugin-sdk/channel-outbound для нативного надсилання, підтвердження отримання, надійного
доставлення та поведінки попереднього перегляду наживо.
Основні допоміжні засоби
buildChannelInboundEventContext, runChannelInboundEvent, dispatchChannelInboundReply,} from "openclaw/plugin-sdk/channel-inbound";buildChannelInboundEventContext(...): проєктує нормалізовані факти каналу в контекст запиту/сеансу. Передавайте метадані відправника/чату, якими володіє канал, черезchannelContext, доступний хукам Plugin якctx.channelContext. РозширюйтеPluginHookChannelSenderContextабоPluginHookChannelChatContextз цього підшляху полями, специфічними для каналу.runChannelInboundEvent(...): виконує приймання, класифікацію, попередню перевірку, визначення, запис, диспетчеризацію та завершення для однієї вхідної події платформи.dispatchChannelInboundReply(...): записує та диспетчеризує вже сформовану вхідну відповідь за допомогою адаптера доставлення.
Вбудовані/нативні канали, які вже отримують упроваджений об’єкт середовища виконання Plugin,
можуть викликати ті самі допоміжні засоби через runtime.channel.inbound.* замість
безпосереднього імпортування цього підшляху:
await runtime.channel.inbound.run({ channel: "demo", accountId, raw: platformEvent, adapter: { ingest: normalizePlatformEvent, resolveTurn: resolveInboundReply, },});Формуйте вхідні дані dispatchChannelInboundReply(...) для диспетчерів
сумісності, які залишають доставлення платформою в адаптері доставлення. Нові шляхи
надсилання натомість мають використовувати адаптери повідомлень і допоміжні засоби надійних
повідомлень із channel-outbound.
Міграція
Псевдоніми середовища виконання runtime.channel.turn.* видалено. Використовуйте:
runtime.channel.inbound.run(...)для необроблених вхідних подій.runtime.channel.inbound.dispatchReply(...)для сформованих контекстів відповіді.runtime.channel.inbound.buildContext(...)для корисних даних вхідного контексту.runtime.channel.inbound.runPreparedReply(...), застарілий, лише для підготовлених шляхів диспетчеризації, якими володіє канал і які вже формують власне замикання диспетчеризації.
Новий код Plugin не повинен запроваджувати API каналів із turn у назві. Зберігайте термінологію
ітерацій моделі або агента в коді агента/провайдера; Plugin каналів використовують терміни
вхідних даних, повідомлення, доставлення та відповіді.