Files
LangBot/zh/usage/platforms/dingtalk.mdx
T

135 lines
7.8 KiB
Plaintext

---
title: "钉钉"
description: "用 LangBot 搭建钉钉 AI 机器人,将 GPT、Claude、Dify 等接入钉钉群聊与会话。"
icon: "/images/platforms/dingtalk.svg"
---
部署 LangBot 到钉钉。
## 一键配置(推荐)
LangBot 支持一键创建钉钉应用并自动填写凭证,无需手动复制粘贴。
1. 打开 LangBot WebUI,进入**机器人 > 创建机器人**
2. 填写机器人名称,平台/适配器选择 `钉钉`
3. 在下方出现的**一键创建应用**区域,点击右侧的 **开始** 按钮
![一键创建应用](/images/zh/deploy/bots/dingtalk/dingtalk_oneclick_qrcode.png)
4. 使用钉钉扫描弹出的二维码,手机端会提示选择加入的组织
![选择组织](/images/zh/deploy/bots/dingtalk/dingtalk_select_org.png)
5. 选择组织后,可以**创建新的**机器人或**选择已有的**机器人
![创建或选择机器人](/images/zh/deploy/bots/dingtalk/dingtalk_create_or_select.png)
6. 授权成功后,手机端会显示「配置成功」,同时 LangBot WebUI 中的 Client ID 和 Client Secret 会**自动填入**
![配置成功](/images/zh/deploy/bots/dingtalk/dingtalk_config_success.png)
7. 点击**提交**,完成创建。当前版本会自动识别机器人身份。
<Warning>
一键配置会填写应用凭据,不会自动创建卡片模板。填写「卡片模板 ID」即自动启用流式回复,留空使用普通回复;使用按钮、输入框等人工交互,需要按下方步骤导入模板并填写「人工输入卡片模板 ID」。卡片功能还需在钉钉应用的权限管理中开通相应权限。
</Warning>
## 配置卡片模板(推荐使用 LangBot 模板)
使用卡片回复时,推荐直接导入 LangBot 提供的模板,无需自行搭建组件或绑定变量。先在钉钉应用的权限管理中开通卡片相关权限,再按用途选择模板:
| 用途 | 下载文件 | LangBot 配置字段 |
| --- | --- | --- |
| 流式回复,分开展示思考与正文 | `dingtalk_stream_card.json` | 卡片模板 ID |
| 等待用户填写、选择或确认后继续执行 | `dingtalk_human_input_card.json` | 人工输入卡片模板 ID |
### 创建并导入流式回复模板
1. 在 LangBot 的钉钉适配器配置中,点击「卡片模板 ID」下方的 **下载流式回复卡片模板**。
2. 打开[钉钉卡片平台](https://open-dev.dingtalk.com/fe/card),确认组织与机器人应用一致,点击 **新建模板**。
3. 填写模板名称,**卡片类型**选择「消息卡片」,**卡片模板场景**选择「AI 卡片」,**关联应用**选择当前机器人应用,**创建方式**选择「空白搭建」,点击 **创建空白模板**。
![新建模板:消息卡片、AI 卡片、关联机器人应用、空白搭建](/images/zh/deploy/bots/dingtalk/create_ai_card_template.png)
4. 进入卡片编辑器,在顶部点击 **更多 → 导入卡片模板**,选择下载的 `dingtalk_stream_card.json`。
![在卡片编辑器的更多菜单中导入卡片模板](/images/zh/deploy/bots/dingtalk/import_card_template.png)
<Note>
导入入口在卡片编辑器内,不在模板列表页。导入会替换当前模板内容,请使用新建的空白模板。保留导入后的组件、变量和事件绑定。
</Note>
5. 检查预览,**保存并发布**模板,再复制模板 ID。只保存草稿不能发送卡片;`param.templateUnpublished` 表示模板尚未发布。
6. 返回 LangBot,将 ID 填入 **卡片模板 ID** 并保存机器人配置,即自动启用流式回复。清空该字段并保存则恢复普通回复。
模板带有 LangBot 标识,思考与正文分区展示;思考区在输出时展开,完成后默认折叠,可点击展开。底部提供复制正文、赞/踩以及「内容由 AI 生成」标记。是否删除思考仍由流水线设置控制;删除后不展示思考区。普通消息保留思考时,会显示 `<think>`、`</think>` 标记并用空行分隔正文。
「卡片宽屏自动布局」默认开启,提供的流式回复模板已配置宽屏所需变量。已有机器人如果之前保存为关闭,需要手动开启并保存;如偏好窄卡片,也可关闭。
更新模板时,重新下载并导入最新版,保存并发布。如果新建了另一个模板,还需替换 LangBot 中的模板 ID。现有仅绑定 `content` 的模板仍可使用,但没有新版独立思考区的展示效果。
## 导入人工输入卡片模板
人工输入用于工作流或插件等待用户补充信息、选择选项或确认后再继续的场景,例如 Dify 的人工输入节点。普通聊天、仅展示流式回复不需要配置此模板。
1. 在「人工输入卡片模板 ID」旁点击 **下载人工输入卡片模板**,保存 `dingtalk_human_input_card.json`。
2. 按上方相同步骤,另建一个 **消息卡片 → AI 卡片 → 空白搭建** 模板,并关联当前机器人应用。
3. 在编辑器中选择 **更多 → 导入卡片模板**,导入人工输入 JSON。保留输入框、按钮、变量和事件绑定。
4. **保存并发布**,将此模板的 ID 填入 LangBot 的 **人工输入卡片模板 ID**,保存机器人配置。
两种模板请分别导入、填写对应字段。人工输入模板不替代流式回复模板,也不会自动开启流式回复。
---
## 手动配置
### 创建机器人
进入 [钉钉开发者后台](https://open-dev.dingtalk.com/?spm=ding_open_doc.document.0.0.74f445e5MkawbT#/),登录并且进入组织。登录成功后进入开放平台,是这样的:
![钉钉开放平台](/images/zh/deploy/bots/dingtalk/dingtalk1.png)
点击上方的 `应用开发`,然后点击右面蓝色的按钮 `创建应用`,填写机器人的基本信息,点击保存。
进入机器人的后台,比如我们有机器人 langbot2 ,那么它的管理页面是这样的:
![机器人页面](/images/zh/deploy/bots/dingtalk/dingtalk2.png)
### 配置机器人
点击 `添加应用能力`,`其他应用能力`,`机器人`中的 `配置`,点击配置并且填写信息之后,如下图:
![机器人配置](/images/zh/deploy/bots/dingtalk/dingtalk3.png)
点击页面下方的`发布`,发布成功之后,点击机器人页面中左侧最下方的`版本管理与发布`,如图:
![版本管理与发布](/images/zh/deploy/bots/dingtalk/dingtalk4.png)
如果是第一次创建机器人,那么右边是空的,需要点击`创建新版本`,在其中设置信息,然后设置`应用可见范围`,点击保存。
点击`事件订阅`,将其中的推送方式改为`Stream模式推送`。
如果需要卡片流式,则需要在权限管理中申请卡片权限,如图:
![申请卡片权限前](/images/zh/deploy/bots/dingtalk/dingtalk6.png)
![申请卡片权限后](/images/zh/deploy/bots/dingtalk/dingtalk7.png)
卡片模板请按上方「配置卡片模板」步骤,直接导入 LangBot 提供的模板并发布。
### 填写配置信息
点击`凭证与基础信息`,记录`Client ID` 和 `Client Secret`。将这两项凭据填写到 LangBot 的适配器配置中。
`markdown_card` 为是否启用 Markdown 形式的回复,当此配置项关闭时,`@发送者` 配置开关不会生效。
将以上配置项 记录下来,填到 LangBot 机器人配置表单中。
点击[卡片平台](https://open-dev.dingtalk.com/fe/card?spm=ding_open_doc.document.0.0.33cf2281L0fXsV)模板列表复制绑定的对应的模板id填入卡片模板id
**启动 LangBot** 。
### 添加机器人
本文使用钉钉 windows 桌面版举例,点击上方的`搜索`,`功能`,然后输入刚才机器人创建的名称,如图:
![robot_png](/images/zh/deploy/bots/dingtalk/dingtalk5.png)
点击机器人即可和机器人聊天。
如果想要添加到群里,那么点击钉钉群的`群管理`,`机器人`,`添加机器人`,然后搜索机器人名称就可以在群中使用。