/install yaohx-expense-tracker
\r \r
记账助手 (Expense Tracker)\r
\r
描述\r
\r 一个完整的个人记账技能,支持文本输入和支付截图两种方式记录消费,按月归档,并在每月最后一天自动生成消费分类汇总报告。\r \r 核心能力:\r
- 自动识别账单:收到支付类文本消息或支付截图时,自动提取关键信息(金额、商家、分类、支付方式等)\r
- 消费分类管理:维护
categories.json分类定义文件\r - 按月归档:每月消费记录存入
expenses/expenses-YYYYMM.json\r - 月度报告:每月最后一天 20:00 自动生成并发送消费总结\r \r
数据文件说明\r
\r
所有数据文件存放在 OpenCLAW 工作区根目录下:\r
\r
| 文件/目录 | 说明 |\r
|-----------|------|\r
| categories.json | 消费分类定义文件 |\r
| expenses/ | 消费记录目录 |\r
| expenses/expenses-YYYYMM.json | 按月份的消费记录文件 |\r
\r
数据格式详见 references/data_schema.md。\r
\r
使用方法\r
\r
触发场景\r
\r
- 文本记账:用户直接发送消费描述文本,如 "午餐花了25元"、"打车15块"、"今天买了杯咖啡18元"\r
- 图片记账:用户发送微信支付/支付宝截图,需调用 OCR 脚本识别\r
- 手动记录:用户说"记账"并提供详细信息\r
- 查看记录:用户说"看看本月消费"、"本月花了多少"\r
- 记账提醒:每天20:00 自动触发\r
- 月度报告:每月最后一天 20:00 自动触发,或用户说"生成本月消费报告"\r \r \r
工作流程\r
\r
流程 A:处理文本账单\r
\r
- 从用户消息中提取关键信息:日期、时间、金额、商家、消费类别、支付方式、备注\r
- 如果用户未提供日期/时间,默认使用当前日期和时间\r
- 根据商家名称和备注,自动匹配最合适的消费分类(参考
categories.json)\r - 调用
scripts/record_expense.py将数据写入当月expenses/expenses-YYYYMM.json文件\r - 回复用户确认记录成功,并展示本次消费摘要和本月累计\r \r 消费分类自动匹配规则:\r
- 含"餐、饭、面、粉、菜、外卖、咖啡、奶茶、饮料、零食、烧烤、火锅"等 →
餐饮\r - 含"打车、滴滴、公交、地铁、加油、停车、充电、单车"等 →
交通\r - 含"超市、便利店、淘宝、京东、拼多多"等 →
购物\r - 含"房租、房贷、水电、燃气、物业"等 →
居住\r - 含"电影、KTV、游戏、旅游、景点"等 →
娱乐\r - 含"医院、药房、诊所、挂号"等 →
医疗\r - 含"话费、流量、宽带"等 →
通讯\r - 其他默认归入
其他\r \r
流程 B:处理图片账单(支付截图)\r
\r
- 用户发送图片到对话,先保存图片到临时文件\r
- 调用
python3 scripts/ocr_bill.py \x3C图片路径>执行 OCR 识别\r - 解析 OCR 返回的 JSON 结果,提取账单信息\r
- 如果 OCR 识别出多条消费记录,逐条确认后记录\r
- 将识别结果展示给用户确认,用户回复"确认"后写入文件\r
- 如果 OCR 识别不完整(缺少金额、商家等),请用户补充缺失信息\r \r
流程 C:生成月度消费报告\r
\r 触发条件(每月最后一天 20:00 自动,或用户手动触发):\r
- 调用
python3 scripts/generate_report.py \x3CYYYYMM>生成报告\r - 报告内容包含:\r
- 本月总支出金额\r
- 各分类支出金额及占比(饼图数据)\r
- 日均消费金额\r
- 单笔最高消费\r
- 支付方式分布\r
- 与上月对比(如果上月数据存在)\r
- 将报告摘要回复给用户,同时写入当月 expense 文件的
monthly_summaries字段\r \r
指令\r
\r
初始化(首次使用时执行)\r
\r 当用户首次使用记账功能时,执行初始化:\r \r
python3 scripts/init_db.py\r
```\r
\r
此脚本会创建:\r
- `categories.json`(含默认分类:餐饮、交通、购物、居住、娱乐、医疗、通讯、服饰、教育、其他)\r
- `expenses/` 目录\r
- 当前月份的 `expenses/expenses-YYYYMM.json` 空文件\r
\r
### 记录消费\r
\r
当用户发送疑似账单内容时:\r
\r
1. **判断是否为账单**:消息含金额(数字+元/块/¥)、商家名、支付动词(花了、买了、支付、付款、消费)\r
2. **提取信息并构造 JSON**,调用脚本写入:\r
\r
```bash\r
python3 scripts/record_expense.py '\x3CJSON字符串>'\r
```\r
\r
JSON 格式见 `references/data_schema.md`。\r
\r
3. **确认回复**:简洁回复,包含消费摘要\r
\r
### 记账提醒\r
\r
每天 20:00 检查 `expenses/expenses-YYYYMM.json` 中是否有当天的记账记录,并发送记账提醒。\r
\r
### 月度总结自动化\r
\r
参考 `references/data_schema.md` 中的月度总结格式。\r
\r
每月最后一天 20:00,自动执行:\r
```bash\r
python3 scripts/generate_report.py YYYYMM\r
```\r
将生成的报告发送给用户。\r
\r
### 注意事项\r
\r
- `expenses-YYYYMM.json` 中 `id` 格式为 `YYYY-MM-DD-NNN`,NNN 为当天序号(001 起),同一日期内递增\r
- 每次写入后更新 `last_updated` 时间戳\r
- 金额保留原始精度,汇总时四舍五入到两位小数\r
- 所有 Python 脚本必须使用 UTF-8 编码\r
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install yaohx-expense-tracker - 安装完成后,直接呼叫该 Skill 的名称或使用
/yaohx-expense-tracker触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Expense Tracker 是什么?
个人记账助手。当用户发送账单/消费信息(文本或支付截图),自动识别并记录到消费数据库;每月最后一天晚上8点自动生成月度消费报告。触发词包括:记账、账单、消费记录、花了多少钱、月度总结、消费报告等。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 52 次。
如何安装 Expense Tracker?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install yaohx-expense-tracker」即可一键安装,无需额外配置。
Expense Tracker 是免费的吗?
是的,Expense Tracker 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Expense Tracker 支持哪些平台?
Expense Tracker 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Expense Tracker?
由 yaohx(@nontrace)开发并维护,当前版本 v1.0.2。