从手机通知中以「人」为维度提取家庭重要信息,按相关人物(孩子、配偶、父母/长辈等)分组展示,并标注重要程度。触发:家里的信息 / 家里的消息 / 家里有什么 / 家人说了什么 / 重要信息 / 今天的通知 / 关于孩子的消息 / 孩子的消息 / 老公要我做什么 / 老婆嘱咐 / 老婆说了什么 / 妈妈说了什么 /...
---
name: yoooclaw-family-digest
description: 从手机通知中以「人」为维度提取家庭重要信息,按相关人物(孩子、配偶、父母/长辈等)分组展示,并标注重要程度。触发:家里的信息 / 家里的消息 / 家里有什么 / 家人说了什么 / 重要信息 / 今天的通知 / 关于孩子的消息 / 孩子的消息 / 老公要我做什么 / 老婆嘱咐 / 老婆说了什么 / 妈妈说了什么 / 家庭消息汇总 / 家里有什么事。
---
# family-digest
## 目标
以**家庭成员**为维度,把今天(或最近)通知中来自配偶、父母、长辈、孩子学校/老师的**重要信息**提炼出来,回答「家人今天说了什么要紧的」。
用户通过安装弹窗的「关注谁」字段设置重点关注的家庭成员,如:老公、妈妈、婆婆、大宝班主任、钢琴老师等。设置了的人物在输出中优先展示,未设置时从通知数据中自动推断。
用户问的是「关于某个人的消息」或「家里的重要信息」,想要的是**人视角**的汇总,而不是待办清单、日程表或消费流水。
不假设家庭成员的具体姓名或结构——**全部从通知数据中推断**。
## 数据加载策略
- **先通过 `openclaw ntf storage-path` 获取通知存储目录**(用 Bash 工具运行该命令,stdout 即是目录的绝对路径)。后续所有通知文件直接在这个目录下,命名为 `YYYY-MM-DD.json`。
- **文件命名**:`YYYY-MM-DD.json`,一天一文件,包含当日全部 App 通知
- **加载优先级**:① 用户在 prompt 里明确给的路径 > ② `<storage-path>/<YYYY-MM-DD>.json`
- **时间窗口(按用户问法动态决定)**:
- "今天" → 仅当天日期对应文件
- "昨天" → 仅昨天日期对应文件
- "这周 / 最近" → 近 7 天
- 无明确时间修饰 → 默认当天
- 用户给定具体日期段 → 严格按指定
- 跳过不存在的文件,不报错
- 若 `openclaw ntf storage-path` 不可用,提示用户给出数据路径
- 若用户在问句中指定了特定人物("老公今天要我做什么"),加载后按人物过滤再展示
## 输入数据 schema
JSON 数组,每条:
```json
{"appName":"com.tencent.xin","title":"群名或联系人名","content":"消息内容","timestamp":"2026-04-22T10:30:00.000+08:00","appDisplayName":"微信"}
```
- `appDisplayName` 区分来源:微信 / 短信 / 提醒事项 / 邮件 等
- `title` 为联系人名或群名
- 微信群消息 `content` 常以 `[X老师]:` / `[家长-xxx]:` 等身份标签开头,**这是判定发送者的核心信号**
## 核心逻辑
### 1. 人物识别(运行时从数据推断,不要硬编码姓名)
| 信号 | 判定角色 |
|---|---|
| 私聊 title 为"老公 / 老婆 / 亲爱的 / 夫妻常见昵称" | 配偶 |
| 私聊 title 为"妈妈 / 爸爸 / 婆婆 / 公公 / 岳父 / 岳母" | 父母/长辈 |
| 家长群内 `[X老师]:` 前缀 | 孩子—老师 |
| 幼儿园/学校公众号推送 | 孩子—学校通知 |
| 私聊 title 含"老师"(钢琴 / 英语等课外班) | 孩子—课外班老师 |
| 家长群内 `[家长-xxx]:` 前缀含作业/孩子信息 | 孩子—家长群(谨慎收录,见过滤规则) |
| 家庭大群 / 亲友群 | 其他家人 |
如果用户在「关注谁」中指定了具体人物(如"老公、妈妈、大宝班主任"),这些人物的消息优先级最高,即使内容较短也要检查是否包含请求、通知或行动项。
输出中使用从数据推断出的真实称呼(如"老公""妈妈""婆婆""大宝班主任"),无法确定时用角色占位("配偶""大宝")。**不要把文档示例里的姓名带进真实输出。**
### 2. 重要程度分级
每条信息自动判定:
- **🔴 需要回应/行动**:含截止时间、含"请 / 麻烦 / 帮我 / 记得 / 需要 / 一定要"等请求动词、需要签字/接龙/准备物品/确认
- **🟡 知悉即可**:纯通知性(活动时间、食谱调整、表扬、分享链接)、家人情绪/进展分享
- **⚪ 闲聊**:问候、加油打气、表情包、无实质内容 → **默认不展示**(静默丢弃)
### 3. 内容提炼
对每条保留的通知:
- 用一句话概括核心信息(避免照搬原文,去掉客套话)
- 注明来源("老公微信""妈妈微信""二宝班主任通知")
- 若有截止日期/时间 → 单独列出
- 若需要用户做什么 → 用 `→` 标注行动项
## 过滤规则
- **纯闲聊**(家长群 `[家长-xxx]:` 的"收到/+1/谢谢老师")→ 丢弃
- **营销推送**(小红书、拼多多、淘宝、抖音、饿了么优惠、美团活动)→ 丢弃
- **消费/账单通知**(银行扣款、支付宝付款成功、水电燃气缴费)→ 属于 `expense-tracker`,本 skill 丢弃
- **出行订单**(机票、酒店、租车确认)→ 属于 `family-trip-checklist`,本 skill 丢弃
- **物业/快递物流**(停水、快递到站)→ 属于 `family-todo`,本 skill 丢弃
- **⚪ 闲聊级消息** → 静默丢弃,不在输出中提及
## 输出模板
### A. 全家总览(默认模式)
```
📬 家庭信息汇总(YYYY-MM-DD)
━━ 👶 孩子 ━━
🔴 需要行动
① <一句话概括>
来源:<班级/老师名> 截止:<如有>
→ <需要做什么>
🟡 知悉即可
② <一句话概括>
来源:<来源>
━━ 👨 <老公 / 配偶昵称> ━━
🔴 <一句话概括>
→ <行动项>
来源:<微信私聊 / 等>
🟡 <一句话概括>
来源:<来源>
━━ 👩 <妈妈 / 婆婆等> ━━
🟡 <一句话概括>
来源:<来源>
━━ 其他家人 ━━(如有相关消息时展示)
🟡 ...
━━ 今天需要回应的事 ━━
✋ <人物>:<事项>(截止:<如有>)
✋ <人物>:<事项>
```
### B. 单人模式(用户指定了特定人物)
```
👨 <配偶昵称> 的消息(YYYY-MM-DD)
🔴 <一句话概括>
→ <行动项>
🟡 <一句话概括>
```
若该人物当天无消息,直接说明"今天没有来自 <人物> 的消息"。
## 质量约束
- 家人的明确请求/行动事项 **100%** 保留,营销/闲聊噪音 **0%** 误入
- 重要程度标注准确:含截止日 / 请求动词 → 🔴;纯通知 → 🟡;闲聊 → 静默
- 按人物分组的标题用数据推断出的真实称呼,无法判断时才用角色占位
- 「今天需要回应的事」汇总段按紧迫度排序,确保用户能一眼看到最紧迫的事
- 不编造通知里没有的信息;来源模糊时在说明里标"(推测)"
- 仅生成会话文本,不写文件
don't have the plugin yet? install it then click "run inline in claude" again.