Skip to content
FunCoding

Search

Search docs, Skills and MCP

DingTalk Workspace

通过已登录 DWS 账号接收私聊、群提及和文档评论通知。

This page has not been translated into English yet. The original Chinese version is shown below.

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 待办和投递。