首页 > 教程攻略 > ai资讯 >ChatGPT与钉钉/飞书如何打通?团队IM集成配置【教程】

ChatGPT与钉钉/飞书如何打通?团队IM集成配置【教程】

来源:互联网 时间:2026-06-06 13:16:22

团队日常用的钉钉或飞书,能不能直接调ChatGPT?当然可以,而且不用来回切换网页、复制粘贴。关键在于通过最新开放平台创建自定义机器人,再对接API——身份认证、密钥获取、可信域名配置、消息加解密逻辑,这几步一个都不能少。下面就把飞书和钉钉的完整接入方式拆开来讲,顺便把那些容易踩坑的配置细节一并交代清楚。

ChatGPT与钉钉/飞书如何打通?团队IM集成配置【教程】

飞书端接入:创建自定义机器人并绑定ChatGPT API

先从飞书说起。登录飞书管理后台,进入「应用管理」,右上角点击「创建应用」→ 选择「自定义应用」,填个名称比如“AI助手”,记得勾选「机器人」能力,然后点「创建」。这一步没什么技术含量,但应用名称最好起个能一眼认出来的,方便后面管理。

进入新应用的「机器人」页签,点击「启用机器人」,系统会生成一个

Webhook地址

——这是飞书向你的服务端推送消息的唯一入口。这个地址一旦泄露或者误删,就得重新生成,所以最好存到安全的位置,别随手贴到记事本里。

接下来到「凭证与基础信息」页签,记录下

App ID

App Secret

。这两串值后续调用飞书用户/群会话接口、验证消息签名时都会用到,绝对不能明文硬编码在前端代码里——服务器环境变量或者密钥管理服务才是正解。

然后就是动手写服务端代码了。在你自己的服务器上部署一个HTTP服务(Flask或FastAPI都行),接收飞书推送的JSON消息。解析出其中的text字段,拼装成OpenAI兼容的格式,拿你的ChatGPT API Key去请求openai.com/v1/chat/completions。拿到回复后,再按飞书消息卡片的格式(message_id + reply)调用飞书「发送回复」接口把结果传回去。这里特别提醒:

消息签名验证绝对不能跳过

。如果不校验签名,任何伪造的HTTP请求都能假装是飞书来触发你的机器人,安全上就是个窟窿。

钉钉端接入:使用「自定义机器人」+ 加签模式

钉钉这边有两个路子,看你的需求选。

方法一:免开发快捷启用(仅限简单问答)


在钉钉群聊天窗口右上角点「+」→ 选择「智能群助手」→ 搜索并添加「ChatGPT」或者经过认证的第三方插件(比如通义灵码、智谱清言这类替代方案)→ 按引导授权就能用基础问答了。这种方式不暴露API密钥,设置简单,但缺点是没法自定义提示词,也访问不了私有知识库,适合尝鲜。

方法二:自主部署(推荐生产环境)


登录钉钉开发者后台,进入「应用开发」,创建「自定义机器人」,填好名称、上传头像。关键一步:开启「加签」并保存生成的

密钥

——这个密钥只显示一次,丢失了可没法找回,务必第一时间存好。接着复制Webhook地址。

把这个Webhook地址配置到你服务器的接收端点上。每次钉钉推消息过来,必须用保存的密钥按HMAC-SHA256算法校验timestamp+sign,校验不过的直接拒收。通过校验后,提取text内容,调ChatGPT API。返回的结果要封装成钉钉支持的markdown或actionCard格式,再POST回同一个Webhook地址。

注意一个限额:钉钉对自定义机器人每分钟最多发送20条消息,超频会被临时封禁。如果团队使用频率高,得申请「企业内部应用」并走OAuth2.0授权流程,才能突破这个限制。

关键共性配置项:签名验证与消息格式对齐

飞书和钉钉的配置虽然各有细节,但有几个共通的要点必须统一处理好,否则机器人要么跑不起来,要么安全风险巨大。

① 飞书消息签名验证


从HTTP Header中取出X-Feishu-Signature,用App Secret对原始请求体(body)做HMAC-SHA256,Base64编码后比对。不校验?那任何HTTP请求都能冒充飞书往你的机器人发消息,后果可想而知。

② 钉钉加签计算


将timestamp + " " + 密钥 拼接后做HMAC-SHA256,再Base64编码,与Header中的sign字段比对。时间戳误差超过1小时直接失效——这也是为了防止重放攻击。

③ 统一处理用户指令


无论飞书还是钉钉,用户@机器人发送的文本里常见换行、emoji、@人ID这些噪声。必须清洗掉非文字字符,只保留核心问题,否则ChatGPT可能被干扰,生成一堆无关回复。

④ 回复长度截断


飞书卡片正文限制3000字符,钉钉markdown消息限制4000字符。如果ChatGPT返回的内容超长,别一股脑全塞进去——按句子切分,分多次reply,否则整条消息会被丢弃。手工切分虽然麻烦,但比丢消息强。