能力概览
当前@xpert-ai/plugin-dingtalk 支持:
- Stream 模式长连接接收钉钉机器人消息和卡片回调
- HTTP 回调接收钉钉消息事件
- 单聊消息处理
- 群聊
@机器人消息处理 - 通知中间件发送文本、Markdown、卡片消息
- 通知中间件更新消息
- 通知中间件撤回人与机器人会话(OTO)消息
- 推荐优先使用 钉钉-Stream模式;只有无法使用 Stream 模式时,再使用 钉钉-HTTP模式
- 群聊中仅处理
@机器人消息 - 撤回能力当前只覆盖 OTO(人与机器人会话)消息
- 群聊列表查询在不同租户的可用性不稳定,不建议依赖自动拉取群列表
准备工作
开始前请先准备:- 钉钉企业账号(有应用管理权限)
- 企业内部应用(已开启机器人)
- 一个公网可访问的 Xpert 服务地址
- 回调安全参数(
callbackToken、callbackAesKey)
权限要求
如果需要使用用户选择器或dingtalk_list_users 工具读取用户列表,必须在钉钉应用权限中开通:
qyapi_get_department_member(通讯录部门成员读权限)
60011)。
在 Xpert 创建钉钉集成
进入 设置 -> 系统集成,按部署方式创建钉钉集成:- 推荐:创建 钉钉-Stream模式 集成。
- 备用:创建 钉钉-HTTP模式 集成。
必填配置
推荐配置
HTTP 模式还需要额外填写:
配置钉钉回调
如果使用 HTTP 模式,集成保存后可在系统集成“测试”中拿到回调地址:- 在“事件与回调”或“机器人与消息推送”中使用上面的公网地址。
- 保证钉钉侧
token/aes_key与 Xpert 集成配置一致。 - 配置接收方式为 HTTP 推送。
搭建自动回复机器人(MyCoder 场景)
- 完成钉钉集成配置并通过测试。
- 在目标专家工作流中添加 钉钉触发器 并选择该钉钉集成。
- 发布专家。
- 将应用机器人加入目标群。
- 在群里通过
@机器人发送消息进行验证。
- 已有会话绑定
- 钉钉触发器绑定(
integrationId -> 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}})。