openclaw/plugin-sdk/channel-outbound. Используйте
openclaw/plugin-sdk/channel-inbound для оркестрации приема/контекста/dispatch.
Ядро отвечает за очереди, надежное хранение, общую политику повторов, hooks, receipts и
общий инструмент message. Plugin отвечает за нативные вызовы send/edit/delete, нормализацию target,
потоки платформы, выбранные цитаты, флаги уведомлений, состояние учетной записи
и специфичные для платформы побочные эффекты.
Адаптер
Большинство plugins определяют один адаптерmessage:
Существующие исходящие адаптеры
Если у канала уже есть совместимый адаптерoutbound, создайте message
adapter на его основе вместо дублирования кода отправки:
Надежные отправки
Вспомогательные функции отправки runtime также находятся вchannel-outbound:
sendDurableMessageBatch(...)withDurableMessageSendContext(...)deliverInboundReplyWithMessageSendContext(...)- вспомогательные функции чернового streaming/progress, такие как
resolveChannelDraftStreamingChunking(...)
sendDurableMessageBatch(...) возвращает один явный outcome:
sent: доставлено как минимум одно видимое сообщение платформы.suppressed: ни одно сообщение платформы не должно считаться отсутствующим.partial_failed: как минимум одно сообщение платформы было доставлено до того, как более поздний payload или побочный эффект завершился с ошибкой.failed: не был создан platform receipt.
payloadOutcomes, когда batch смешивает отправленные, suppressed и failed payloads.
Не выводите отмену hook из пустого legacy результата direct-delivery.
Dispatch совместимости
Dispatch входящих ответов следует собирать черезdispatchChannelInboundReply(...) из channel-inbound. Держите доставку платформы
в delivery adapter; используйте channel-outbound для message adapters,
durable sends, receipts, live preview и параметров reply pipeline.