DingTalk Workspace
通过已登录 DWS 账号接收私聊、群提及和文档评论通知。
DWS 渠道使用同一主机上已有的 DingTalk Workspace CLI 登录,以账号身份处理消息和文档评论。它与应用机器人 type: dingtalk 分开配置。
账号与配置
运行 Qwen Code 的主机需要 DWS CLI 1.0.57 或更新版本,且进程 PATH 能找到 dws。先检查和登录:
dws version --format json
dws auth login
dws profile list --format json
dws auth status --format json无界面环境可用 dws auth login --device。渠道启动时固定一个 profile:profile 可写精确名称或 corpId,省略时选 isCurrent 项;不会依赖 user_id 元数据区分登录方式。
{
"channels": {
"dws-work": {
"type": "dws",
"profile": "profile-name-or-corp-id",
"privatePolicy": "pairing",
"groupPolicy": "pairing",
"sessionScope": "chat_thread",
"groups": { "*": { "requireMention": true } },
"startReaction": "🤔",
"endReaction": "赞",
"cwd": "/path/to/project"
}
}
}qwen channel start dws-work
qwen channel pairing approve dws-work CODE第一条命令运行渠道;收到配对码后,在另一个终端执行第二条并替换 CODE。也可让 daemon 管理渠道,但不要同时运行独立服务和 daemon,因为它们共享服务租约。
谁能触发
新建的托管 DWS 渠道默认私聊和群均采用 pairing。privatePolicy 同时控制私聊、文档通知作者和原生待办创建者;后两种请求不受 groups.senders 控制。群准入由 groupPolicy 控制,获准群的成员默认 open;共享会话管理仍需明确 operators。
privatePolicy: disabled 会阻止这三类私人来源,watchTodos 则单独控制待办轮询。关闭的来源不会被订阅、轮询,也不能经迟到回调或持久重放启动新任务;既有待处理记录和历史游标仍保留,重新启用后可能处理较旧消息,包括停用期间的消息,并重新检查权限。
消息补收与反应
群消息先走实时个人事件流,再每 5 秒检查近期 @ 历史,补收平台未推送的外部群提及。私聊也有每 5 秒的历史补收;两条路径按会话和消息 ID 去重,引用文本在两条路径中均作为上下文。
requireMention 为 true 时只由提及唤醒,为 false 时还可接收已经通过群和成员策略的普通消息。startReaction 省略或空值使用 🤔;endReaction 省略或空值不添加结束反应。结束反应表示任务完成、失败或取消,消息投递可能在之后才完成。
文档评论
在文档评论中 @已登录账号,并开启给该账号发送钉钉通知的选项。渠道从私聊历史中的通知卡提取文档与评论,读取引用文档,再回复原评论;同一评论的重复通知只执行一次。
未产生通知的评论不会触发任务,也没有知识库或文档全量监视名单。文档任务默认 approvalMode 为 default,亦支持 plan、yolo;yolo 会自动批准工具调用,作用范围须与账号和工作区授权一致。
原生待办与回复重试见DWS 待办和投递。