popo-daily-todo
SKILL.md
POPO Daily Todo Generator
每天下午5点自动分析 POPO 聊天内容,区分已回复和未回复事项,生成待办列表。
功能概述
这个 Skill 实现以下自动化流程:
- 定时执行 - 每天下午5点自动运行
- 获取聊天 - 检索当天 POPO 聊天记录
- 智能分析 - 分析每条消息是否需要回复
- 分类整理 - 区分已回复事项和未回复事项
- 生成待办 - 将未回复事项生成待办列表
工作流程
每天17:00自动触发
↓
获取当天 POPO 聊天记录
↓
分析每条消息(使用LLM)
↓
┌───┴───┐
↓ ↓
已回复 未回复
↓ ↓
记录 生成待办
快速开始
1. 手动执行分析
# 分析今天的 POPO 聊天
python ~/.openclaw/workspace/skills/popo-daily-todo/scripts/daily_analyze.py
# 分析指定日期的聊天
python ~/.openclaw/workspace/skills/popo-daily-todo/scripts/daily_analyze.py --date 2026-03-25
2. 查看生成的待办
分析完成后,待办列表会保存在:
~/.openclaw/workspace/memory/YYYY-MM-DD.md- 当天的待办事项~/.openclaw/workspace/popo-daily-todo/output/YYYY-MM-DD/- 详细分析报告
3. 设置定时任务
在 HEARTBEAT.md 中添加:
## 每天下午 17:00
- 执行 POPO 聊天分析
- 命令: python ~/.openclaw/workspace/skills/popo-daily-todo/scripts/daily_analyze.py
- 生成待办列表并保存到 memory/YYYY-MM-DD.md
核心脚本
daily_analyze.py
功能: 主分析脚本,协调整个流程
执行流程:
- 获取当天 POPO 聊天记录
- 分析每条消息是否需要回复
- 区分已回复和未回复
- 生成待办列表
- 更新 memory/YYYY-MM-DD.md
使用方法:
# 分析今天
python scripts/daily_analyze.py
# 分析指定日期
python scripts/daily_analyze.py --date 2026-03-25
# 指定输出目录
python scripts/daily_analyze.py --output-dir ./my-output
fetch_popo_messages.py
功能: 获取 POPO 聊天记录
参数:
--date YYYY-MM-DD- 指定日期(默认今天)--output FILE- 输出文件路径
示例:
python scripts/fetch_popo_messages.py --date 2026-03-25 --output ./messages.json
analyze_messages.py
功能: 分析消息内容,判断是否需要回复
分析维度:
-
需要回复的信号:
- 问句("你能...吗?", "请问...")
- 请求("帮忙...", "请...")
- 任务指派("你负责...", "你来处理...")
- 确认需求("请确认", "请回复")
-
已回复的判断:
- 用户已发送回复消息
- 消息被标记为已处理
- 对话已闭环
输出格式:
{
"date": "2026-03-25",
"summary": {
"total_messages": 50,
"needs_reply": 10,
"replied": 8,
"unreplied": 2
},
"replied_items": [...],
"unreplied_items": [
{
"id": "msg_001",
"sender": "张三",
"content": "请帮忙 review 一下这个方案",
"time": "14:30",
"priority": "high",
"reason": "直接请求,需要回复"
}
]
}
generate_todo.py
功能: 生成待办列表
输出格式:
- Markdown 格式,便于阅读
- 包含优先级标记
- 包含来源链接
示例输出:
## 2026-03-25 待办事项
### 高优先级
- [ ] **Review 方案** (来自: 张三 14:30)
- 内容: 请帮忙 review 一下这个方案
### 中优先级
- [ ] **确认会议时间** (来自: 李四 15:00)
- 内容: 明天下午3点的会议你能参加吗?
配置说明
POPO API 配置
确保 ~/.openclaw/openclaw.json 中包含 POPO 配置:
{
"channels": {
"moltbot-popo": {
"baseUrl": "https://open.popo.netease.com",
"appKey": "your-app-key",
"appSecret": "your-app-secret"
}
}
}
定时任务配置
在 HEARTBEAT.md 中添加定时任务:
## 每天下午 17:00
- 执行 POPO 每日分析
- 命令: python ~/.openclaw/workspace/skills/popo-daily-todo/scripts/daily_analyze.py
- 检查生成的待办列表
- 如有紧急事项,提醒用户
输出文件结构
~/.openclaw/workspace/
├── memory/
│ └── 2026-03-25.md # 当天的待办(自动更新)
└── popo-daily-todo/
└── output/
└── 2026-03-25/
├── messages.json # 原始消息
├── analysis.json # 分析结果
└── todo.md # 待办列表
消息分析规则
需要回复的消息特征
-
直接提问
- 包含问号的消息
- "请问...", "能否...", "是否可以..."
-
任务请求
- "帮忙...", "请...", "需要你来..."
- "你负责...", "你来处理..."
-
确认需求
- "请确认", "请回复", "请反馈"
- "收到请回复"
-
截止日期相关
- "明天之前", "本周内", "下周一前"
- 包含具体时间的请求
已回复的判断标准
- 用户在消息后有回复记录
- 消息被标记为已读/已处理
- 对话已自然结束
注意事项
- 隐私保护: 只分析工作相关的群聊和私聊
- 准确性: LLM 分析可能存在误判,建议定期 review
- 性能: 大量消息分析可能需要几分钟时间
- API 限制: POPO API 可能有调用频率限制
故障排查
无法获取消息
- 检查 POPO API 配置是否正确
- 确认有权限访问聊天记录
分析结果不准确
- 可以手动调整分析规则
- 在
references/custom_rules.md中添加自定义规则
定时任务不执行
- 检查 HEARTBEAT.md 格式是否正确
- 确认 Agent 有执行权限