skills/skills.netease.im/popo-daily-todo

popo-daily-todo

SKILL.md

POPO Daily Todo Generator

每天下午5点自动分析 POPO 聊天内容,区分已回复和未回复事项,生成待办列表。

功能概述

这个 Skill 实现以下自动化流程:

  1. 定时执行 - 每天下午5点自动运行
  2. 获取聊天 - 检索当天 POPO 聊天记录
  3. 智能分析 - 分析每条消息是否需要回复
  4. 分类整理 - 区分已回复事项和未回复事项
  5. 生成待办 - 将未回复事项生成待办列表

工作流程

每天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

功能: 主分析脚本,协调整个流程

执行流程:

  1. 获取当天 POPO 聊天记录
  2. 分析每条消息是否需要回复
  3. 区分已回复和未回复
  4. 生成待办列表
  5. 更新 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             # 待办列表

消息分析规则

需要回复的消息特征

  1. 直接提问

    • 包含问号的消息
    • "请问...", "能否...", "是否可以..."
  2. 任务请求

    • "帮忙...", "请...", "需要你来..."
    • "你负责...", "你来处理..."
  3. 确认需求

    • "请确认", "请回复", "请反馈"
    • "收到请回复"
  4. 截止日期相关

    • "明天之前", "本周内", "下周一前"
    • 包含具体时间的请求

已回复的判断标准

  1. 用户在消息后有回复记录
  2. 消息被标记为已读/已处理
  3. 对话已自然结束

注意事项

  1. 隐私保护: 只分析工作相关的群聊和私聊
  2. 准确性: LLM 分析可能存在误判,建议定期 review
  3. 性能: 大量消息分析可能需要几分钟时间
  4. API 限制: POPO API 可能有调用频率限制

故障排查

无法获取消息

  • 检查 POPO API 配置是否正确
  • 确认有权限访问聊天记录

分析结果不准确

  • 可以手动调整分析规则
  • references/custom_rules.md 中添加自定义规则

定时任务不执行

  • 检查 HEARTBEAT.md 格式是否正确
  • 确认 Agent 有执行权限
Installs
3
First Seen
Apr 23, 2026