← 返回 Skills 市场
nontrace

Expense Tracker

作者 yaohx · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
52
总下载
1
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install yaohx-expense-tracker
功能描述
个人记账助手。当用户发送账单/消费信息(文本或支付截图),自动识别并记录到消费数据库;每月最后一天晚上8点自动生成月度消费报告。触发词包括:记账、账单、消费记录、花了多少钱、月度总结、消费报告等。
使用说明 (SKILL.md)

\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

  1. 文本记账:用户直接发送消费描述文本,如 "午餐花了25元"、"打车15块"、"今天买了杯咖啡18元"\r
  2. 图片记账:用户发送微信支付/支付宝截图,需调用 OCR 脚本识别\r
  3. 手动记录:用户说"记账"并提供详细信息\r
  4. 查看记录:用户说"看看本月消费"、"本月花了多少"\r
  5. 记账提醒:每天20:00 自动触发\r
  6. 月度报告:每月最后一天 20:00 自动触发,或用户说"生成本月消费报告"\r \r \r

工作流程\r

\r

流程 A:处理文本账单\r

\r

  1. 从用户消息中提取关键信息:日期、时间、金额、商家、消费类别、支付方式、备注\r
  2. 如果用户未提供日期/时间,默认使用当前日期和时间\r
  3. 根据商家名称和备注,自动匹配最合适的消费分类(参考 categories.json)\r
  4. 调用 scripts/record_expense.py 将数据写入当月 expenses/expenses-YYYYMM.json 文件\r
  5. 回复用户确认记录成功,并展示本次消费摘要和本月累计\r \r 消费分类自动匹配规则:\r
  • 含"餐、饭、面、粉、菜、外卖、咖啡、奶茶、饮料、零食、烧烤、火锅"等 → 餐饮\r
  • 含"打车、滴滴、公交、地铁、加油、停车、充电、单车"等 → 交通\r
  • 含"超市、便利店、淘宝、京东、拼多多"等 → 购物\r
  • 含"房租、房贷、水电、燃气、物业"等 → 居住\r
  • 含"电影、KTV、游戏、旅游、景点"等 → 娱乐\r
  • 含"医院、药房、诊所、挂号"等 → 医疗\r
  • 含"话费、流量、宽带"等 → 通讯\r
  • 其他默认归入 其他\r \r

流程 B:处理图片账单(支付截图)\r

\r

  1. 用户发送图片到对话,先保存图片到临时文件\r
  2. 调用 python3 scripts/ocr_bill.py \x3C图片路径> 执行 OCR 识别\r
  3. 解析 OCR 返回的 JSON 结果,提取账单信息\r
  4. 如果 OCR 识别出多条消费记录,逐条确认后记录\r
  5. 将识别结果展示给用户确认,用户回复"确认"后写入文件\r
  6. 如果 OCR 识别不完整(缺少金额、商家等),请用户补充缺失信息\r \r

流程 C:生成月度消费报告\r

\r 触发条件(每月最后一天 20:00 自动,或用户手动触发):\r

  1. 调用 python3 scripts/generate_report.py \x3CYYYYMM> 生成报告\r
  2. 报告内容包含:\r
    • 本月总支出金额\r
    • 各分类支出金额及占比(饼图数据)\r
    • 日均消费金额\r
    • 单笔最高消费\r
    • 支付方式分布\r
    • 与上月对比(如果上月数据存在)\r
  3. 将报告摘要回复给用户,同时写入当月 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
安全使用建议
Install only if you are comfortable with local persistent storage of your expense history and possible exposure of raw payment-screenshot text in logs. Prefer using it with explicit commands, avoid sending screenshots that contain unrelated sensitive information, and remove or disable raw OCR logging before routine use.
能力评估
Purpose & Capability
The skill's expense-recording, OCR, local JSON storage, daily reminders, and monthly reports are coherent with its stated personal finance purpose.
Instruction Scope
The triggers include broad spending phrases and scheduled reminder/report behavior, so users may not always make an explicit per-action choice before records are checked, summarized, or shown.
Install Mechanism
The metadata only requires python3 and declares no API keys, privileged installer, package-install hook, or hidden setup behavior.
Credentials
The OCR script prints the full recognized screenshot text to stderr and also returns raw OCR text, which can expose merchant, amount, time, and payment-method details in logs or agent transcripts.
Persistence & Privilege
The skill persistently writes categories, monthly expense files, and report summaries, but the artifacts do not define retention, deletion, export, or first-use consent controls for financial records.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install yaohx-expense-tracker
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /yaohx-expense-tracker 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
修复路径问题
v1.0.1
添加记账提醒,每天定时提醒记账
v1.0.0
Initial release of yaohx-expense-tracker. - Automatically records expenses from user text or payment screenshots, extracting amount, merchant, category, and payment method. - Maintains categorized expense data files by month. - Generates and sends monthly spending reports automatically at 20:00 on the last day of each month. - Supports commands for manual bookkeeping, record review, and on-demand report generation. - Requires initialization to create category and expense files on first use.
元数据
Slug yaohx-expense-tracker
版本 1.0.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

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。

💬 留言讨论