乐于分享
好东西不私藏

OpenClaw 实战连载③:会议资料汇总,从 1 小时到 5 分钟

OpenClaw 实战连载③:会议资料汇总,从 1 小时到 5 分钟

开篇

上篇文章《OpenClaw 实战连载②:邮件自动处理,从 35 分钟到 8 分钟》里,我提到过这个成果:

"从 60 分钟 → 10 分钟,但还有一个场景更痛——会议资料汇总。"

文章发出去后,有读者留言:

"开会前要花 1 小时整理资料,这个能自动化吗?"

当然能。我每周有 10+ 个会议,以前每次开会前都要花 1 小时整理资料,现在 AI 提前 1 小时就帮我准备好了。

这是第 3 篇:会议资料汇总。


一、工作流目标

场景: 我每天下午有 3-5 个会议,每个会议前需要:

  • 阅读会议议程
  • 查看参会人背景
  • 准备相关资料
  • 回顾上次会议纪要

之前:

  • 手动打开日历,查看会议列表
  • 逐个搜索参会人信息("张三是哪个部门的?")
  • 翻找历史邮件和文档
  • 整理成 Word/PPT
  • 耗时:1 小时/天

目标:

  • 自动读取日历事件
  • 自动抓取参会人信息(企业微信通讯录)
  • 自动关联历史会议纪要
  • 生成会议资料包(Markdown/PDF)
  • 耗时:5 分钟/天(审核时间)

二、工作流设计

3.1 流程图


三、技能配置

3.1 核心技能

技能
功能
wecom-schedule
读取企业微信日程
wecom-contact-lookup
查询通讯录成员
wecom-get-todo-list
获取待办事项
wecom-doc-manager
读取历史文档

⚠️ 权限说明: 所有技能都需要企业微信管理员在后台开通对应 API 权限,否则会报错 846609。详细权限配置见 3.3 节

3.2 定时任务配置

