发现全球最佳 AI 工具

从零教你部署与精通,掌握实战变现工作流

飞书和钉钉AI机器人部署教程封面图,展示Webhook、AI模型和自动化工作流连接流程

飞书/钉钉AI机器人部署教程:从零搭建企业自动化助手

本文详细介绍飞书/钉钉 AI 机器人的部署方法,覆盖自定义机器人 Webhook、企业应用机器人、Python 后端、n8n 工作流、AI 模型接入、安全签名、上线检查与常见问题排查。

飞书/钉钉AI机器人部署教程:从零搭建企业自动化助手

网站发布教程 · 保姆级部署 · Webhook / 企业应用 / AI模型接入 / 常见问题排查

一、文章摘要

这是一篇面向新手、运营人员、站长和企业自动化搭建者的飞书/钉钉 AI 机器人部署教程。文章从“群机器人 Webhook 推送”讲到“企业应用机器人 AI 对话”,覆盖准备工作、机器人创建、安全签名、Python/Node/n8n 服务部署、AI 模型接入、消息格式、上线检查和常见报错排查。读者可以照着教程快速做出一个能在飞书或钉钉群里推送日报、告警、内容审核结果、工作流通知,甚至能接入 DeepSeek、OpenAI、通义千问、Ollama 等模型进行问答的企业 AI 助手。

提示:如果只是把系统消息推送到群里,优先选择“自定义机器人 + Webhook”;如果要让员工在群里 @机器人提问、做知识库问答或审批辅助,建议选择“企业应用机器人 + 回调服务”。

二、适合谁阅读?

  • 想给公司飞书群/钉钉群接入 AI 日报、监控报警、文章发布提醒的人;
  • 想把 DeepSeek、OpenAI、通义千问、Ollama 等模型接入办公群的人;
  • 正在做 AI 自动化工作流、WordPress 自动发文、客服问答、知识库检索的人;
  • 不想直接写复杂企业应用,想先从 Webhook 快速入门的新手;
  • 需要把机器人部署到服务器、Docker、n8n 或云函数上的站长/运维。

三、先看总流程:三种部署路线怎么选?

路线适合场景优点注意事项
Webhook 推送型日报、告警、发布通知、表格提醒部署最快,只要能 POST 请求即可通常只能主动推送,不适合复杂对话
企业应用机器人群聊问答、知识库、AI客服、审批助手能力完整,可接收事件和调用开放接口需要企业管理员审批、权限配置和回调服务
n8n/低代码型RSS、表格、数据库、定时任务串联适合运营和站长,改流程方便复杂签名、回调校验仍可能需要代码节点
本地模型型内网知识库、私有数据、安全合规场景数据可控,可配 Ollama/LocalAI/vLLM需要服务器资源和模型运维能力

四、飞书/钉钉机器人到底是什么?

从功能上看,飞书和钉钉机器人可以分为两类:一类是“群自定义机器人”,核心能力是通过 Webhook 向指定群聊推送消息;另一类是“企业应用机器人”,可以作为企业应用的一部分接收事件、处理回调、调用更丰富的开放接口。

1. 自定义机器人:适合先跑通

自定义机器人最适合新手入门。你在群聊里添加一个机器人,平台会生成一个 Webhook 地址。之后你的脚本、n8n 工作流、监控系统、AI 服务只要向这个地址发送 HTTP POST 请求,就能把消息推送到群里。

2. 企业应用机器人:适合做“真正的 AI 助手”

如果你希望机器人能接收用户消息、处理 @提问、读取审批或通讯录权限、调用平台接口,就需要创建企业内部应用,并添加机器人能力。这个方案更强,但步骤也更多:创建应用、配置权限、发布审批、配置回调地址、校验签名、处理事件,再把消息交给 AI 模型。

五、推荐架构:把机器人入口和 AI 服务分开

推荐把系统拆成四层:平台入口层、消息处理层、AI 模型层、业务系统层。这样做的好处是:飞书和钉钉平台变更时,只需要改入口适配;AI 模型换供应商时,只需要改模型调用;业务场景增加时,可以复用已有消息服务。

六、部署前准备清单

