渠道 Webhook 与已观察联系人
用独立秘密触发无人值守任务,核对目标身份与投递完成。
This page has not been translated into English yet. The original Chinese version is shown below.
Daemon-managed 渠道可接收认证 webhook,把事件作为上下文交 agent 分析,再发最终结果。它不是原样转发器;任务要求 approvalMode:yolo,而且作用于整个渠道,因此通常使用专用渠道或严格限制普通发送者。
来源与目标
每个 channels.
DingTalk 每目标明确 isGroup:私聊 chatId 是用户 ID、false;群是 openConversationId、true。senderId 可标来源身份。其他平台按其主动投递契约配置,不通用猜测线程字段。
curl -X POST "http://127.0.0.1:4170/channels/team-bot/webhooks/build" \
-H "x-qwen-webhook-secret: $QWEN_CHANNEL_BUILD_SECRET" \
-H "Content-Type: application/json" \
-d '{"eventType":"build","targetRef":"operator","title":"Build finished","payload":{"status":"success"}}'此调用假设已配置同名渠道、build 来源与 operator 目标。认证使用 x-qwen-webhook-secret,即使 daemon 自身启用 bearer auth 也一样;不要把 daemon token 交外部 webhook 提供商。
配置和秘密在 daemon 启动读取,变更来源或轮换秘密需重启。202 accepted 只说明 worker 接管,不代表聊天消息已经送达;通过 daemon/worker 日志和 /daemon/status 追踪。
发现最近联系目标
Daemon 的 DingTalk、Feishu、Telegram、WeCom 可从已授权消息观察联系人:
curl -H "Authorization: Bearer $QWEN_SERVER_TOKEN" \
http://127.0.0.1:4170/workspace/channel/observed-contacts/workspaces/:workspace/channel/observed-contacts 选择其他已注册可信工作区。freshWithinSeconds 默认七天,可选一秒到365天;能力标识 workspace_channel_observed_contacts。
返回顶层 users 为私聊用户,groups 中包含群内观察用户,Feishu/Telegram 可带 topics 和其参与者。ID 完整,lastObservedAt 是带毫秒 UTC 时间,不应按本地时区直接解析无偏移字符串。
观察不是组织目录
只记录通过私聊/群、mention、sender、pairing 门槛的消息,不存正文。标签可来自已接收消息,缺少名称则显示完整 ID;不能把观察成员列表当当前权威群成员或访问资格。
重复观察刷新时间与标签,用户离群或删除只能等关系变旧,不能即时检测。记录在 QWEN_HOME/channels/daemon/
损坏或不支持版本时,可重置这个观察缓存文件等待新消息重建;这仅适用于联系人缓存,不是会话锁、配对或任务状态的通用删除办法。