blender-kiln
Claude Code plugin that turns a text brief or a photo into a production-ready 3D asset through Blender: rebuilt by script, textured from CC0 scans, graded against the real object, optimized to GLB/FBX
翻译准备中
将支付宝&微信个人账单转换为MoneyWiz兼容的csv文件(中文格式)的 Skill
翻译准备中
技能Python · JavaScriptGitHub @wuzeyou自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
安装型项目无需部署域名也可验证。个人仓库可通过 GitHub 登录验证,组织仓库可使用上方的仓库验证文件。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗将支付宝、微信账单导入 MoneyWiz 的 Claude Code Skill。
支持账户映射、智能分类预测、商户/描述简化、退款类型自动转换、非人民币账户换算。
旧版(v1)是 Node.js CLI 脚本(npm run alipay / npm run wechat),完整代码保留在 archive/ 目录,仍可独立使用。
v2 完全用 Python 重写,并以 Claude Code Skill 的形式发布——AI 在对话中驱动整个流程,包括分类预测、与你交互确认、生成 CSV、自动转换退款类型,全部一气呵成。
如果你 Star 过旧版本:感谢一路同行。新版本是同一个目标的更聪明的实现。
为了让仓库可公开,我从我自用的 skill 中移除了三块功能:
gmail-reader skill,未开源。本版本要求你自己从支付宝/微信 App 导出账单(CSV/XLSX),解压后把文件交给 AI。💡 如果你想要更完善的版本:这个 Skill 本身就是一份 Claude Skill 写法的范例。你完全可以让 AI 阅读
SKILL.md和scripts/,然后让它帮你扩展上面任意一项——只要你愿意把 Gmail OAuth、银行邮件正则等个人化部分自己接进去。Claude Skill 的好处就是改它本身比改一个传统 CLI 脚本容易得多。
openpyxl(处理微信 XLSX):pip install openpyxl# 1. clone 到 Claude skills 目录
git clone https://github.com/wuzeyou/alipay2moneywiz.git ~/.claude/skills/moneywiz
# 2. 复制配置模板,填入你的真实账户/规则
cd ~/.claude/skills/moneywiz/config
for f in *.example.json; do cp "$f" "${f%.example.json}.json"; done
# 然后编辑 account_map.json 等
config/*.json(不带 .example)已加入 .gitignore,不会被误推。
在 Claude Code 中,直接说:
帮我导入这个支付宝账单:~/Downloads/支付宝交易明细.csv
或同时导入支付宝和微信:
帮我导入:
- 支付宝:~/Downloads/支付宝交易明细.csv
- 微信:~/Downloads/微信账单.xlsx
AI 会按 SKILL.md 的协议执行:解析 → 推测分类 → 与你交互确认每一条 → 生成 MoneyWiz CSV → 打开 MoneyWiz 完成导入 → 把退款 (Income) UPDATE 为 Refund 类型。
不走 AI 也可以:
python3 scripts/convert_bill.py <账单文件> # 解析为 JSON
python3 scripts/apply_live_fx.py parsed.json out.json # 外币账户按当日汇率重算(可选)
python3 scripts/generate_csv.py confirmed.json # 生成 CSV
python3 scripts/convert_refunds.py confirmed.json # 退款转换(写库前会备份)
python3 scripts/moneywiz_query.py recent 30 # 查询历史交易
alipay2moneywiz/
├── SKILL.md # Claude Skill 协议(AI 按此执行)
├── scripts/ # Python 脚本(解析、CSV 生成、退款转换、查询)
├── config/ # 配置模板(*.example.json)+ 你的实际配置(gitignored)
├── archive/ # v1 Node.js 旧版(仍可用)
└── bills/ # 工作目录(gitignored,账单/CSV/数据库备份)
MoneyWiz 的 CSV 导入器仅支持 Income / Withdraw / Transfer 三种类型,无法直接生成 Refund。本 Skill 的处理方式:
交易分类=退款、微信 交易类型 含 -退款),在 JSON 标记 is_refund: true,CSV 写为 Income,分类占位用收入分类「退款收入」(写支出分类名会被导入器克隆成同名收入分类)。convert_refunds.py,自动关闭 MoneyWiz、备份数据库到 ./bills/backups/、把刚导入的 Income 条目按严格匹配(账户 + 金额 + 描述 + ±5min 时间窗口)UPDATE 为 Refund,再按 category_pk 把分类指回原消费分类、按 original_tx_pk 关联原消费交易,并清理导入器克隆出的分类。Refund(RefundTransaction)与 Income(DepositTransaction)在数据库中字段完全一致,仅 Z_ENT 标记不同——本 Skill 利用了这个事实,绕过 CSV 导入器的限制。Z_ENT 编号会随 MoneyWiz 升级迁移模型而整体变动,所以脚本一律按实体名到 Z_PRIMARYKEY 表实时查编号,不写死数字。
支付宝/微信账单里的金额永远是人民币,但 MoneyWiz 按账户自己的币种记账,而 CSV 导入器没有币种列——13.25 元人民币的消费导进新加坡元账户,会被直接记成 13.25 新元。
所以换算在生成 CSV 之前完成:在 config/account_map.json 的 account_currency 里登记外币账户,解析时按 fx_fallback_rates 的近似汇率换算,可再用 apply_live_fx.py 按当日汇率重算。人民币原值写进 CSV 备注列,方便日后和银行账单对照。汇率只是估算,真实扣款以银行账单为准。
~/Library/Containers/com.moneywiz.personalfinance/...)。convert_refunds.py,它的安全机制:
osascript 关闭 MoneyWiz 进程(避免运行时损坏)./bills/backups/<时间戳>.sqliteBEGIN IMMEDIATE; ... COMMIT,异常自动 ROLLBACK--dry-run 仅查询不修改MIT — 详见 LICENSE。
感谢 MoneyWiz 团队开发了这款离线优先、未加密 SQLite 的记账工具——这种开放性让本工具成为可能。
如果你觉得这个项目有用,欢迎 Star 或者 Fork 出你自己的扩展版。