能力概览
当前@xpert-ai/plugin-dingtalk 支持:
- HTTP 回调接收钉钉消息事件
- 单聊消息处理
- 群聊
@机器人消息处理 - 通知中间件发送文本、Markdown、卡片消息
- 通知中间件更新消息
- 通知中间件撤回人与机器人会话(OTO)消息
- 仅支持 HTTP 回调,不支持 Stream 模式
- 群聊中仅处理
@机器人消息 - 撤回能力当前只覆盖 OTO(人与机器人会话)消息
- 群聊列表查询在不同租户的可用性不稳定,不建议依赖自动拉取群列表
准备工作
开始前请先准备:- 钉钉企业账号(有应用管理权限)
- 企业内部应用(已开启机器人)
- 一个公网可访问的 Xpert 服务地址
- 回调安全参数(
callbackToken、callbackAesKey)
权限要求
如果需要使用用户选择器或dingtalk_list_users 工具读取用户列表,必须在钉钉应用权限中开通:
qyapi_get_department_member(通讯录部门成员读权限)
60011)。
在 Xpert 创建钉钉集成
进入 设置 -> 系统集成,创建提供方为“钉钉”的集成。必填配置
| 配置项 | 说明 |
|---|---|
Client ID (AppKey) | 钉钉应用的 AppKey(即 Client ID) |
Client Secret | 钉钉应用密钥 |
启用 HTTP 回调 | 当前版本必须开启 |
回调 Token | 用于验签 |
回调 AES Key | 用于解密回调密文 |
推荐配置
| 配置项 | 说明 |
|---|---|
机器人编码 | 用于主动发消息、更新消息、撤回消息 |
数字专家 | 未命中触发器绑定时的兜底 Xpert |
首选语言 | zh-Hans 或 en |
Client ID 与钉钉控制台中的 AppKey 是同一个值。
:::
配置钉钉回调
集成保存后,可在系统集成“测试”中拿到回调地址:- 在“事件与回调”或“机器人与消息推送”中使用上面的公网地址。
- 保证钉钉侧
token/aes_key与 Xpert 集成配置一致。 - 配置接收方式为 HTTP 推送。
搭建自动回复机器人(MyCoder 场景)
- 完成钉钉集成配置并通过测试。
- 在目标专家工作流中添加 钉钉触发器 并选择该钉钉集成。
- 发布专家。
- 将应用机器人加入目标群。
- 在群里通过
@机器人发送消息进行验证。
- 已有会话绑定
- 钉钉触发器绑定(
integrationId -> xpertId) - 集成配置中的
xpertId兜底
钉钉通知中间件
常用工具:dingtalk_send_text_notificationdingtalk_send_rich_notificationdingtalk_update_messagedingtalk_recall_messagedingtalk_list_users
dingtalk_send_rich_notification 的 mode 支持:
markdowninteractivetemplate
收件人配置
通知中间件通过recipient_type + recipient_id 定位收件人。
常见 recipient_type:
user_idopen_idchat_id
- 通知用户优先使用稳定的用户标识(如
open_id或平台统一映射后的user_id)。 - 通知群聊使用
chat_id(即openConversationId)。 recipient_id可配置为运行时变量(如{{state.dingtalkRecipientId}})。