OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  watch-my-money:分析银行交易、消费分类并追踪财务状况

watch-my-money:分析银行交易、消费分类并追踪财务状况

 
  list ·  2026-02-14 17:50:07 · 3 次点击  · 0 条评论  

名称: watch-my-money
描述: 分析银行交易流水,对支出进行分类,追踪月度预算,检测超支和异常情况。输出交互式 HTML 报告。
触发器:
- "追踪支出"
- "检查预算"
- "分析交易"
- "我的钱花在哪了"
- "我是否超支了"
- "预算追踪器"
- "支出分析"
- "月度开销"
formats:
- 银行导出的 CSV 文件
- 文本交易列表
outputs:
- 交互式 HTML 报告
- JSON 数据导出
- 控制台摘要
privacy: 仅限本地


watch-my-money

分析交易流水,对支出进行分类,追踪预算,标记超支情况。

工作流程

1. 获取交易数据

请用户提供银行/信用卡的 CSV 导出文件或粘贴的文本。

常见数据来源:
- 从银行在线门户网站下载 CSV 文件
- 从预算类应用导出
- 从对账单复制/粘贴交易记录

支持格式:
- 任何包含日期、描述、金额列的 CSV 文件
- 粘贴的文本:例如 "2026-01-03 Starbucks -5.40 CHF"

2. 解析与标准化

读取输入数据,并标准化为统一格式:
- 自动检测分隔符(逗号、分号、制表符)
- 解析日期(支持 YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY 等格式)
- 标准化金额(支出为负,收入为正)
- 从描述中提取商户名称
- 检测周期性交易(订阅服务)

3. 交易分类

为每笔交易分配类别:

分类列表:
- 房租、水电煤、订阅服务、食品杂货、外出就餐
- 交通、旅行、购物、健康
- 收入、转账、其他

分类优先级:
1. 检查已保存的商户覆盖规则
2. 应用确定性的关键词规则(参见 common-merchants.md
3. 模式匹配(订阅服务、水电煤账单)
4. 启发式回退

对于不明确的商户(每次 5-10 个),会请求用户确认。
保存覆盖规则供后续运行使用。

4. 检查预算

将支出与用户定义的预算进行比较。

告警阈值:
- 80% - 接近预算上限(黄色)
- 100% - 达到预算上限(红色)
- 120% - 超出预算(红色,紧急)

建议预算模板请参见 budget-templates.md

5. 检测异常

标记异常支出:
- 类别激增:支出 > 基线值的 1.5 倍 差额 > 50
- 订阅增长:订阅费用增长 > 20%
- 新出现的高消费商户:首次出现 消费 > 30
- 潜在的订阅:相同金额的周期性扣款

基线值 = 过去 3 个月的平均值(若无历史数据则使用当月数据)。

6. 生成 HTML 报告

创建本地 HTML 文件,包含:
- 月度摘要(收入、支出、净额)
- 带预算状态的分类明细
- 主要消费商户
- 告警信息区域
- 检测到的周期性交易
- 隐私切换开关(可模糊金额/商户信息)

复制 template.html 并注入数据。

7. 保存状态

持久化存储到 ~/.watch_my_money/ 目录:
- state.json - 预算、商户覆盖规则、历史记录
- reports/YYYY-MM.json - 机器可读的月度数据
- reports/YYYY-MM.html - 交互式报告

CLI 命令

# 分析 CSV 文件
python -m watch_my_money analyze --csv path/to/file.csv --month 2026-01

# 从标准输入分析
cat transactions.txt | python -m watch_my_money analyze --stdin --month 2026-01 --default-currency CHF

# 比较月份数据
python -m watch_my_money compare --months 2026-01 2025-12

# 设置预算
python -m watch_my_money set-budget --category groceries --amount 500 --currency CHF

# 查看预算
python -m watch_my_money budgets

# 导出月度数据
python -m watch_my_money export --month 2026-01 --out summary.json

# 重置所有状态
python -m watch_my_money reset-state

输出结构

控制台显示:
- 包含收入/支出/净额的月度摘要
- 支出与预算对比的分类表格
- 检测到的周期性交易
- 前 5 大消费商户
- 以项目符号列出的告警信息

生成的文件:
- ~/.watch_my_money/state.json
- ~/.watch_my_money/reports/2026-01.json
- ~/.watch_my_money/reports/2026-01.html

HTML 报告特性

  • 可折叠的分类区域
  • 预算进度条
  • 周期性交易列表
  • 月度对比
  • 隐私切换开关(可模糊敏感数据)
  • 深色模式(遵循系统偏好)
  • 浮动操作按钮
  • 便于截图的布局
  • 自动隐藏空区域

隐私保护

所有数据均保留在本地。无网络请求。无外部 API 调用。
交易数据仅在本地分析,并仅存储在 ~/.watch_my_money/ 目录中。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor