yoooclaw-expense-tracker — yoooclaw-expense-追踪er
v1.0.0从手机通知中提取个人已发生的消费流水(外卖、快递、缴费、购物、打车、加油、信用卡还款、转账等),按类目和时间汇总并给出总额。触发:花了多少 / 花销 / 消费 / 账单 / 开销 / 支出 / 这周/这个月/上个月/最近/今天 + 花/钱/消费 / 外卖花了多少 / 打车花了多少 / 加油多少 / 缴费多少。
运行时依赖
安装命令
点击复制技能文档
expense-追踪er 目标
面向个人用户:手机里塞满了银行短信、微信/支付宝支付通知、外卖订单、打车凭证、各类缴费成功提醒。本 技能 把这些"涉及钱"的通知抽出来,按类目和时间两个维度汇总,并给出总支出。
用户通过安装弹窗的「关注什么事」字段设置汇总偏好,如:每周汇总、重点看餐饮和出行、只关注大额消费等。
不假设特定的支付习惯、银行卡或商家——全部从通知数据中识别。
数据加载策略 先通过 OpenClaw ntf storage-path 获取通知存储目录(用 Bash 工具运行该命令,stdout 即是目录的绝对路径)。后续所有通知文件直接在这个目录下,命名为 YYYY-MM-DD.json。 文件命名:YYYY-MM-DD.json,一天一文件,包含当日全部 应用 通知 加载优先级:① 用户在 prompt 里明确给的路径 > ② /.json 时间窗口(按用户问法动态决定): "今天花了多少" → 仅当天日期对应的文件 "昨天花了多少" → 仅昨天日期对应的文件 "这周/本周" → 本周一 00:00 至今 "上周" → 上周一至上周日 "这个月/本月" → 当月 1 日至今 "上个月" → 上月 1 日至上月末 "最近" / "最近几天" → 默认近 7 天 "最近 N 天" → 近 N 天 用户给定具体日期段(如 "5/1-5/7")→ 严格按用户指定 定时任务中根据「关注什么事」中的汇总周期决定:如"每周汇总"→ 近 7 天,"每月汇总"→ 当月至今 跳过不存在的文件,不报错 若 OpenClaw ntf storage-path 不可用,提示用户给出数据路径 若用户在问句里指定了类目(如"这周外卖花了多少"),在加载完后做类目过滤再展示 输入数据 模式
JSON 数组,每条:
{"应用Name":"com.tencent.xin","title":"群名或联系人名","content":"消息内容","timestamp":"2026-04-22T10:30:00.000+08:00","应用DisplayName":"微信"}
应用DisplayName 区分来源:微信 / 短信 / 支付宝 / 云闪付 / 美团 / 饿了么 / 滴滴出行 / 邮件 等 title 为发送方("工商银行"、"招商银行信用卡"、"美团外卖"、商家名、联系人名) content 中通常含金额字段(¥X.XX / X.XX 元 / RMB X.XX) 核心逻辑
- 金额信号识别
扫一遍全部通知,识别"已发生支付"的事件。重点信号:
银行 / 信用卡短信:含「消费 / 支付 / 扣款 / 取现 / 还款 / POS / 网银 / 快捷支付 ¥X.XX」 支付平台通知(支付宝、微信支付、云闪付):付款成功 / 转账已到账 / 收款 / 退款 外卖订单(美团、饿了么等):订单已支付 / 已送达 + 实付金额 打车 / 出行:行程结束 + 实付 加油:加油站电子发票 / 油卡扣款短信 生活缴费:水 / 电 / 燃气 / 物业 / 宽带 / 话费充值的"缴费成功"通知 快递代收费:菜鸟驿站 / 丰巢取件费、超时保管费 网购确认订单(淘宝 / 京东 / 拼多多 / 唯品会 等):付款成功通知 商超 / 线下刷卡:银行短信里的 POS 消费 转账:微信转账、支付宝转账给个人的(单独标记,不混入消费) 退款 / 返现 / 红包退回:作为负值纳入对应类目,影响该类目和总额
每条事件抽取:{时间, 来源 应用, 商家/标题, 金额, 类目, 备注}。
- 类目自动归类
不能确定类目时一律归 🎁 其他,不要硬塞。
如果用户在「关注什么事」中指定了重点类目(如"重点看餐饮和出行"),在输出中将这些类目置顶并高亮。
- 去重
同一笔交易常被多个通知重复推送(银行短信 + 支付平台 应用 + 商家小程序)。去重规则:
金额完全一致 + 商家关键词重叠 → 视为同一笔,保留信息最完整的一条(优先银行短信 > 支付平台 > 商家通知) 不要把"待支付提醒"和"支付成功"算两次
- 输出视图(按用户问法切换)
A. 总览模式("最近花了多少 / 今天花了多少 / 这周花了多少") 按类目 + 按日期两段都给出。
B. 单类目模式("这周外卖花了多少 / 这个月打车花了多少") 仅展示该类目,按日期列明细。
详见下文输出模板。
过滤规则 营销 / 优惠券 / 满减推送("立减 X 元"、"满 X 减 Y"、"X 元红包待领取"、"返现 X 元活动")→ 丢弃。只看真实发生的支付。 账单生成提醒("您的信用卡账单已生成 ¥X,还款日 ...")→ 不计入"花了多少";如果用户问的是"还要还多少"才单独列;本 技能 主流程不计入总额。 额度 / 余额变动通知里没有金额或不含商家的 → 列入"待确认"小节,不计入总额。 股票 / 基金 / 理财收益变动 → 不算消费,丢弃。 小红书 / 拼多多 / 抖音的纯运营推送、新品推荐、直播预告 → 丢弃。 退款单独标记:在条目末尾用 (退款 -¥X.XX) 形式呈现并冲减总额。 个人转账单独成块:转给家人朋友的微信/支付宝转账放在「🔁 转账」块,不计入"消费总支出",但单独给出"转账合计"。 输出模板 A. 总览模式 💰 消费汇总(YYYY-MM-DD ~ YYYY-MM-DD)
总支出:¥X,XXX.XX(共 N 笔) 转账合计(不计入支出):¥X,XXX.XX(M 笔)
━━ 按类目 ━━
🍱 餐饮外卖 ¥XXX.XX(N 笔) 🛒 购物 ¥XXX.XX(N 笔) 🚗 出行交通 ¥XXX.XX(N 笔) 🏠 生活缴费 ¥XXX.XX(N 笔) 📦 快递物流 ¥XX.XX(N 笔) 💳 信用卡还款 ¥XXX.XX(N 笔) ...
━━ 按日期 ━━
M/D(周X)¥XXX.XX 🍱 美团外卖 ¥XX.XX <店名> 🚗 滴滴打车 ¥XX.XX <路线/起终点> 🛒 淘宝 ¥XX.XX <商品名> M/D(周X)¥XXX.XX ...
━━ 待确认 ━━(如有) ☐ <来源>:<原文摘要>,金额未识别
B. 单类目模式 🍱 餐饮外卖(YYYY-MM-DD ~ YYYY-MM-DD)
合计:¥XXX.XX(N 笔)
M/D(周X) 美团外卖 ¥XX.XX <店名> 瑞幸 ¥XX.XX M/D(周X) 饿了么 ¥XX.XX <店名> ...
质量约束 含金额关键字(¥ / 元 / RMB / \d+\.\d{2})的支付/扣款/订单通知应100% 被抽取并归类 去重:同一笔不能被算两次(典型反例:银行短信 + 支付宝 应用 同时通知 ¥38.50 美团付款) 总额自洽:按类目合计 = 按日期合计 = 顶部「总支出」 退款用负数冲减,并在备注里注明 "(退款)" 不编造:通知里没有金额或商家就不要硬填,归入"待确认" 转账与消费严格分块,避免把转给亲友的钱算成"花掉了"