OpenClaw技能扩展实战:用ollama-QwQ-32B搭建自动化周报生成器
1. 为什么需要自动化周报生成器
每周五下午,我的心情总是特别复杂。一方面期待着周末的到来,另一方面又要面对那个永恒的任务——写周报。作为一个技术从业者,我发现自己花了太多时间在整理日志、回忆工作内容和调整格式上,而不是真正有价值的工作复盘。
直到我发现了OpenClaw这个开源自动化框架。它让我意识到,这种重复性的文档工作完全可以交给AI来处理。通过将ollama-QwQ-32B大模型与OpenClaw的file-processor技能结合,我成功搭建了一个完全自动化的周报生成系统。现在,它不仅能读取我分散在各处的日志文件,还能生成结构清晰的周报,甚至自动发送给团队。
2. 系统架构与核心组件
2.1 整体工作流程
这个自动化周报生成器的核心思路很简单:让AI像人类助理一样,收集我的工作痕迹,理解它们,然后整理成规范的报告。具体流程分为三个阶段:
- 数据收集阶段:系统扫描我指定的日志目录,读取Markdown格式的每日工作记录
- 内容生成阶段:ollama-QwQ-32B模型分析日志内容,提取关键信息,按照公司模板生成周报
- 交付阶段:系统将生成的周报保存到指定位置,并通过邮件自动发送给主管
2.2 关键技术选型
选择ollama-QwQ-32B作为核心模型有几个考虑。首先,它支持32K的上下文长度,足以处理一周的工作日志。其次,ollama的本地部署方式保证了数据的隐私性,我的工作内容不会离开本地环境。最重要的是,QwQ系列模型在中文理解和结构化输出方面表现优异,非常适合这种办公自动化场景。
OpenClaw的file-processor技能则提供了与文件系统交互的能力。它不仅能读取和写入文件,还能理解文件内容的结构,这为日志解析提供了基础能力。
3. 具体实现步骤
3.1 环境准备与安装
首先需要在本地部署ollama-QwQ-32B模型服务。我使用的是CSDN星图平台提供的一键部署镜像,省去了手动配置的麻烦:
# 拉取ollama-QwQ-32B镜像 docker pull csdn-mirror/ollama-qwq-32b # 启动模型服务 docker run -d -p 11434:11434 csdn-mirror/ollama-qwq-32b接下来安装OpenClaw核心框架和必要的技能包:
# 安装OpenClaw curl -fsSL https://openclaw.ai/install.sh | bash # 安装file-processor技能 clawhub install file-processor email-sender3.2 配置文件与模型接入
OpenClaw的配置文件位于~/.openclaw/openclaw.json。需要在这里添加ollama-QwQ-32B作为模型提供方:
{ "models": { "providers": { "ollama-qwq": { "baseUrl": "http://localhost:11434", "api": "openai-completions", "models": [ { "id": "qwq-32b", "name": "Ollama QwQ 32B", "contextWindow": 32768 } ] } } } }配置完成后,重启OpenClaw网关使更改生效:
openclaw gateway restart3.3 日志格式标准化
为了让模型更好地理解我的工作内容,我设计了一个简单的Markdown日志模板:
## 2023-11-20 周一 ### 重点工作 - [x] 完成OpenClaw接入测试 - [ ] 编写用户文档 ### 问题与思考 - 发现模型响应速度较慢,可能需要优化prompt ### 明日计划 - 继续文档编写工作 - 测试自动化周报生成这种结构化的格式大大提高了模型解析的准确性。我习惯每天下班前花5分钟填写这个模板,存放在~/work/logs目录下。
4. 自动化流程实现
4.1 周报生成技能开发
OpenClaw允许通过简单的YAML文件定义自动化技能。我为周报生成创建了一个自定义技能weekly-report:
name: weekly-report description: 自动生成周报并发送邮件 steps: - name: collect-logs action: file-processor/read-dir params: path: ~/work/logs pattern: "*.md" - name: generate-report action: model/complete params: model: ollama-qwq/qwq-32b prompt: | 请根据以下工作日志生成一份周报,按照"本周工作"、"成果展示"、 "存在问题"和"下周计划"四个部分组织内容。保持专业简洁的风格。 {{ steps.collect-logs.output }} - name: save-report action: file-processor/write-file params: path: ~/work/reports/周报_{{ now | date('YYYY-MM-DD') }}.md content: "{{ steps.generate-report.output }}" - name: send-email action: email-sender/send params: to: "manager@company.com" subject: "周报 - {{ now | date('YYYY-MM-DD') }}" body: | 您好,附件是本周的工作报告,请查收。 {{ steps.generate-report.output }}这个技能定义了一个完整的自动化流程:先收集日志,然后让模型生成周报,最后保存文件并发送邮件。
4.2 定时任务设置
为了让系统每周五下午自动运行,我使用了OpenClaw的定时任务功能:
# 设置每周五16:30运行周报生成 openclaw schedule create \ --name "weekly-report" \ --cron "30 16 * * 5" \ --skill "weekly-report"现在每到周五下午,系统就会自动启动周报生成流程,我只需要在收到邮件后快速浏览确认即可。
5. 使用效果与优化经验
5.1 实际效果对比
使用自动化系统前后,我的周报工作发生了明显变化:
- 时间投入:从平均1.5小时/周减少到10分钟/周(主要是日志记录和最终确认)
- 内容质量:生成的周报比我自己写的更加结构化,重点更突出
- 工作体验:周五下午的压力感显著降低
5.2 遇到的挑战与解决方案
在实现过程中,我遇到了几个典型问题:
问题1:模型输出的周报过于笼统初期生成的周报经常出现"完成了多项工作"这样的模糊表述。通过调整prompt,明确要求列出具体任务和成果,显著改善了输出质量。
问题2:日志文件格式不一致有时匆忙记录的日志不符合模板要求,导致模型解析错误。我开发了一个简单的日志校验脚本,在每天保存时检查格式。
问题3:邮件发送失败公司邮件服务器有频率限制。解决方案是添加了发送失败的重试机制,并将发送时间随机延后0-5分钟。
5.3 进一步优化方向
经过一段时间的使用,我发现了几个可以继续优化的点:
- 日志记录自动化:计划集成日历和Git提交记录,自动生成部分日志内容
- 多维度分析:让模型不仅生成描述性报告,还能提供工作模式和效率的分析建议
- 交互式修订:在最终发送前,支持通过自然语言指令修改报告内容
6. 安全与隐私考量
在实现这个自动化系统时,我特别注意了几个安全和隐私问题:
- 数据本地化:所有工作日志和生成的周报都保存在本地,不经过任何第三方云服务
- 权限控制:OpenClaw进程以普通用户权限运行,避免系统级风险
- 敏感信息过滤:在邮件发送前,系统会自动检查并提醒可能包含的敏感信息
- 访问日志:记录所有自动化操作的详细日志,便于审计和问题排查
这种全链路的本地化处理,让我可以放心地将日常工作数据交给系统处理,而不必担心信息泄露风险。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。