OpenClaw+GLM-4.7-Flash:自动化周报生成与发送实践

1. 为什么需要自动化周报工具

每周五下午三点,我的日历总会准时弹出提醒:"该写周报了"。这个看似简单的任务却让我长期陷入两难——要么花半小时机械复制粘贴工作记录,要么临时抱佛脚编造流水账。直到某次看到同事用OpenClaw自动整理会议纪要,我才意识到:重复性文档工作正是AI智能体的最佳应用场景

GLM-4.7-Flash作为轻量级大模型,在结构化文本生成方面表现出色。将其与OpenClaw结合后,我的周报流程从"收集数据→组织内容→发送邮件"全链路实现了自动化。现在每周五收到的不是待办提醒,而是一封已发送成功的周报确认邮件。这套方案最吸引我的不是技术炫酷,而是它真正解决了三个实际问题:

  1. 数据碎片化:工作记录分散在邮件、Git提交、会议笔记等多个平台
  2. 格式不统一:手动整理时每次排版风格都不一致
  3. 时间黑洞:看似简单的周报实际消耗大量注意力资源

2. 技术方案设计思路

2.1 核心组件选型

整个系统建立在两个核心组件上:

  • OpenClaw:负责执行本地操作(读取文件、调用API、发送邮件)
  • GLM-4.7-Flash:通过ollama部署的轻量模型,专注内容生成任务

选择GLM-4.7-Flash而非更大模型的原因很实际:周报生成不需要复杂推理,但要求快速响应。实测中,该模型生成500字周报仅需3-5秒,且对"本周工作/下周计划/风险问题"这类结构化内容把握准确。

2.2 工作流拆解

自动化流程被设计为三个阶段:

  1. 数据采集阶段

    • 扫描指定目录下的Markdown工作日志
    • 读取Outlook日历事件
    • 抓取GitLab代码提交记录
  2. 内容生成阶段

    • 将原始数据拼接成提示词
    • 调用GLM-4.7-Flash生成初稿
    • 自动保存为带时间戳的Markdown文件
  3. 发送交付阶段

    • 将Markdown转换为HTML格式
    • 通过SMTP协议发送给预设收件人
    • 在飞书群组中发送完成通知

3. 具体实现步骤

3.1 环境准备

首先通过ollama部署GLM-4.7-Flash模型:

ollama pull glm-4-flash
ollama run glm-4-flash --port 11434

接着配置OpenClaw连接本地模型服务。修改~/.openclaw/openclaw.json

{
  "models": {
    "providers": {
      "local-glm": {
        "baseUrl": "http://localhost:11434",
        "api": "openai-completions",
        "models": [
          {
            "id": "glm-4-flash",
            "name": "Local GLM-4-Flash",
            "contextWindow": 32768
          }
        ]
      }
    }
  }
}

3.2 技能开发

创建自定义技能weekly-report,核心逻辑是:

  1. 使用OpenClaw文件操作API收集原始数据
  2. 构造包含业务知识的提示词模板
  3. 调用GLM-4.7-Flash生成内容

关键提示词结构示例:

你是一位专业的IT工程师,请根据以下材料生成周报:
【工作记录】
{input_data}

要求:
1. 按"已完成/进行中/计划中"分类
2. 技术难点单独列出
3. 使用Markdown格式
4. 控制字数在400-500字

3.3 邮件发送集成

配置SMTP发送能力时遇到一个典型问题:OpenClaw需要显式授权才能访问密钥链。解决方案是在onboard阶段选择Advanced模式,明确授予钥匙串访问权限。

发送逻辑通过Node.js实现:

const transporter = nodemailer.createTransport({
  host: 'smtp.office365.com',
  port: 587,
  secure: false,
  auth: {
    user: process.env.EMAIL_ACCOUNT,
    pass: process.env.EMAIL_PASSWORD 
  }
});

const mailOptions = {
  from: '周报助手<report@example.com>',
  to: 'manager@example.com',
  subject: `[自动发送]${week}技术周报`,
  html: generatedContent
};

4. 实际效果与优化

4.1 运行效果

系统稳定运行两个月后,呈现出三个显著变化:

  • 时间节省:每周节省45-60分钟手动操作时间
  • 内容质量:主管反馈周报结构更清晰,关键问题更突出
  • 意外收获:自动归档的周报成为季度考核的重要参考

4.2 遇到的坑与解决方案

问题1:模型幻觉 早期版本中,GLM有时会虚构未完成的工作项。通过以下方法解决:

  • 在提示词中强调"仅基于提供的事实"
  • 添加输出校验规则(如必须包含特定关键词)

问题2:格式漂移 不同周期间Markdown标题层级不一致。最终采用固定模板:

## 本周工作
### 已完成
- [项目A] 完成API重构
### 进行中
- [项目B] 数据库迁移(60%)

## 下周计划

问题3:安全风险 发现明文存储邮件密码。改进措施:

  • 改用MacOS钥匙链存储凭据
  • 添加双因素认证
  • 限制发送时间窗口(仅周五下午可触发)

5. 扩展应用场景

这套方案经简单改造后,已经衍生出两个新用途:

  1. 会议纪要自动生成:连接Zoom转录文本,输出结构化纪要
  2. 项目里程碑报告:聚合Jira数据生成阶段总结

最让我惊喜的是,OpenClaw+GLM的组合展现出良好的可扩展性。比如添加一个简单的条件判断,就能让系统在节假日自动跳过周报发送,这种灵活性是传统自动化工具难以企及的。


获取更多AI镜像

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

Logo

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

更多推荐