不到 100 行代码,让你的飞书/钉钉群秒变 AI 工作站

周一早上 9 点,产品经理在群里抛出一个问题:"上周的需求文档在哪个文件夹?"

三小时后,没人回。

与此同时,技术 Leader 正在一字一句地写周报,内容跟上周大同小异,改改数字、换换措辞,40 分钟过去了。隔壁工位的新人第 8 次问同一个问题:"本地环境怎么配?"

这不是段子,这是大多数中国企业团队的真实写照。

而就在你们还在为这些琐事消耗精力的时候,另一些团队的做法是:@ 一下群里的 AI 机器人,10 秒搞定。

今天这篇文章,我要手把手带你把这个"10 秒搞定"的能力,搭进你的飞书或钉钉群里。零基础可上手,核心代码不超过 100 行,一个下午部署完毕。

---

一、为什么你的企业群聊需要一个 AI 机器人?

我们先做一道简单的算术题。

假设你的团队有 10 人,每人每天平均花费:

  • 写日报/周报:30 分钟
  • 回答重复性问题(环境配置、流程规范、文档位置):20 分钟
  • 整理会议纪要:15 分钟

合计:每人每天 65 分钟,10 人团队每天白白消耗 10+ 小时

这还没算上等待回复的时间成本——一个问题在群里沉 3 小时,背后可能是一个功能延期半天。

引入 AI 机器人之后,一个真实的中型技术团队(约 20 人)在使用 30 天后的数据变化大致如下:

| 场景 | 使用前(人均/天) | 使用后(人均/天) | 节省比例 | | 日报撰写 | 28 分钟 | 8 分钟 | ↓ 71% | | 重复问题响应 | 22 分钟 | 5 分钟 | ↓ 77% | | 会议纪要整理 | 18 分钟 | 4 分钟 | ↓ 78% | | 合计 | 68 分钟 | 17 分钟 | ↓ 75% |

人均每天省出约 51 分钟,10 人团队一个月节省的时间,相当于多出了 4 个完整工作日

这不是 AI 噱头,这是实实在在的时间账。

---

二、为什么选 8848AI API 作为机器人的"大脑"?

在动手之前,我们先把选型问题解决掉,省得后面踩坑。

很多团队第一反应是直接用 OpenAI 官方 API,但实际落地时会遇到三座大山:需要翻墙访问、绑定海外信用卡、一旦网络不稳定机器人就瘫痪。对于企业级应用来说,这些都是不可接受的。

国内大模型 API 是另一个选择,但问题在于:各家接口格式不统一,今天接入了文心,明天想换成通义,要重写一大堆适配代码。