准备项建议配置说明
账号与权限飞书/钉钉账号;需要时准备企业管理员权限自定义机器人通常在群内创建;企业应用往往需要管理员审批。
服务器Linux VPS、云服务器、内网服务器、云函数均可只做主动推送不一定需要公网入口;接收回调必须有公网 HTTPS。
开发环境Python 3.10+ 或 Node.js 20+Python 适合新手;Node.js 适合前端和 Serverless。
AI 模型DeepSeek、OpenAI、通义千问、Ollama、LocalAI、vLLM推荐优先使用 OpenAI-compatible API,便于切换模型。
安全配置签名密钥、环境变量、IP 白名单、HTTPS不要把 Webhook 或 Secret 写进网页前端、GitHub 公开仓库。
可选工具Docker、n8n、Nginx、PM2、systemd适合长期运行和生产部署。

七、飞书 AI 机器人部署流程

方案 A:飞书自定义机器人 Webhook 推送

适合做 AI 日报、监控报警、内容发布通知、运营数据提醒。基本流程如下:

  1. 在飞书 PC 客户端进入目标群聊;
  2. 打开群设置,找到“机器人 / Bots”;
  3. 选择“添加机器人”,添加“自定义机器人”;
  4. 设置机器人名称、头像和描述;
  5. 复制 Webhook 地址;
  6. 开启安全设置,建议使用签名校验;
  7. 用 curl、Python 或 n8n 发送一条测试消息。

提示:飞书自定义机器人适合“向群里推送消息”。如果要接收群成员提问并回复,建议使用企业应用机器人,或在工作流里另行配置回调入口。

飞书 Python 测试脚本

import os

import time

import hmac

import hashlib

import base64

import requests

FEISHU_WEBHOOK = os.getenv(“FEISHU_WEBHOOK”)

FEISHU_SECRET = os.getenv(“FEISHU_SECRET”, “”)

def make_feishu_sign(timestamp: str, secret: str) -> str:

    # 飞书自定义机器人签名常见写法:timestamp\nsecret 参与 HMAC-SHA256 后 Base64

    string_to_sign = f”{timestamp}\n{secret}”

    hmac_code = hmac.new(string_to_sign.encode(“utf-8”), digestmod=hashlib.sha256).digest()

    return base64.b64encode(hmac_code).decode(“utf-8”)

def send_feishu_text(text: str):

    payload = {

        “msg_type”: “text”,

        “content”: {“text”: text}

    }

    if FEISHU_SECRET:

        timestamp = str(int(time.time()))  # 飞书通常使用秒级时间戳

        payload[“timestamp”] = timestamp

        payload[“sign”] = make_feishu_sign(timestamp, FEISHU_SECRET)

    resp = requests.post(FEISHU_WEBHOOK, json=payload, timeout=15)

    print(resp.status_code, resp.text)

if __name__ == “__main__”:

    send_feishu_text(“AI机器人测试:飞书消息推送成功 ✅”)

方案 B:飞书企业应用机器人 AI 对话

如果你的目标是“群里 @机器人,机器人调用 AI 模型后回答”,建议走企业应用路线。大致流程如下:

  • 进入飞书开放平台,创建企业自建应用;
  • 添加“机器人”能力;
  • 配置应用权限,例如接收消息、发送消息、读取用户基础信息等;
  • 在“事件订阅”中配置回调方式,可选择请求地址或长连接;
  • 部署后端服务,校验平台回调,解析用户消息;
  • 调用 AI 模型生成回答;
  • 通过飞书开放接口或回复机制把答案发回群聊。

企业应用机器人更适合做知识库问答、制度查询、运维助手、客服助手。部署时要重点关注权限审批、回调地址验证、事件订阅、消息去重和敏感信息过滤。

八、钉钉 AI 机器人部署流程

方案 A:钉钉自定义机器人 Webhook 推送

钉钉自定义机器人同样适合做群通知。基本步骤如下:

  1. 打开钉钉客户端,进入目标群聊;
  2. 进入群设置,找到“机器人”;
  3. 选择“添加机器人”,选择“自定义机器人”;
  4. 填写机器人名称、头像和说明;
  5. 配置安全设置,建议至少启用加签,必要时叠加关键词或 IP 白名单;
  6. 复制 Webhook 地址;
  7. 用脚本发送 text、markdown、link 或 ActionCard 消息。