{"id":"meeting-prep-daily","name":"会议资料准备","schedule":{"kind":"cron","expr":"0 * * * *",// 每小时执行"tz":"Asia/Shanghai"},"payload":{"kind":"agentTurn","message":"检查未来 2 小时内的会议,如有会议则生成资料包"}}

说明: 每小时检查一次,如有会议则提前 1 小时准备资料。


3.3 权限配置完整指南

⚠️ 重要: 所有 MCP 工具都需要企业微信管理员在后台开通对应权限。

需要的权限列表

权限
用途
对应技能
必须程度
日程
读取日历事件
wecom-schedule
必须
通讯录
查询参会人信息
wecom-contact-lookup
必须
消息
发送会议提醒
wecom-msg
必须
文档
搜索历史纪要
wecom-doc-manager
推荐
待办
跟踪待办事项
wecom-get-todo-list
推荐
会议
创建会议
wecom-meeting-*
可选

说明:

  • 必须 - 工作流核心功能,缺少无法运行
  • 推荐 - 增强功能,缺少可降级运行
  • 可选 - 额外功能,不影响主流程

开通步骤

  1. 登录企业微信管理后台

    • 网址:https://work.weixin.qq.com[1]
  2. 进入应用管理

    • 点击「应用管理」
    • 找到当前使用的应用(如"OpenClaw AI 助手")
  3. 配置权限

    • 点击「权限管理」
    • 勾选上述需要的权限
    • 点击「保存」
  4. 等待生效

    • 通常几分钟内生效
    • 如未生效,尝试重新登录企业微信

权限验证命令

权限开通后,使用以下命令验证:

# 1. 验证日程权限wecom_mcp call schedule get_schedule_list_by_range \'{"start_time": "2026-03-23 00:00:00", "end_time": "2026-03-23 23:59:59"}'# 2. 验证通讯录权限wecom_mcp call contact getContact \'{"userid": "你的 userid"}'# 3. 验证消息权限wecom_mcp call msg send_msg \'{"touser": "你的 userid", "msgtype": "text", "text": {"content": "测试消息"}}'# 4. 验证文档权限wecom_mcp call doc search \'{"query": "会议纪要", "limit": 5}'# 5. 验证待办权限wecom_mcp call todo get_todo_list \'{"limit": 10}'

预期结果:

  • ✅ 成功:返回对应数据(日程列表、联系人信息、文档列表等)
  • ❌ 失败:返回错误码 846609 或 60020

常见错误码

错误码
说明
解决方案
846609
未开通对应权限
联系管理员在后台开通
60020
无权限访问
检查应用配置和用户权限范围
40035
参数错误
检查时间格式(YYYY-MM-DD HH:MM:SS)
40003
无效的 userid
确认 userid 正确(通过通讯录查询获取)
45009
频率限制
等待一段时间后重试

权限详细说明

📅 日程权限

  • 可读取用户的日程列表
  • 可创建、修改、取消日程
  • 可查询参会人闲忙状态

👥 通讯录权限

  • 可查询企业成员列表
  • 可获取成员姓名、部门、职位
  • 仅限当前用户可见范围内的成员

💬 消息权限

  • 可发送文本、图片、文件等消息
  • 可发送群消息和私聊消息
  • 需用户已关注应用

📄 文档权限

  • 可读取企业微信文档
  • 可搜索文档内容
  • 可创建和编辑文档

📝 待办权限

  • 可创建、查询、更新待办事项
  • 可分配待办给其他成员
  • 可标记待办完成

🎥 会议权限

  • 可创建预约会议
  • 可管理会议成员
  • 可取消会议

四、执行流程

4.1 第 1 步:读取日历事件

调用技能:wecom-schedule

查询范围: 当前时间 + 2 小时

返回数据:

{"events":[{"title":"产品评审会","start_time":"2026-03-23 15:00:00","end_time":"2026-03-23 16:00:00","location":"会议室 A","attendees":["zhangsan","lisi","wangwu"],"description":"评审 Q2 产品规划"}]}

4.2 第 2 步:查询参会人信息

调用技能:wecom-contact-lookup

查询结果:

{"zhangsan":{"name":"张三","department":"产品部","position":"产品经理"},"lisi":{"name":"李四","department":"技术部","position":"技术负责人"},"wangwu":{"name":"王五","department":"设计部","position":"UI 设计师"}}

4.3 第 3 步:搜索历史会议纪要

调用技能:wecom-doc-manager

搜索关键词:

  • "产品评审会"
  • "张三 李四 王五"
  • "Q2 产品规划"

返回结果:

  • 找到 3 篇相关会议纪要
  • 提取待办事项跟踪状态

4.4 第 4 步:生成会议资料包

输出格式: Markdown

内容结构:

# 会议资料包 - 产品评审会## 📅 会议信息-**时间:** 2026-03-23 15:00-16:00-**地点:** 会议室 A-**议程:** 评审 Q2 产品规划## 👥 参会人背景| 姓名 | 部门 | 职位 | 备注 ||------|------|------|------|| 张三 | 产品部 | 产品经理 | 会议发起人 || 李四 | 技术部 | 技术负责人 | - || 王五 | 设计部 | UI 设计师 | - |## 📝 历史纪要摘要### 2026-03-16 产品评审会-**决议:** Q1 功能按期上线-**待办:**  - [x] 张三:完成需求文档  - [ ] 李四:技术评审(进行中)### 2026-03-09 产品评审会-**决议:** 启动 Q2 规划-**待办:** 全部完成 ✅## ⚠️ 待跟踪事项1. 技术评审进度(李四负责)2. Q2 资源分配(待定)

4.5 第 5 步:发送通知

渠道: 企业微信

消息内容:

【会议提醒】产品评审会 - 15:00 开始📅 时间:今天 15:00-16:00📍 地点:会议室 A👥 参会:张三、李四、王五📎 会议资料已准备:[查看完整资料包](链接)⏰ 请提前 5 分钟到场。

五、关键代码

5.1 定时任务配置

{"id":"meeting-prep-daily","name":"会议资料准备","schedule":{"kind":"cron","expr":"0 * * * *","tz":"Asia/Shanghai"},"sessionTarget":"isolated","payload":{"kind":"agentTurn","message":"【会议资料准备】\n\n1. 读取未来 2 小时的日历事件\n2. 如有会议,查询参会人信息\n3. 搜索历史会议纪要\n4. 生成会议资料包\n5. 发送到企业微信\n\n**要求:** 会议前 1 小时完成,资料包包含参会人背景和历史待办跟踪。"},"delivery":{"mode":"announce","channel":"wecom","to":"wecom:default:ChengJunXing"}}

5.2 提示词模板

【会议资料准备任务】当前时间:{current_time}## 步骤 1:读取日历调用 wecom-schedule 查询 {start_time} 到 {end_time} 的日程。## 步骤 2:查询参会人对每个参会人 userid,调用 wecom-contact-lookup 获取姓名、部门、职位。## 步骤 3:搜索历史纪要调用 wecom-doc-manager 搜索:- 会议标题关键词- 参会人姓名组合- 相关项目文档## 步骤 4:生成资料包格式:Markdown内容:1. 会议基本信息(标题、时间、地点、议程)2. 参会人背景表格3. 历史纪要摘要(最多 3 篇)4. 待办事项跟踪(未完成的事项)## 步骤 5:发送通知渠道:企业微信时间:会议前 30 分钟内容:会议提醒 + 资料包链接**注意:** 如无会议,直接返回"无会议"。

六、成果数据

时间对比

阶段
之前
现在
打开日历查看
5 分钟
自动
搜索参会人信息
15 分钟
自动
翻找历史纪要
20 分钟
自动
整理资料
20 分钟
自动
审核资料
-
5 分钟
总计60 分钟5 分钟

质量提升

之前的问题
现在的效果
经常问"张三是哪个部门的?"
自动从企业微信获取,信息准确
一半的会议找不到历史纪要
每次都能搜到相关纪要
待办事项经常遗漏
所有待办都有跟踪
有时开会前才收到资料
提前 30 分钟准时送达

七、避坑指南

7.1 权限问题快速排查

问题: 调用相关 MCP 工具都报错 846609

一句话解决: 联系企业微信管理员开通对应权限(日程、通讯录、消息等)

详细配置: 见本章第 3.3 节「权限配置完整指南」


7.2 隐私保护

问题: 参会人信息可能敏感

解决:

  • 只查询当前用户可见的通讯录成员
  • 不存储参会人详细信息
  • 资料包仅发送给会议参与者

7.3 历史纪要关联

问题: 如何找到相关的历史纪要?

解决:

  • 关键词 1:会议标题(如"产品评审会")
  • 关键词 2:参会人组合(如"张三 李四")
  • 关键词 3:项目名称(如"Q2 产品规划")
  • 优先级:标题匹配 > 参会人匹配 > 项目匹配

7.4 待办跟踪

问题: 如何跟踪历史待办?

解决:

  • 从历史纪要中提取"待办"、"TODO"、"Action"等关键词
  • 标记完成状态([x] / [ ])
  • 在新资料包中展示未完成事项

八、下一步优化

8.1 智能推荐

计划:

  • 根据会议主题推荐相关文档
  • 根据参会人推荐历史合作记录
  • 根据时间推荐类似会议的准备材料

8.2 会议纪要自动生成

计划:

  • 会议中实时记录(语音转文字)
  • 会议后自动生成纪要
  • 自动提取待办事项并分配

8.3 多会议冲突检测

计划:

  • 检测时间冲突
  • 检测参会人冲突
  • 推荐调整方案

结尾

你在准备会议资料时花最多时间的是什么?欢迎留言交流。

关注我,不错过后续 4 篇实战连载。


下篇预告: 第 4 篇 - 日报自动生成

"每天写日报要 20 分钟?我用 AI 2 分钟搞定。Git 提交 + 日历事件 + 邮件摘要,自动拼好日报,我只需要审核。"

引用链接

[1]https://work.weixin.qq.com