OpenClaw+GLM-4.7-Flash:5步完成飞书机器人接入与自动化触发

1. 为什么选择这个组合?

去年我在整理团队周报时,发现每周要重复做三件事:收集飞书群里的关键讨论、整理成Markdown格式、手动发布到知识库。这个过程大概要花掉我两小时,直到我尝试用OpenClaw+GLM-4.7-Flash搭建自动化流程。

GLM-4.7-Flash是ollama平台上响应速度最快的轻量级模型之一,特别适合处理结构化文本。而OpenClaw的飞书插件能直接读取群消息,两者结合就像给机器人装上了"眼睛"和"大脑"。现在我的周报生成完全自动化,只需要在飞书里@机器人说"整理本周周报",10分钟后就能在知识库看到完整文档。

2. 环境准备与模型部署

2.1 部署GLM-4.7-Flash

我选择ollama部署是因为它的模型管理特别简洁。在Ubuntu服务器上只需要执行:

ollama pull glm-4.7-flash
ollama run glm-4.7-flash

默认会启动在11434端口。这里有个小技巧:如果想长期运行,可以用nohup:

nohup ollama run glm-4.7-flash --port 11434 > /dev/null 2>&1 &

测试模型是否正常工作:

curl http://localhost:11434/api/generate -d '{
  "model": "glm-4.7-flash",
  "prompt": "你好"
}'

2.2 OpenClaw基础安装

在Mac上我用Homebrew安装,比直接curl更可控:

brew install node@22
npm install -g openclaw@latest

初始化时选择Advanced模式,在模型配置环节填入:

{
  "baseUrl": "http://你的服务器IP:11434",
  "api": "openai-completions",
  "models": [{
    "id": "glm-4.7-flash",
    "name": "本地GLM轻量版"
  }]
}

3. 飞书机器人深度配置

3.1 创建自建应用

在飞书开放平台创建应用时,有三个关键配置容易出错:

  1. 权限范围:需要勾选"获取群消息"和"发送消息"
  2. IP白名单:先用curl ifconfig.me获取服务器公网IP
  3. 事件订阅:必须订阅"接收消息"事件

安装飞书插件时遇到个坑:新版本需要用全局模式安装:

openclaw plugins install @m1heng-clawd/feishu --global

3.2 配置文件优化

默认生成的openclaw.json需要手动添加消息加密配置。我的完整配置如下:

{
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "cli_xxxxxx",
      "appSecret": "xxxxxx",
      "encryptKey": "xxxxxx",
      "verificationToken": "xxxxxx",
      "connectionMode": "websocket"
    }
  }
}

这里有个血泪教训:如果verificationToken填错,机器人能收到消息但不会响应。建议先用飞书提供的在线调试工具测试凭证是否正确。

4. 自动化任务实战

4.1 消息触发设计

我设计了两级触发机制:

  1. 关键词触发:当消息包含"周报"时唤醒机器人
  2. @mention触发:必须@机器人时才执行任务

这通过在skill里添加条件判断实现:

if (message.includes('周报') && isMentioned) {
  await handleWeeklyReport();
}

4.2 任务链分解

一个完整的周报生成包含:

  1. 爬取最近7天的群消息(使用飞书API)
  2. 用GLM做关键信息提取(prompt工程见下文)
  3. 生成Markdown并存入指定目录
  4. 把文件链接回复到群里

最关键的prompt设计:

你是一个专业的信息整理助手。请根据以下聊天记录:
1. 按"项目进展"、"问题反馈"、"决策事项"三类归纳
2. 每个条目注明发言人和日期
3. 保留原始发言的关键数据
4. 用emoji区分不同类型

4.3 异常处理机制

在实际运行中我发现三个常见问题:

  1. 消息截断:飞书API默认只返回最近50条消息
    • 解决方案:递归调用API直到获取足够数据
  2. 模型超时:GLM-4.7-Flash处理长文本可能超时
    • 解决方案:分段处理,每10条消息汇总一次
  3. 权限变更:飞书token每2小时过期
    • 解决方案:实现token自动刷新逻辑

5. 效果验证与调优

上线第一周,机器人自动生成了3份周报。通过对比人工整理版本,我发现:

  1. 信息完整度:机器人能100%覆盖所有群消息,而人工可能会漏看
  2. 归类准确率:初期只有70%的内容被正确分类,通过优化prompt提升到92%
  3. 时间节省:从2小时手动操作降到10分钟自动运行

调优过程中最有价值的发现是:给GLM-4.7-Flash提供分类示例能显著提升效果。我在prompt里增加了这样的示例:

好的分类示例:
[项目进展] @张三 3月5日: 订单模块开发完成80%(✅正确)

差的分类示例:
订单模块开发完成80%(❌缺少类别和关键信息)

现在这套系统已经稳定运行3个月,除了周报外,还扩展到了会议纪要整理、待办事项提醒等场景。最大的收获不是节省时间,而是终于能确保团队信息不被遗漏——这是纯人工处理很难做到的。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