基于 Obsidian 日记文件的智能记账管理插件,能够自动识别和统计日记中的记账记录,支持截图账单一键导入。

| 功能 | 说明 |
|---|---|
| 🔍 自动识别 | 从日记文件中自动解析记账记录 |
| 📊 统计分析 | 收支统计、分类统计、时间范围查询 |
| 🏷️ 分类管理 | 自定义关键词与分类映射 |
| 📅 时间筛选 | 按日期范围查看记账记录 |
| 💰 收支管理 | 区分收入和支出,计算结余 |
| 📋 快速记账 | 一键复制历史记录到今天 |
| 🧾 截图账单导入 | OCR 文字写入 bill.md,自动解析记账 |
| 📄 导出功能 | 支持导出 PDF 和 Markdown |
| 🔄 批量重分类 | 按备注关键词批量修正记账分类,支持自动执行 |
main.js、manifest.json、styles.css、config.json.obsidian/plugins/obsidian-accounting/cd /path/to/your/vault/.obsidian/plugins
git clone https://github.com/你的用户名/obsidian-accounting.git
cd obsidian-accounting
npm install && npm run build
打开设置 → 第三方插件 → 记账管理插件,在「日记文件夹路径」填写日记文件夹(默认 journals)。

在 journals/2024-01-10.md 中写入:
- #cy 买豆腐 15.5
- #cy 麻辣烫 45
- #gw 超市购物 128
- #sr 工资 8500
点击左侧工具栏计算器图标打开记账视图。
#关键词 描述 金额
| 关键词 | 分类 | 说明 |
|---|---|---|
cy |
餐饮 | 日常饮食 |
gw |
购物 | 网购、实体店 |
dk |
贷款 | 房贷、车贷 |
jf |
生活缴费 | 水电气网 |
qt |
其他 | 未分类支出 |
sr |
收入 ⭐ | 特殊关键词,标识收入 |
快速记账帮你一键复制历史记录到今天,适合固定消费项目。
| 入口 | 说明 |
|---|---|
| 侧边栏图标 | 点击 📋 图标 |
| 命令面板 | Cmd/Ctrl + P → 「快速记账」 |
| Advanced URI | obsidian://advanced-uri?vault=库名&commandid=obsidian-accounting:quick-copy |

obsidian://advanced-uri?vault=库名&commandid=obsidian-accounting:quick-copy用微信/建行 App 截图 → 快捷指令 OCR 识别 → 写入 bill.md → 执行命令自动记账
支付截图
↓ 快捷指令(OCR)
journals/bill.md
↓ 命令「从账单导入记账」
自动解析 → 弹出确认框 → 写入今日日记 → 删除 bill.md
支持多条记录,用 ### 分隔,插件只解析最后一段:
20:58
5G
豆磨坊(**飞)
·19.40
完成
###
12:42
Manner
使用建设银行储蓄卡(0511)支付
·10.00
完成
| 类型 | 识别特征 |
|---|---|
| 💚 微信支付完成页 | 含「支付成功」或「返回商家」 |
| 💚 微信支付账单页 | 含「我的账单」+「支付服务」 |
| 💙 支付宝完成页 | 含「完成」+「付款方式」 |
| 🟡 建设银行动账提醒 | 含「动账提醒」或「变动提醒」 |
打开设置 → 账单导入 - 商户自动分类,每行一条:
商户关键字=分类关键词=描述
示例:
豆磨坊=cy=买豆腐
麦当劳=cy=麦当劳
盒马=gw=买菜
物业=jf=物业费
💡 先不配置映射执行一次导入,从弹框「商户」行看到 OCR 实际输出的文字,再以该文字作为 key。
| 方式 | 操作 |
|---|---|
| 命令面板 | Cmd/Ctrl + P → 「从账单导入记账」 |
| Advanced URI | obsidian://advanced-uri?vault=库名&commandid=obsidian-accounting:bill-import |

通过 Cmd/Ctrl + P 打开命令面板:
| 命令 | 命令 ID | 说明 |
|---|---|---|
| 打开每日记账 | open-accounting |
打开记账视图 |
| 刷新记账数据 | refresh-accounting |
重新扫描日记文件 |
| 新建记账 | quick-entry |
打开新建记账弹窗 |
| 快速记账 | quick-copy |
打开快速记账弹窗 |
| 从账单导入记账 | bill-import |
解析 bill.md 并弹出确认框 |
| 导出账单 PDF | export-pdf |
导出当前视图为 PDF |
| 导出账单 Markdown | export-markdown |
导出当前视图为 MD |
| 批量重分类 | reclassify |
打开批量重分类页面 |
Advanced URI 格式:
obsidian://advanced-uri?vault=库名&commandid=obsidian-accounting:命令ID
场景:大量记账通过截图 OCR 录入,分类默认为
#cy,需要根据备注内容批量修正分类。
记账视图操作栏点击「批量重分类」按钮,或命令面板执行 批量重分类,在新标签页打开独立页面,不影响现有记账视图布局。

每条规则包含:
| 字段 | 说明 |
|---|---|
| 备注关键词 | 备注中包含该词即命中,不区分大小写 |
| 目标分类 | 命中后改为此分类 |
| 自动 | 勾选后打开记账页面时自动执行(仅处理最近 7 天) |
示例:备注包含 maner → 分类改为 悦己奖励 (yj)
勾选规则的「自动」复选框后,每次打开记账视图时自动静默执行该规则:
勾选「启用日期范围筛选」可将手动预览/执行的范围限定在指定日期区间内,避免误改历史数据。
在记账视图点击「导出 PDF」,选择时间范围后导出,包含统计概览、分类汇总、详细记录。
点击「导出 MD」,生成 Markdown 格式账单报告。
Q: 看不到记账记录?
检查日记文件是否在配置的文件夹下、文件名是否为 YYYY-MM-DD.md、记账格式是否正确。
Q: 如何添加新分类?
点击记账视图中的「配置分类」按钮添加。
Q: 数据存储在哪里?
所有数据存储在 Obsidian 笔记中(日记文件 + config.json),完全本地。
Q: bill.md 被误删怎么办?
只有点击「记账」按钮确认、或解析失败时才会删除。如有疑问可在 Obsidian 开发者控制台(Cmd+Option+I)搜索 [bill-import] 查看日志。
Q: OCR 识别的商户名和实际不符?
以弹框中显示的文字为准配置商户关键字,OCR 可能存在误识别(如腐→磨)。
npm run dev # 开发模式
npm run build # 构建
npm run deploy # 部署到本地 vault
npm run release # 发布到 GitHub
MIT
如果这个插件帮助了你,欢迎扫码打赏,感谢支持!
微信扫码打赏
💡 提示:记账最难的不是方法,而是坚持。把记账融入日记,让记录消费成为写日记的自然延伸。