Отправка через DingTalk Webhook
Используйте пользовательского робота DingTalk для публикации уведомлений и результатов задач в группу. Этот режим отправки не требует бота приложения, долгого соединения, публичного сервера обратного вызова или ID беседы. Для бесед с агентом используйте бот приложения DingTalk.
Создание робота
- Добавьте пользовательского робота в целевую группу DingTalk.
- Скопируйте его webhook URL, начинающийся с
https://oapi.dingtalk.com/robot/send?access_token=.... - Настройте параметры безопасности робота. Если включена подпись, также скопируйте секрет подписи. Ограничения по ключевым словам и 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, типы сообщений и настройки безопасности для требований платформы.