OpenClaw飞书机器人实战:Gemma-3-12b-it驱动自动化周报生成
1. 为什么选择OpenClaw+Gemma做周报助手?
上周五下午6点,我盯着空白的周报文档发呆——这已经是第三次忘记写周报了。作为一个小团队的Tech Lead,我发现自己80%的周报时间都花在"回忆这周干了什么"和"调整格式"上。直到在开发者社区看到有人用OpenClaw+大模型自动生成会议纪要,才意识到:重复性文档工作正是AI智能体的最佳战场。
OpenClaw的独特优势在于:
- 本地化执行:生成的周报直接保存到本机,避免敏感信息外流
- 自然语言交互:通过飞书机器人对话触发,符合日常沟通习惯
- 可编程工作流:能自动整合Git提交记录、JIRA任务状态等数据源
- 模型自由切换:Gemma-3-12b-it在指令跟随和格式控制上表现优异
实际测试发现,用Gemma-3-12b-it生成周报的三大惊喜:
- 能理解"把优先级高的任务放前面"这类模糊需求
- 自动将技术术语转化为管理层易懂的表达
- 生成的Markdown自带分级标题和emoji(虽然最终要去掉)
2. 环境准备:从零搭建自动化流水线
2.1 基础组件安装
我的设备是M1 MacBook Pro,先通过Homebrew完成基础依赖安装:
brew install node@22 npm install -g @qingchencloud/openclaw-zh@latest openclaw --version # 验证版本≥3.1.2遇到permission denied错误时,需要给OpenClaw授予辅助功能权限:
- 系统设置 > 隐私与安全性 > 辅助功能
- 添加终端和OpenClaw到允许列表
2.2 飞书通道配置
在飞书开放平台创建自建应用时,有两点需要注意:
- 权限范围:需要勾选"获取用户ID"和"发送消息"
- 安全设置:建议开启IP白名单(通过
curl ifconfig.me获取本机公网IP)
配置完成后在终端执行:
openclaw plugins install @m1heng-clawd/feishu nano ~/.openclaw/openclaw.json关键配置项示例:
{ "channels": { "feishu": { "enabled": true, "appId": "cli_xxxxxx", "appSecret": "xxxxxxxx", "encryptKey": "", "verificationToken": "" } } }重启服务后,在飞书群聊@你的机器人,应该能收到响应消息。
3. Gemma-3-12b-it模型接入实战
3.1 本地模型部署
我选择通过星图平台的一键镜像部署Gemma-3-12b-it:
docker run -d -p 5000:5000 --gpus all registry.cn-hangzhou.aliyuncs.com/csdn_mirrors/gemma-3-12b-it:latest部署完成后,用curl测试API是否正常:
curl -X POST http://localhost:5000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"gemma-3-12b-it","messages":[{"role":"user","content":"你好"}]}'3.2 OpenClaw模型配置
修改~/.openclaw/openclaw.json的模型部分:
{ "models": { "providers": { "gemma-local": { "baseUrl": "http://localhost:5000/v1", "apiKey": "no-need-for-local", "api": "openai-completions", "models": [ { "id": "gemma-3-12b-it", "name": "Local Gemma", "contextWindow": 8192 } ] } } } }执行openclaw gateway restart后,可以通过管理界面(http://127.0.0.1:18789)的"模型测试"验证连接状态。
4. 周报生成全流程剖析
4.1 触发机制设计
我在飞书群里设置了两种触发方式:
- 主动模式:@机器人并发送"生成周报"
- 被动模式:每周五18:00自动触发
被动模式需要添加crontab任务:
0 18 * * 5 curl -X POST http://localhost:18789/api/trigger \ -H "Content-Type: application/json" \ -d '{"channel":"feishu","event":"auto_report"}'4.2 数据收集阶段
OpenClaw会依次执行:
- 扫描
~/work/logs/下的每日工作记录 - 调用
git log --since "1 week ago"获取代码提交 - 通过JIRA API查询任务状态(需预先配置凭证)
4.3 提示词工程
经过多次迭代,最终确定的提示词模板:
你是一位专业的Tech Lead,请基于以下材料生成周报: [CONTEXT] 要求: 1. 按P0-P3优先级排序任务 2. 技术方案用通俗语言说明 3. 包含风险与应对措施 4. 输出标准Markdown格式 禁止: - 使用emoji - 出现"非常荣幸"等客套话这个模板能有效抑制Gemma过度"礼貌"的倾向。
5. 实际效果与调优心得
第一版生成的周报存在两个问题:
- 把代码优化工作归类为"风险"
- 技术方案描述过于简略
通过以下调整获得改善:
- 在提示词中明确定义"风险"的判断标准
- 要求"对每个技术方案提供1-2句解释"
- 设置
temperature=0.3降低随机性
最终成果是一个包含以下部分的Markdown文件:
本周进展 ├─ P0: 订单系统重构(已完成接口迁移) ├─ P1: 性能优化(Redis缓存命中率提升至92%) 下周计划 ├─ 灰度发布方案设计 ├─ 压力测试脚本开发 风险与问题 ├─ 第三方支付接口响应超时(已联系供应商排查)文件自动保存在~/reports/目录,并通过飞书机器人发送下载链接。
6. 你可能遇到的坑与解决方案
问题1:飞书消息能收到,但执行无反应
排查步骤:
- 检查
openclaw gateway日志是否有错误 - 确认飞书应用的"消息卡片请求网址"配置正确
- 测试直接调用API:
curl -X POST http://localhost:18789/api/run -d '{"task":"test"}'
问题2:Gemma生成内容不符合预期
调优方法:
- 在管理界面调整
max_tokens和temperature - 为关键指令添加示例(few-shot learning)
- 在提示词中用"必须""禁止"等强约束词
问题3:周报遗漏部分工作内容
数据源扩展:
- 安装
calendar-skill读取会议日程 - 配置Slack消息抓取(需额外权限)
- 增加手动补充接口:飞书发送"添加事项:xxx"
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。