# 用 Ollama 搭建钉钉 AI 机器人

Source: https://langbot.app/docs/zh/recipes/ollama/dingtalk

使用 LangBot 搭建由 Ollama 驱动的钉钉 AI 机器人：模型配置、机器人凭据、网络要求、测试与常见问题。

本文把 Ollama 模型接到钉钉机器人上。LangBot 接收钉钉消息，交给流水线处理后把答案发回去，你不需要写任何平台对接代码。

用 Ollama 在本地运行开源模型，通过 LangBot 内置 Agent 提供服务，对话数据不出你的机器。

## 准备工作

- 一个运行中的 LangBot：[LangBot Cloud](https://space.langbot.app/cloud)（无需服务器），或用 Docker、`uvx langbot` [自行部署](https://langbot.app/docs/zh/deploy/langbot/docker.md)。
- 可以从 LangBot 调用的 Ollama 账号或服务。
- 钉钉应用机器人（**Client ID** 与 **Client Secret**）。使用一键创建并在手机上授权后会自动填好。

## 网络要求

Stream 模式下由 LangBot 主动连接钉钉，不需要公网回调地址。

## 1. 添加 Ollama 模型

1. 安装 Ollama 并拉取模型（`ollama pull` 加模型名）。
2. 在 LangBot 的 **模型** 页面新增 LLM 模型，供应商选 Ollama，请求地址指向你的 Ollama 服务（默认端口 `11434`）。
3. 如果 LangBot 运行在 Docker 中，`localhost` 指的是容器本身，请改用宿主机地址（例如 `host.docker.internal`）。

## 2. 创建流水线

在 LangBot WebUI 打开 **流水线**，新建流水线（或编辑默认流水线），按下表配置 **AI** 能力。

| 配置项 | 填写                |
| --- | ----------------- |
| 运行器 | **内置 Agent**      |
| 模型  | 刚添加的模型，可以再加备用模型。  |
| 提示词 | 机器人的身份、语气以及不能做的事。 |
| 知识库 | 可选。绑定知识库后按你的资料回答。 |

## 3. 创建钉钉机器人

1. 新建机器人，选择 **钉钉** 适配器并使用 **一键创建**，或手动创建机器人后填写凭据。
2. 消息推送方式选择 **Stream 模式**。需要流式回复时，导入 LangBot 提供的 `dingtalk_stream_card.json` 卡片模板，开启 **使用卡片回复** 并填入卡片模板 ID。

## 4. 绑定并测试

打开机器人，选择刚才创建的流水线，保存并确认机器人已启用。

先单聊机器人，再把它加入群聊并 @ 它。

## 常见问题排查

- 小型本地模型的工具调用能力可能较弱；不支持函数调用的模型请不要勾选 **工具调用**。
- 回复不是流式而是纯文本：卡片模板未导入，或没有开启 **使用卡片回复**。
- 收不到消息：确认应用版本已发布，并在事件订阅中选择了 Stream 模式。
- 在 WebUI 的 **监控** 页面可以看到每条消息、每次流水线运行和错误详情。

## 常见问题

### 接入钉钉需要有公网 IP 的服务器吗？

不需要。Stream 模式下由 LangBot 主动连接钉钉，不需要公网回调地址。

### 钉钉机器人支持流式回复吗？

支持。在机器人上开启流式输出，同时 AI 后端也要支持流式。详见[平台功能对照表](https://langbot.app/docs/zh/insight/platform-features.md)。

### 同一套 Ollama 配置能同时用在其他平台吗？

可以。一条流水线可以绑定多个机器人，同一套配置能同时在多个平台上回复。

## 相关文档

- [钉钉完整接入文档](https://langbot.app/docs/zh/usage/platforms/dingtalk.md)
- [模型配置](https://langbot.app/docs/zh/usage/models/readme.md)
- 钉钉上的其他 AI 后端：[Dify](https://langbot.app/docs/zh/recipes/dify/dingtalk.md) · [n8n](https://langbot.app/docs/zh/recipes/n8n/dingtalk.md) · [Coze](https://langbot.app/docs/zh/recipes/coze/dingtalk.md) · [Langflow](https://langbot.app/docs/zh/recipes/langflow/dingtalk.md) · [DeepSeek](https://langbot.app/docs/zh/recipes/deepseek/dingtalk.md)
- Ollama 接入其他平台：[Telegram](https://langbot.app/docs/zh/recipes/ollama/telegram.md) · [Discord](https://langbot.app/docs/zh/recipes/ollama/discord.md) · [Slack](https://langbot.app/docs/zh/recipes/ollama/slack.md) · [飞书](https://langbot.app/docs/zh/recipes/ollama/lark.md) · [企业微信应用](https://langbot.app/docs/zh/recipes/ollama/wecom.md) · [企业微信智能机器人](https://langbot.app/docs/zh/recipes/ollama/wecombot.md)
