OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  refund-radar: 扫描银行流水以检测经常性收费和可疑账单

refund-radar: 扫描银行流水以检测经常性收费和可疑账单

 
  protocol ·  2026-02-01 20:30:06 · 3 次点击  · 0 条评论  

name: refund-radar
description: 扫描银行对账单,检测周期性扣款,标记可疑交易,并通过交互式 HTML 报告草拟退款请求。


refund-radar

扫描银行对账单,检测周期性扣款,标记可疑交易,识别重复项和费用,草拟退款请求模板,并生成交互式 HTML 审计报告。

触发词

  • “扫描我的银行对账单以查找退款”
  • “分析我的信用卡交易”
  • “在我的对账单中查找周期性扣款”
  • “检查重复或可疑扣款”
  • “帮助我对一笔扣款提出异议”
  • “生成退款请求”
  • “审计我的订阅”

工作流程

1. 获取交易数据

向用户索取银行/信用卡 CSV 导出文件或粘贴的文本。常见来源:

  • Apple Card:钱包 → 卡片余额 → 导出
  • Chase:账户 → 下载活动 → CSV
  • Mint:交易 → 导出
  • 任何银行:从交易历史记录下载为 CSV

或接受粘贴的文本格式:

2026-01-03 Spotify -11.99 USD
2026-01-15 Salary +4500 USD

2. 解析与标准化

对用户数据运行解析器:

python -m refund_radar analyze --csv statement.csv --month 2026-01

或针对粘贴的文本:

python -m refund_radar analyze --stdin --month 2026-01 --default-currency USD

解析器自动检测:
- 分隔符(逗号、分号、制表符)
- 日期格式(YYYY-MM-DD、DD/MM/YYYY、MM/DD/YYYY)
- 金额格式(单列或借/贷)
- 货币

3. 审查周期性扣款

工具通过以下方式识别周期性订阅:
- 同一商户在 90 天内出现 >= 2 次
- 金额相似(在 5% 或 2 美元范围内)
- 周期一致(每周、每月、每年)
- 已知订阅关键词(Netflix、Spotify 等)

输出显示:
- 商户名称
- 平均金额和周期
- 最近扣款日期
- 下次预期扣款日期

4. 标记可疑扣款

工具自动标记:

标记类型 触发条件 严重性
重复项 同一商户 + 相同金额在 2 天内
金额激增 > 1.8 倍基准值,差额 > 25 美元
新商户 首次出现 + 金额 > 30 美元
类似费用 关键词(FEE、ATM、OVERDRAFT)+ 金额 > 3 美元
货币异常 异常货币或动态货币转换(DCC)

5. 与用户确认

对于标记的项目,以 5-10 个为一批询问:

  • 这笔扣款是否合法?
  • 我是否应将此商户标记为预期扣款?
  • 您是否需要为此生成退款模板?

根据回答更新状态:

python -m refund_radar mark-expected --merchant "Costco"
python -m refund_radar mark-recurring --merchant "Netflix"

6. 生成 HTML 报告

报告保存至 ~/.refund_radar/reports/YYYY-MM.html

复制 template.html 结构。包含以下部分:
- 摘要:交易数量、总支出、周期性扣款数量、标记数量
- 周期性扣款:包含商户、金额、周期、下次预期扣款日期的表格
- 意外扣款:包含严重性和原因的标记项目
- 重复项:同一天的重复扣款
- 类似费用:ATM 费、外汇费、服务费
- 退款模板:可直接复制的邮件/聊天/争议消息

功能:
- 隐私切换(模糊商户名称)
- 深色/浅色模式
- 可折叠部分
- 模板上的复制按钮
- 自动隐藏空部分

7. 草拟退款请求

针对每个标记的扣款,生成三种模板类型:
- 邮件:正式的退款请求
- 聊天:用于在线客服的快速消息
- 争议:银行争议表单文本

每种类型提供三种语气变体:
- 简洁(默认)
- 坚定(自信)
- 友好(礼貌)

模板包含:
- 商户名称和日期
- 扣款金额
- 基于标记类型的争议原因
- 卡号后四位、参考编号的占位符

重要:生成的文本中不包含撇号。

CLI 参考

# 分析对账单
python -m refund_radar analyze --csv file.csv --month 2026-01

# 从标准输入分析
python -m refund_radar analyze --stdin --month 2026-01 --default-currency CHF

# 将商户标记为预期扣款
python -m refund_radar mark-expected --merchant "Amazon"

# 将商户标记为周期性扣款
python -m refund_radar mark-recurring --merchant "Netflix"

# 列出预期商户
python -m refund_radar expected

# 重置学习状态
python -m refund_radar reset-state

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

写入的文件

路径 用途
~/.refund_radar/state.json 学习到的偏好、商户历史记录
~/.refund_radar/reports/YYYY-MM.html 交互式审计报告
~/.refund_radar/reports/YYYY-MM.json 原始分析数据

隐私

  • 无网络请求。 所有操作均在本地运行。
  • 无外部 API。 不使用 Plaid 或任何云服务。
  • 您的数据仅保存在您的设备上。
  • 报告中的隐私切换。 一键模糊商户名称。

要求

  • Python 3.9+
  • 无外部依赖

仓库

https://github.com/andreolf/refund-radar

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