钉钉 Python 测试脚本

import os

import time

import hmac

import hashlib

import base64

import urllib.parse

import requests

DINGTALK_WEBHOOK = os.getenv(“DINGTALK_WEBHOOK”)

DINGTALK_SECRET = os.getenv(“DINGTALK_SECRET”, “”)

def build_dingtalk_url(webhook: str, secret: str) -> str:

    if not secret:

        return webhook

    timestamp = str(round(time.time() * 1000))  # 钉钉使用毫秒级时间戳

    string_to_sign = f”{timestamp}\n{secret}”

    hmac_code = hmac.new(

        secret.encode(“utf-8”),

        string_to_sign.encode(“utf-8”),

        digestmod=hashlib.sha256

    ).digest()

    sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))

    connector = “&” if “?” in webhook else “?”

    return f”{webhook}{connector}timestamp={timestamp}&sign={sign}”

def send_dingtalk_markdown(title: str, markdown: str):

    url = build_dingtalk_url(DINGTALK_WEBHOOK, DINGTALK_SECRET)

    payload = {

        “msgtype”: “markdown”,

        “markdown”: {

            “title”: title,

            “text”: markdown

        }

    }

    resp = requests.post(url, json=payload, timeout=15)

    print(resp.status_code, resp.text)

if __name__ == “__main__”:

    send_dingtalk_markdown(

        “AI机器人测试”,

        “### AI机器人测试\n\n钉钉消息推送成功 ✅”

    )

提示:钉钉的安全策略常见有关键词、加签、IP 白名单。生产环境不建议只用关键词;更稳妥的做法是“加签 + IP 白名单”,并定期轮换密钥。

方案 B:钉钉企业内部应用机器人

如果要做可交互的 AI 助手,例如“@机器人 总结这个链接”“帮我查某个制度”“生成本周工作周报”,建议使用企业内部应用或机器人应用能力。通常需要完成以下工作:

  • 在钉钉开放平台创建企业内部应用;
  • 配置机器人能力、事件订阅或回调地址;
  • 按需申请消息、通讯录、审批、群会话等权限;
  • 部署后端接口并完成签名验证;
  • 解析用户消息,做权限判断和敏感词过滤;
  • 调用 AI 模型;
  • 把结果以文本、Markdown、卡片等形式返回。

九、接入 AI 模型:推荐使用 OpenAI-compatible API

为了后续方便切换模型,建议把模型调用封装成统一接口。无论底层是 DeepSeek、OpenAI、通义千问、Moonshot、Ollama、LocalAI、vLLM,只要提供 OpenAI-compatible 接口,就可以使用类似的调用方式。

import os

from openai import OpenAI

