Skip to Content
Руководство для пользователейВозможностиКаналыОтправка через DingTalk Webhook

Отправка через DingTalk Webhook

Используйте пользовательского робота DingTalk для публикации уведомлений и результатов задач в группу. Этот режим отправки не требует бота приложения, долгого соединения, публичного сервера обратного вызова или ID беседы. Для бесед с агентом используйте бот приложения DingTalk.

Создание робота

  1. Добавьте пользовательского робота в целевую группу DingTalk.
  2. Скопируйте его webhook URL, начинающийся с https://oapi.dingtalk.com/robot/send?access_token=....
  3. Настройте параметры безопасности робота. Если включена подпись, также скопируйте секрет подписи. Ограничения по ключевым словам и IP по-прежнему применяются к каждому сообщению.

Webhook URL содержит учётные данные. Сохраните его как секрет или ссылку на переменную окружения, а не в промпте запланированной задачи или цели доставки.

Настройка канала

Добавьте именованный экземпляр в настройки канала рабочего пространства:

{ "channels": { "team-notices": { "type": "dingtalk-webhook", "webhookUrl": "$DINGTALK_WEBHOOK_URL", "signingSecret": "$DINGTALK_WEBHOOK_SECRET" } } }

Установите указанные переменные в окружении, используемом для запуска Qwen Code. Опустите signingSecret, если робот не требует подписи. Этот секрет является секретом подписи пользовательского робота, а не Client Secret приложения.

Запустите демон в этом рабочем пространстве:

qwen serve --channel team-notices

Один именованный экземпляр представляет одну настроенную группу. Создайте дополнительные экземпляры для других групп. Обновление URL экземпляра изменяет назначение для будущих доставок, которые на него ссылаются.

Явная доставка через API

Уведомления и явная доставка промптов/запланированная доставка используют существующий формат цели канала. Этот адаптер определяет chat/default как единственное логическое назначение:

{ "text": "The daily report is ready.", "delivery": { "kind": "channel", "target": { "channelName": "team-notices", "type": "chat", "id": "default" } } }

Это тело запроса Notify рабочего пространства. default — это алиас, принадлежащий адаптеру, а не ID беседы DingTalk. Другие ID и цели пользователей отклоняются; адаптер никогда не игнорирует произвольное запрошенное назначение. Webhook URL и секрет подписи остаются в конфигурации канала.

Поведение доставки

  • Отправляет сообщения как Markdown с коротким заголовком, полученным из первой строки. Также принимается обычный текст. Адаптер сохраняет предоставленный Markdown, включая синтаксис таблиц; отображение обрабатывается клиентом DingTalk.
  • Он не получает сообщения, не выполняет входящие задачи webhook и не включает циклы канала.
  • Проверяет как HTTP-статус, так и бизнес-ответ DingTalk. Отклонённые подписи, учётные данные, правила безопасности и ограничения скорости являются ошибками с очищенными сообщениями.
  • Не выполняет автоматические повторные попытки. Тайм-аут может оставить неизвестным факт принятия на удалённой стороне.
  • Использует конфигурацию прокси рабочего пространства, включая обходы NO_PROXY.
  • Отменяет отправку в процессе выполнения при остановке канала. Перезагрузка использует обновлённую сохранённую конфигурацию.
  • Сохраняет общую защиту размера доставки, которая помечает усечённые результаты. Первый релиз отправляет этот результат как одно сообщение и позволяет DingTalk отклонить слишком большой контент. Отклонение сообщается как ошибка доставки; адаптер не отправляет сокращённую копию, не разделяет сообщения и не повторяет попытку. Точный лимит размера Markdown в DingTalk и его единица измерения не проверены, поэтому прохождение общей проверки размера не гарантирует доставку. Делайте запланированные отчёты краткими.
  • Запланированная доставка сохраняет существующее поведение по доставке успешного конечного результата по мере возможности (best-effort). Это не вводит уведомления об ошибках/отменах, долговременную очередь повторных попыток, вложения или общий контракт payload webhook.

См. API отправки  DingTalk, типы сообщений  и настройки безопасности  для требований платформы.

Last updated on