钉钉
用你所在组织自己的钉钉应用连接机器人,支持单聊和群里 @ 提及。
本页适用于中国大陆版钉钉(dingtalk.com)。国际版钉钉(dingtalk.io)请切换到英文版。
AgentConnect Cloud 和自托管部署都支持钉钉。每个组织用自己的企业内部应用连接机器人。Daemon 通过钉钉的 Stream 模式主动向外连接,因此不需要公网回调 URL。
创建应用
登录组织后,在钉钉开发者后台:
-
在企业内部应用下点击创建应用。应用名称只能包含字母、汉字和数字,不能有空格。
-
点击添加应用能力 → 机器人并打开机器人配置。给机器人填上 Agent 的名称和图标,钉钉会在聊天里显示它们,AgentConnect 无法替你设置。
填写机器人简介和描述,上传消息预览图,保留 Stream 模式的消息接收方式,然后点击发布。
-
在权限管理中搜索并开通
Card.Instance.Write、Contact.Org.Read和qyapi_get_microapp_list,三个权限都无需审批。Card.Instance.Write让成员能点按卡片回答 Agent 的问题。不开通时,问题会以带编号的文字发出。Contact.Org.Read让 Console 用组织名称命名这个集成,机器人收到第一条消息后生效。不开通时,集成以 Client ID 命名。qyapi_get_microapp_list让 Console 显示机器人自己的名字。不开通时,机器人以 Client ID 显示。
-
在版本管理与发布中创建版本,设置谁能看到机器人,然后保存。免审的版本保存后立即上线。之后对应用的每次修改,都要发布新版本才会生效。
-
在凭证与基础信息中复制 Client ID 和 Client Secret。
连接
在你的 Agent 上打开集成 → 添加集成 → 钉钉,在钉钉选择块上保持「国内版」(「国际版」对应国际版钉钉),粘贴 Client ID 和 Client Secret,然后点击连接。AgentConnect 会先向钉钉校验这对凭证再保存;如果应用属于另一个版本,会提示你切换到哪个版本。
使用
-
单聊:直接给机器人发消息。一个单聊就是与 Agent 的一个持续会话。
-
群聊:把机器人加进群并 @ 它。只有提及机器人的群消息,钉钉才会发给机器人。每次新的 @ 开启一个会话;要接着聊,回复 Agent 的消息即可,回复会自动 @ 机器人。如果想让整个群共用一个会话,在 Agent 的集成卡片上把该群的会话模式设为单一会话。
-
进度:Agent 工作时,你的消息上会有一个「🤔思考中」表情,回合结束后消失。回答以 Markdown 发出。
-
文件和图片:在单聊里给机器人发文件或图片,或在群里 @ 机器人的同时引用一个文件。Agent 也能把工作区里的图片和文件发回来。
-
提问:Agent 需要你做选择时,会发一张卡片。是/否问题和最多四个选项显示为按钮;五到十二个选项显示为下拉框加提交。点选答案后,卡片会向会话里的所有人显示这个答案。
-
审批:钉钉没有审批卡片。工具调用需要审批时,由 Agent 编辑者在控制台处理,会话里会收到一条通知。
停止、取消、排队以及修改支持的会话设置,见会话内命令。
说明
- 钉钉标准版每个应用每月可调用 5,000 次 API、接收 3,000 条消息。达到上限后,Agent 会在会话里说明一次,而不是继续回答。更高的钉钉版本额度更高。
- 不支持话题圈:钉钉只允许它自己的助理和 Webhook 自定义机器人加入话题圈,企业内部应用的机器人加不进去。
- 一个钉钉机器人绑定一个 Agent。删除集成会释放该机器人以便复用(下次选择使用已有机器人),不会从钉钉开发者后台删除应用。
- 在集成 → 消息应用 → 钉钉 → 更换密钥中更换 Client Secret。机器人的会话不受影响。