把群公告交给 Dify:用 GPT-6 Astra 和 LangBot 搭建 QQ、飞书写作助手
从基础 Chatbot 开始,把零散信息变成群公告,再通过 LangBot 连续追问、压缩和翻译。含真实部署截图、提示词和 QQ、飞书接入说明。

群里要发一条活动通知,手头往往只有几句零散信息:时间、地点、报名方式,还得再花几分钟调整口吻。真正烦的不是写第一版,而是“短一点”“别那么正式”“换成企微群通知”这几轮来回。
这次我们把这件事做成了一个聊天助手:Dify 管提示词和会话,GPT-6 Astra 负责改写,LangBot 负责把入口放到平时就在用的消息平台里。下面从部署开始,做一个可以继续追问和改稿的应用。

实际链路:在 LangBot 里把英文提醒改成中文飞书群提醒。
先把 Dify 和 LangBot 跑起来
先安装 Docker Compose 和 Git,再分别按 Dify Docker Compose 部署文档 与 LangBot Docker 部署文档 启动两个服务。Dify 的基础步骤是克隆仓库、进入 docker 目录、将 .env.example 复制为 .env,再启动 Compose;LangBot 的文档提供完整的镜像和插件运行时配置。
本文截图来自 Dify 1.17.1、LangBot v4.10.11 的本机环境。我们把浏览器端口分别映射为 8088 和 5368;这是演示环境的自定义映射,官方默认部署通常分别使用 80 和 5300。如果沿用官方默认值,就打开 http://localhost 和 http://localhost:5300,不用为了对齐截图而改端口。各自创建管理员账户,并把界面语言设为 English。

本地 Dify 的首次初始化页面。

本地 LangBot 的首次初始化页面。
接入时最重要的是 LangBot 容器能访问 Dify。本次两个服务加入同一个 Docker 网络,因此 Runner 的 Base URL 使用 http://nginx/v1,其中 nginx 是 Dify 的服务名。你可以在两个 Compose 配置中为 Dify 的 nginx 和 LangBot 服务加入同一个外部网络;如果分别部署在不同主机,则填写 LangBot 能访问的 Dify HTTPS 地址并加上 /v1。下文表格里的 http://nginx/v1 都指本次共享网络环境,不能直接套到所有部署。容器内的 localhost 指向容器自己。
在 Dify 中配置 GPT-6 Astra
进入 Integrations → Model Provider,安装官方 OpenAI-API-compatible 插件,再点 Add Model。本次使用的插件版本是 0.0.66。
| 字段 | 本次设置 |
|---|---|
| Model Name / model name for API endpoint | gpt-6-astra |
| Model Type / Completion mode | LLM / Chat |
| Model display name | GPT-6 Astra |
| API Base URL | 你自己的 OpenAI 兼容服务地址,通常以 /v1 结尾 |
| API Key | 你的模型服务密钥 |
| API Type | Chat Completions API |
| Model context size / Upper bound for max tokens | 本教程设为 32768 / 4096 |
最后一行是这次演示的工作上限,不是对 Astra 完整规格的声明。保存时让 Dify 做连接验证,成功后再建应用。截图中的网关只是本次测试环境,实际使用时换成你自己的服务。模型参数和可用接口以所选服务为准。模型名称以你选用的服务实际提供的标识为准,本文保留本次实测的 gpt-6-astra。

添加自定义模型。API Key 在截图前保持为空,实际运行时已配置。
创建一个足够简单的 Chatbot
在 Dify Studio 点 Create → Create from Blank → More basic app types → Chatbot。命名 Astra Writing Assistant。这个需求只需要提示词和聊天记忆,用基础 Chatbot 就能做完整。

展开基础应用类型,选择 Chatbot。

给写作助手命名,说明它负责什么。
在 Configure model 选 GPT-6 Astra,然后把下面的指令放到 Instructions:
You help a community manager turn rough notes into messages people can use.
Reply in the language of the user's request.
For an announcement, give: one clear headline, a short ready-to-send message,
and one optional reminder.
Preserve supplied dates, times, links, and requirements exactly.
Never invent missing event details, discounts, results, or promises.
If an essential detail is missing, ask one concise question.
Use a natural, direct tone. Avoid hype and excessive emojis.
Keep a typical reply under 180 words. When revising, use conversation context.
我们特意把“保留时间和报名方式”写进了规则。群公告最怕的不是文笔一般,而是模型把晚上 8 点改成下午 8 点,或者顺手编出一个报名链接。指令用英文写不影响中文回复;Reply in the language... 会跟随用户语言。

写作助手的完整提示词编辑区。
先在右侧 Debug & Preview 输入:
帮我写一条飞书群公告:9月22日晚上8点举行机器人分享会,每人带一个机器人案例,在群里回复“报名”即可参加。口吻自然,100字以内。
实测回复保留了活动时间、案例要求和“报名”方式。接着可以继续说“删掉最后的提醒,只留两句话”。对于这种任务,第二轮是否记得上一轮,比第一次是否写得漂亮更有用。

Dify 中的中文公告回复,日期和报名方式来自输入。
英文测试也做了一遍:先要求写 Discord demo day 通知,再让它缩短并删除可选提醒。第二轮沿用了第一轮给定的日期、UTC 时间和频道。