client = OpenAI(

    api_key=os.getenv(“AI_API_KEY”),

    base_url=os.getenv(“AI_BASE_URL”, “https://api.deepseek.com”)

)

def ask_ai(user_text: str) -> str:

    resp = client.chat.completions.create(

        model=os.getenv(“AI_MODEL”, “deepseek-chat”),

        messages=[

            {“role”: “system”, “content”: “你是企业办公群里的AI助手,回答要简洁、准确、可执行。”},

            {“role”: “user”, “content”: user_text}

        ],

        temperature=0.3,

    )

    return resp.choices[0].message.content

十、最小可运行后端:FastAPI 版本

下面这个示例适合把“外部系统提交的问题”转成 AI 答案,再推送到飞书或钉钉群里。实际生产环境还应加入鉴权、限流、日志、异常重试和敏感信息过滤。

import os

from fastapi import FastAPI

from pydantic import BaseModel

app = FastAPI()

class AskPayload(BaseModel):

    platform: str  # feishu 或 dingtalk

    question: str

@app.post(“/ai-bot/ask”)

def ai_bot_ask(payload: AskPayload):

    answer = ask_ai(payload.question)

    if payload.platform == “feishu”:

        send_feishu_text(answer)

    elif payload.platform == “dingtalk”:

        send_dingtalk_markdown(“AI助手回复”, answer)

    else:

        return {“ok”: False, “error”: “unsupported platform”}

    return {“ok”: True, “answer”: answer}

# 启动:uvicorn app:app –host 0.0.0.0 –port 8000

十一、n8n 低代码部署方案

如果你前面已经部署过 n8n,可以用低代码方式快速实现飞书/钉钉 AI 机器人。推荐工作流如下:

  • Cron 节点:每天固定时间触发;
  • HTTP Request 节点:读取 RSS、WordPress、数据库、表格或业务接口;
  • AI 节点或 HTTP Request:调用 DeepSeek/OpenAI/Ollama 生成摘要;
  • Code 节点:必要时计算飞书/钉钉签名;
  • HTTP Request 节点:把消息发送到飞书/钉钉 Webhook;
  • Error Trigger:失败时推送错误详情到管理员群。

n8n 的优势是改流程快、可视化强,适合内容站、运营日报、自动发文通知、客户线索汇总等场景。缺点是复杂的企业应用回调和签名校验仍需要少量代码。

十二、消息格式建议:不要只发纯文本

消息类型飞书适用钉钉适用推荐场景
text 文本支持支持简单提醒、测试消息
markdown / 富文本支持富文本/卡片支持 Markdown日报、周报、监控摘要
link 链接可用卡片/富文本实现支持 link文章发布、工单跳转、报表链接
interactive / card支持飞书卡片支持 ActionCard 等审批提醒、按钮操作、结构化通知
image 图片支持支持图表、告警截图、封面图预览

十三、生产环境上线检查清单

  • Webhook、Secret、API Key 全部放到环境变量或密钥管理工具中;
  • 不要把飞书/钉钉 Webhook 地址提交到公开仓库;
  • 开启签名校验,生产环境尽量叠加 IP 白名单;
  • 后端服务开启 HTTPS,回调入口限制请求大小;
  • AI 模型调用增加超时、重试和降级方案;
  • 对用户输入做敏感信息过滤,避免把内部隐私发给外部模型;
  • 记录日志时隐藏 token、secret、手机号、身份证号等敏感字段;
  • 机器人回复设置频率限制,避免无限循环刷屏;
  • 把测试机器人和生产机器人分开;
  • 至少准备一个管理员告警通道。

十四、常见问题排查

1. 飞书/钉钉机器人可以直接接入 ChatGPT 或 DeepSeek 吗?

可以,但建议通过你自己的后端服务中转。后端负责保存密钥、校验签名、控制权限、过滤敏感内容,再调用模型接口。不要把模型 API Key 写在前端页面或公开脚本中。

2. 自定义机器人和企业应用机器人应该怎么选?

只做通知推送,选自定义机器人;要接收用户消息、做群聊问答、调用平台开放接口,选企业应用机器人。

3. 为什么 Webhook 测试成功,但生产环境偶尔失败?

常见原因是网络超时、平台限流、签名时间戳不准、模型响应过慢或消息格式不合法。建议加重试、超时控制、日志和失败告警。

4. 飞书和钉钉能共用一套 AI 后端吗?

可以。建议后端统一成“平台适配层 + AI 服务层 + 业务层”。平台适配层分别处理飞书/钉钉格式,AI 服务层统一调用模型。

5. 可以接入本地 Ollama 模型吗?

可以。如果服务器能访问 Ollama 的本地接口,可以把 AI_BASE_URL 指向 Ollama、LocalAI 或 vLLM 的 OpenAI-compatible 服务。

6. 群里多人同时提问会不会混乱?

会有这个风险。建议对每条消息保存 message_id、chat_id、user_id,做消息去重、上下文隔离和并发队列。

7. 机器人回复太长怎么办?

可以在 Prompt 中限制字数,或者把长答案拆成“摘要 + 链接”,详细内容写入文档、知识库或网页。

8. 如何防止机器人泄露企业资料?

使用企业内部模型或本地模型;对外部模型做脱敏;设置白名单群聊;禁止机器人处理身份证、合同、财务、客户隐私等敏感内容。

官方参考来源

Facebook
LinkedIn
Reddit
X
Email
WhatsApp
Telegram
Pinterest
Mix

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注