← Back to Skills Marketplace
nontrace

Expense Tracker

by yaohx · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
52
Downloads
1
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install yaohx-expense-tracker
Description
个人记账助手。当用户发送账单/消费信息(文本或支付截图),自动识别并记录到消费数据库;每月最后一天晚上8点自动生成月度消费报告。触发词包括:记账、账单、消费记录、花了多少钱、月度总结、消费报告等。
README (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
Usage Guidance
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.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install yaohx-expense-tracker
  3. After installation, invoke the skill by name or use /yaohx-expense-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug yaohx-expense-tracker
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Expense Tracker?

个人记账助手。当用户发送账单/消费信息(文本或支付截图),自动识别并记录到消费数据库;每月最后一天晚上8点自动生成月度消费报告。触发词包括:记账、账单、消费记录、花了多少钱、月度总结、消费报告等。 It is an AI Agent Skill for Claude Code / OpenClaw, with 52 downloads so far.

How do I install Expense Tracker?

Run "/install yaohx-expense-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Expense Tracker free?

Yes, Expense Tracker is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Expense Tracker support?

Expense Tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Expense Tracker?

It is built and maintained by yaohx (@nontrace); the current version is v1.0.2.

💬 Comments