多轮改写测试:继续修改已有公告。
基础 Chatbot 的改动需要通过 Publish Update 发布。不要只改了提示词就直接去平台测试,否则外部接口可能仍在使用上一个版本。

Access Point 同时提供 Web App 和 Backend Service API。
用 LangBot 接住消息入口
在 Dify 点 Publish,发布当前版本。然后进入 Access Point → Backend Service API → API Key,创建这个应用自己的密钥。
打开 LangBot,点 Create Pipelines,命名为 Astra Writing Assistant。进入 Configuration → AI:
| 字段 | 值 |
|---|---|
| Runner | Dify Service API |
| Base URL | http://nginx/v1 |
| App Type | Chat |
| API Key | 刚创建的 Dify 应用密钥 |
这里粘贴的是 Dify 应用密钥,不是前面配置 Astra 的模型密钥。一个负责调用应用,一个负责调用模型,别混用。保存后打开 Debug Chat,先验证整条调用链,再接平台。

LangBot 的 Dify Runner 配置;截图时尚未填入应用密钥。
在 LangBot 再试一次
我们先发了一条英文 Telegram 提醒,拿到回复后继续要求改成中文飞书群提醒。最终回复保留了“9月22日晚上8点”和“每人带一个机器人案例”,说明 Dify 的会话上下文已经通过 LangBot 串起来了。

LangBot 调用 Dify 返回英文活动提醒。
实际使用时,可以把这类助手放到运营群或项目群里,用提及触发。它适合把草稿变成能发送的文本:活动预告、版本通知、会议提醒、FAQ 回复。消息发送前仍由群成员决定是否采用,这样也方便继续改稿。
接到QQ、微信、飞书,以及其他消息平台
在 LangBot 点 Create Bots,选择适配器,填写平台提供的凭据。创建后把机器人绑定到刚才的流水线;检查 Trigger 中的私聊、群聊和提及规则,再按平台要求发布或邀请机器人。
本次实测覆盖 LangBot → Dify → GPT-6 Astra → LangBot 回复。以下是实际界面核对过的接入方式,平台账户与群聊没有在本次演示中授权连接。
| 入口 | 配置方式 |
|---|---|
| 飞书 / Lark | 选 Lark;可扫码创建应用,也可手填 App ID、App Secret、与平台一致的 Bot Name。中国平台域名选 Feishu,默认使用长连接;开发者后台配置消息权限、事件并发布应用。 |
| 钉钉 | 选 DingTalk;扫码或填写 Client ID、Client Secret。Robot Code 需从开发者后台复制;按文档配置 Stream 接收消息、机器人名称和需要的卡片模板。 |
| 企业微信智能机器人 | 选 WeComBot;长连接用 BotId、Secret,填写机器人名称。Webhook 模式另配 Corpid、Token、EncodingAESKey。两套模式不要混填。 |
| 企业微信内部应用 / 微信客服 | 分别选 WeCom 或 WeComCustomerService,按各自后台填写企业与应用凭据、Token、EncodingAESKey,完成 HTTPS 回调和可信 IP 配置。内部应用不能直接当群机器人使用。 |
| 微信个人会话 | 选 OpenClaw WeChat,通过界面的二维码授权登录,按适配器说明接入。 |
| 微信公众号 | 选 Official Account,填写 App ID、App Secret、Token、EncodingAESKey,配置公网回调与 IP 白名单。根据接口限制选择回复模式;耗时较长时可能需要用户再发一条消息取回结果。 |
| QQ:OneBot v11 | 运行兼容 OneBot v11 的协议端,配置反向 WebSocket 到 LangBot 的监听端口,两侧 Access Token 保持一致;演示环境的 Compose 把主机 2288 映射到容器 2280。 |
| QQ 官方机器人 | 选 QQ Official API;可扫码绑定或填写 App ID、Secret。当前界面说明 Token 可留空;接收模式、沙箱范围、发布审核以 QQ 官方及适配器文档为准。 |

飞书适配器支持域名选择、扫码创建和手工配置。

QQ 的 OneBot v11 方案需要反向 WebSocket 监听地址和端口。
LangBot 的适配器列表还包括 Discord、Slack、Telegram、LINE、Mattermost、Matrix、KOOK、Satori、HTTP Bot、Page Bot 和 WeChatPad。每种适配器需要的权限、回调和协议不同,不是填一个通用 Token 就全部接通。完整入口见 LangBot 平台文档。
如果只是想先模拟 QQ 消息,可以使用 matcha 之类的 OneBot 测试端;本文展示的对话来自 LangBot 自带 Debug Chat,没有把模拟对话当作真实群消息。
几个容易卡住的地方
遇到问题先按链路定位:Dify 预览能否回复、应用是否已 Publish、LangBot 的 Base URL 是否包含 /v1、应用类型是否正确,最后才看平台事件是否到达。如果改过 Dify 服务密码,Redis 与 Celery、Sandbox 与代码执行客户端的配置必须成对修改。
本机部署还遇到过代理软件返回虚拟 DNS 地址,导致 Dify 的 SSRF 代理拒绝插件下载。修好 DNS 后恢复,没必要关掉证书校验或内网访问保护。一次外部 API 的临时失败也不能当作模型或平台已经接通的证明,重试后仍应检查运行记录。
项目入口:LangBot 和 Dify。截图和测试日期为 2026 年 9 月 16 日,后续版本的菜单名称可能会变化。