对比下来,[8848AI API](https://api.884819.xyz) 是目前中小团队搭建企业机器人性价比最高的方案:

| 对比维度 | 官方 OpenAI API | 某国内大模型 API | 8848AI API | | 国内直连 | ❌ 需翻墙 | ✅ | ✅ | | 模型丰富度 | 仅 GPT 系列 | 仅自家模型 | GPT-4o / Claude / Gemini 全覆盖 | | 接口兼容性 | 原生 OpenAI 格式 | 私有格式,需适配 | 完全兼容 OpenAI 格式 | | 计费方式 | 绑定海外信用卡 | 预充值包月 | 按量付费,低门槛 | | 注册门槛 | 需海外手机号 | 实名认证 | 简单注册即用 | | 月均成本(1 万次调用) | 约 ¥280+ | 约 ¥150~200 | 约 ¥80~120 |

最关键的一点:完全兼容 OpenAI 格式。这意味着你在网上找到的任何 OpenAI 教程、任何开源项目,只需要改一行 base_url,就能直接跑起来。零迁移成本。

如果你认同这个选择,现在可以去 [api.884819.xyz](https://api.884819.xyz) 注册账号、拿到 API Key,下一章我们马上用到。

---

三、手把手搭建飞书 AI 机器人

整体架构很简单,一张图说明白:

用户在飞书群 @机器人

飞书服务器推送事件到你的 Webhook 地址

你的服务器接收消息 → 调用 8848AI API

AI 返回回复内容

通过飞书 API 发送消息回群聊

第一步:在飞书开放平台创建应用

1. 访问 [open.feishu.cn](https://open.feishu.cn),登录后点击「创建企业自建应用」

2. 填写应用名称(比如"团队 AI 助手")和描述,上传一个 icon

3. 进入「权限管理」,开启以下权限:

- im:message(读取消息)

- im:message:send_as_bot(发送消息)

- im:chat(获取群信息)

4. 进入「事件订阅」,添加事件:im.message.receive_v1(接收消息事件)

5. 填写「请求网址」——这是你的 Webhook 地址,格式为 https://你的域名/feishu/webhook

⚠️ 踩坑提醒:飞书会向你的 Webhook 地址发送一个验证请求(包含 challenge 字段),你的服务必须先上线并正确响应,才能保存事件订阅配置。建议先用 [ngrok](https://ngrok.com) 做本地调试,验证通过后再部署到服务器。

第二步:编写核心服务代码

先安装依赖:

pip install flask openai requests

核心代码如下,完整实现消息接收 → AI 处理 → 回复的全链路:

# app.py - 飞书 AI 机器人核心服务

import os

import requests

from flask import Flask, request, jsonify

from openai import OpenAI

app = Flask(__name__)

初始化 8848AI 客户端(兼容 OpenAI 格式,改一行 base_url 即可)

client = OpenAI(

api_key=os.environ.get("BABAAI_API_KEY"), # 从环境变量读取,不要硬编码

base_url="https://api.884819.xyz/v1"

)

FEISHU_APP_ID = os.environ.get("FEISHU_APP_ID")

FEISHU_APP_SECRET = os.environ.get("FEISHU_APP_SECRET")

def get_feishu_token():

"""获取飞书访问 Token"""

url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"

resp = requests.post(url, json={

"app_id": FEISHU_APP_ID,

"app_secret": FEISHU_APP_SECRET

})

return resp.json().get("tenant_access_token")

def send_feishu_message(chat_id, content):

"""向飞书群发送文本消息"""

token = get_feishu_token()

url = "https://open.feishu.cn/open-apis/im/v1/messages"

headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}

payload = {

"receive_id": chat_id,

"receive_id_type": "chat_id",

"msg_type": "text",

"content": f'{{"text": "{content}"}}'

}

requests.post(url, headers=headers, json=payload)

def chat_with_ai(user_message, system_prompt="你是一个专业的企业AI助手,回答简洁准确。"):

"""调用 8848AI API 获取回复"""

response = client.chat.completions.create(

model="gpt-4o",

messages=[

{"role": "system", "content": system_prompt},

{"role": "user", "content": user_message}

]

)

return response.choices[0].message.content

@app.route("/feishu/webhook", methods=["POST"])

def feishu_callback():

data = request.json

# 处理飞书 URL 验证挑战(首次配置时必须响应)

if "challenge" in data:

return jsonify({"challenge": data["challenge"]})

# 提取消息内容

event = data.get("event", {})

message = event.get("message", {})

msg_type = message.get("message_type", "")

# 只处理文本消息

if msg_type != "text":

return jsonify({"code": 0})

import json

content = json.loads(message.get("content", "{}"))

user_text = content.get("text", "").strip()

# 去掉 @机器人 的前缀

if "@_user_1" in user_text:

user_text = user_text.replace("@_user_1", "").strip()

if not user_text:

return jsonify({"code": 0})

# 调用 AI 并回复

ai_reply = chat_with_ai(user_text)

chat_id = message.get("chat_id")

send_feishu_message(chat_id, ai_reply)

return jsonify({"code": 0})

if __name__ == "__main__":

app.run(host="0.0.0.0", port=8080)

⚠️ 踩坑提醒:飞书的消息事件可能重复推送,生产环境建议用 message_id 做去重处理,避免机器人回复两遍。可以用 Redis 缓存最近处理过的 message_id,TTL 设 60 秒即可。

第三步:部署上线

最简单的方案是部署到国内云服务器(阿里云/腾讯云轻量应用服务器,最低 24 元/月):

# 设置环境变量

export BABAAI_API_KEY="your-8848ai-key"

export FEISHU_APP_ID="your-app-id"

export FEISHU_APP_SECRET="your-app-secret"

用 gunicorn 启动(生产环境推荐)

pip install gunicorn

gunicorn -w 2 -b 0.0.0.0:8080 app:app

配合 Nginx 反代 + SSL 证书,你的飞书机器人就正式 7×24 上线了。

当你在飞书群 @ 机器人,看到它第一次回复你的那一刻——这是整个搭建过程最有成就感的时刻。

---

四、钉钉机器人同步适配

钉钉机器人的接入逻辑与飞书大体相似,但有几个关键差异需要注意:

最重要的区别:钉钉有签名验证机制。 每次回调请求都会携带 timestampsign 参数,你的服务器必须验证签名,否则请求会被拒绝。
# 钉钉签名验证(必须实现,否则无法接收消息)

import hmac

import hashlib

import base64

def verify_dingtalk_sign(timestamp: str, sign: str, app_secret: str) -> bool:

"""验证钉钉回调签名"""

string_to_sign = f"{timestamp}\n{app_secret}"

hmac_code = hmac.new(

app_secret.encode("utf-8"),

string_to_sign.encode("utf-8"),

digestmod=hashlib.sha256

).digest()

expected_sign = base64.b64encode(hmac_code).decode()

return expected_sign == sign

@app.route("/dingtalk/webhook", methods=["POST"])

def dingtalk_callback():

# 验证签名

timestamp = request.headers.get("timestamp", "")

sign = request.headers.get("sign", "")

if not verify_dingtalk_sign(timestamp, sign, os.environ.get("DINGTALK_APP_SECRET")):

return jsonify({"errcode": 403, "errmsg": "签名验证失败"})

data = request.json

user_text = data.get("text", {}).get("content", "").strip()

sender_id = data.get("senderStaffId", "")

# ✅ 这里完全复用同一个 chat_with_ai 函数,8848AI 层代码零改动

ai_reply = chat_with_ai(user_text)

# 钉钉回复格式(直接 return JSON,无需主动调用 API)

return jsonify({

"msgtype": "text",

"text": {"content": ai_reply}

})

注意到了吗?chat_with_ai 函数一行代码都不用改。飞书和钉钉的差异只在"平台适配层"(签名验证、消息格式解析、回复方式),而 8848AI API 的调用层完全通用。这就是选择兼容 OpenAI 格式 API 的价值所在。

---

五、从"能用"到"好用"——5 个企业级进阶场景

机器人上线了,但如果只是个"会聊天的 AI",价值还远没有释放。下面给你 5 个拿来即用的场景模板。

场景 1:技术问题即问即答(含角色设定)

你是 [公司名] 的技术专家助手,精通 Python/Java/Go,

熟悉我们的技术栈(Kubernetes、MySQL、Redis)。

回答技术问题时:

1. 先给出直接可用的解决方案

2. 简要解释原因(不超过 3 句话)

3. 如果涉及代码,给出可运行的示例

4. 末尾提示可能的注意事项

场景 2:每日定时日报生成

用 cron 定时任务在每天 17:50 触发,让机器人主动在群里发送日报模板填写提醒,或者收集当天的 Git commit 记录自动生成技术日报摘要。

根据以下今日工作内容,生成一份简洁的团队日报:

[工作内容列表]

要求:

  • 按"完成事项 / 进行中 / 待解决问题"三段式结构
  • 语言简洁,每条不超过 20 字
  • 标注优先级(🔴高 / 🟡中 / 🟢低)

场景 3:会议纪要自动提炼

把会议录音转写文本(可用飞书妙记或钉钉会议的自动转写功能)丢给机器人:

以下是今天会议的转写文本,请提炼:

1. 核心决策(3-5 条)

2. 待办事项(格式:事项 | 负责人 | 截止日期)

3. 遗留问题(需要下次会议跟进的)

转写文本:[粘贴内容]

场景 4:新人入职 FAQ 自动应答

在 system prompt 里塞入你们的常见问题文档(环境配置、请假流程、报销规则),机器人就能 24 小时回答新人问题,HR 和 Leader 从此解放。

场景 5:代码 Review 辅助

请对以下代码进行 Review,重点关注:

1. 潜在的 Bug 或边界条件遗漏

2. 性能问题(时间复杂度、数据库查询等)

3. 代码可读性和命名规范

4. 安全性风险(SQL 注入、XSS 等)

给出具体的修改建议,并说明原因。

[粘贴代码]

这里有个小技巧:不同场景用不同模型效果更好。长文档摘要用 Claude(上下文窗口大)、代码分析用 GPT-4o、快速问答用 GPT-4o-mini(速度快成本低)。8848AI 的好处就在这里:同一个 Key、同一个接口,换个 model 参数就行。去 [api.884819.xyz](https://api.884819.xyz) 的模型列表页看看,也许会发现更多玩法。

---

六、写在最后

当别的团队还在开会讨论"要不要引入 AI 工具"的时候,你的团队已经把 AI 机器人跑在群里了。

这不是什么高深的技术,核心代码不超过 100 行,一个下午就能部署完毕。真正的门槛从来不是技术,而是迈出第一步的决心

现在,你已经有了一个能回答问题、写日报、整理会议纪要的 AI 团队成员。但它还有两个明显的短板:记不住上下文(每次对话都是"初次见面"),不了解你们的业务(它知道全世界的知识,却不知道你们公司的产品文档和内部规范)。

---

下一篇预告:《给你的飞书/钉钉机器人装上"记忆"和"知识库"——基于 8848AI API 的企业 RAG 实战》

>

我们会接入向量数据库,让机器人能"记住"每个同事的对话历史,还能基于你们的内部文档(产品 PRD、技术规范、运营手册)精准回答业务问题。一个真正"懂你们公司"的 AI 助手,才是终极形态。关注不迷路 👀

---

💬 你的团队用飞书还是钉钉?你最希望 AI 机器人帮你自动化哪个工作场景?评论区告诉我,点赞最高的场景,我在下一篇里优先写实现方案。
本文由8848AI原创,转载请注明出处。