Obsidian 记账管理插件
大约 7 分钟
title: 像记笔记一样简单的无痛记账软件 date: 2026-01-10 category:
- Obsidian tag:
- 插件开发
- TypeScript
Obsidian 记账管理插件
基于 Obsidian 日记文件的智能记账管理插件,能够自动识别和统计您在日记中的记账记录。
功能特点
- 🔍 自动识别记账记录:从日记文件中自动解析记账信息
- 📊 统计分析:提供收支统计、分类统计和时间范围查询
- 🏷️ 分类管理:支持自定义关键词和分类映射
- 📅 时间筛选:可按日期范围查看记账记录
- 💰 收支管理:区分收入和支出,计算结余
- 🎨 美观界面:类似日历插件的现代化界面设计
安装方法
方式一:从 GitHub Release 安装(推荐)
- 前往 Releases 页面下载最新版本
- 下载以下文件:
main.jsmanifest.jsonstyles.cssconfig.json
- 在你的 Obsidian 库中创建插件目录:
.obsidian/plugins/obsidian-accounting/ - 将下载的文件复制到该目录
- 重启 Obsidian 或刷新插件列表
- 在设置中启用"记账管理"插件
方式二:手动安装
cd /path/to/your/vault/.obsidian/plugins
git clone https://github.com/你的用户名/obsidian-accounting.git
cd obsidian-accounting
npm install
npm run build
快速开始
1. 配置日记文件夹路径
通过设置页面配置(推荐):
- 打开 Obsidian 设置 → 第三方插件 → 记账管理插件
- 在「日记文件夹路径」输入框中填写你的日记文件夹路径(相对 vault 根目录)
- 默认值为
journals,可修改为如日记、Daily/2024等自定义路径 - 修改后会自动保存并刷新数据
说明:
- 路径为相对 vault 根目录,例如
journals表示根目录下的journals文件夹 - 支持嵌套路径,如
Daily/2024表示Daily/2024文件夹 - 如果留空,会使用默认值
journals - 修改后会自动保存并刷新数据,无需手动操作
方式二:手动创建文件夹
如果使用默认路径 journals,在库根目录创建 journals 文件夹(如果还没有的话)
2. 在日记中记账
在 journals/2024-01-10.md 文件中写入:
# 2024年1月10日
早上买早餐
#cy 15.5 豆浆油条
中午吃饭
#cy 45 麻辣烫
打车回家
#jt 28 滴滴打车
收到工资
#sr 8500 1月份工资
3. 查看统计
- 点击左侧工具栏的计算器图标 📊
- 或使用命令面板 (Cmd/Ctrl + P) 搜索"记账管理"
记账格式
基本格式
#关键词 金额 备注说明
格式规则
✅ 灵活的格式支持:
- 数字可以在前也可以在后
- 备注和数字之间可以有空格,也可以没有空格
- 如果一行出现多个数字,第一个数字会被识别为记账金额
支持的格式示例
# 标准格式(推荐)
- #cy 15.5 豆浆油条
- #cy 45 麻辣烫
# 数字在前
- #cy 25.8 午餐麻辣烫
# 数字在后
- #cy 午餐麻辣烫 25.8
# 无空格
- #cy15.5豆浆油条
- #cy午餐25.8
# 带货币符号(会自动忽略)
- #cy 早餐消费¥9
- #cy 午餐汤饭20
# 多个数字(取第一个)
- #cy 87.65 米 面 水煮花生 橘子
- #sp 深蹲了 10 个 ← 10 会被识别为金额
# 带单位
- #cy 全家早餐11元
- #cy 办社保卡路边停车6元
默认关键词
cy= 餐饮gw= 购物dk= 贷款jf= 生活缴费qt= 其他sr= 收入 ⭐(特殊关键词)
完整示例
# 2024年1月10日
早上买早餐
- #cy 15.5 豆浆油条
- #cy 全家早餐11元
中午吃饭
- #cy 45 麻辣烫
- #cy 午餐汤饭20
购物
- #gw 买 Maner 咖啡¥37
- #gw 12.7 瓜子雪糕
收入
- #sr 8500 1月份工资
配置说明
日记文件夹配置
通过设置页面配置(推荐):
- 打开 Obsidian 设置 → 第三方插件 → 记账管理插件
- 在「日记文件夹路径」输入框中填写路径(相对 vault 根目录)
- 默认值为
journals,可修改为如日记、Daily/2024、Bike/journals等 - 修改后会自动保存并刷新数据
配置说明:
- 路径格式:相对 vault 根目录,例如
journals表示根目录下的journals文件夹 - 嵌套路径:支持嵌套路径,如
Daily/2024表示Daily/2024文件夹 - 默认值:如果留空,会使用默认值
journals - 自动保存:修改后会自动保存到
config.json并刷新数据 - 文件格式:日记文件应存放在此文件夹下,格式为
YYYY-MM-DD.md(如2024-01-10.md)
其他配置(通过配置模态框)
点击记账视图中的「配置」按钮,可以配置:
- 应用名称:插件显示名称
- 分类管理:关键词与分类的映射关系
- 预算设置:月度预算限额和告警阈值
插件使用 config.json 文件存储配置:
{
"appName": "每日记账",
"categories": {
"cy": "餐饮",
"jt": "交通",
"yl": "娱乐",
"gw": "购物",
"yy": "医疗",
"jy": "教育",
"fz": "房租",
"qt": "其他",
"sr": "收入"
},
"expenseEmoji": "#",
"journalsPath": "journals"
}
配置项说明
- appName: 插件显示名称(可在配置模态框中修改)
- categories: 关键词与分类的映射关系(可在配置模态框中修改)
key: 记账时使用的关键词value: 显示的中文分类名称sr: 特殊关键词,表示收入(其他为支出)
- expenseEmoji: 记账标识符(默认为 #)
- journalsPath: 日记文件存放路径(在设置页面中配置,默认为 journals)
界面功能
统计概览
- 总收入:选定时间范围内的收入总额
- 总支出:选定时间范围内的支出总额
- 结余:收入减去支出的余额
分类统计
- 按支出金额排序显示各分类统计
- 显示每个分类的总金额和记录数量
记录列表
- 按日期分组显示所有记账记录
- 支持右键查看原始日记文件
- 显示每日收支汇总
快捷操作
- Ctrl/Cmd + P → 搜索"记账管理"快速打开
- 右键记录 → 查看原文跳转到对应日记
- 刷新数据 → 重新扫描所有日记文件
注意事项
- 确保日记文件存放在配置的
journalsPath目录下(默认为journals) - 记账行必须包含
#关键词和数字金额 - 金额支持小数点,货币符号(¥、元等)会被自动忽略
- 关键词必须在配置文件中定义才能被正确识别
- 使用
sr关键词标识收入,其他关键词默认为支出 - 如果一行出现多个数字,第一个数字会被识别为金额
- 数字和备注的顺序、空格都很灵活,插件会自动识别
常见问题
Q: 为什么看不到记账记录?
A: 检查以下几点:
- 日记文件是否在配置的日记文件夹路径下(默认
journals) - 记账格式是否正确(包含
#关键词和数字金额) - 在设置页面确认「日记文件夹路径」配置是否正确
Q: 如何修改日记文件夹路径?
A: 打开 Obsidian 设置 → 第三方插件 → 记账管理插件,在「日记文件夹路径」中修改即可。修改后会自动保存并刷新数据。
Q: 如何修改分类?
A: 点击记账视图中的「配置」按钮,在「分类管理」标签页中添加或修改分类
Q: 支持其他货币吗?
A: 支持,只需要在金额中输入数字即可,不要包含货币符号
Q: 可以批量导入历史数据吗?
A: 可以,按格式在历史日记文件中添加记账记录即可
开发
# 开发模式
npm run dev
# 构建
npm run build
# 部署到本地vault
npm run deploy
# 发布到GitHub
npm run release
License
MIT
💡 提示:建议养成每日记账的好习惯,这样可以更好地了解自己的消费情况!