Obsidian 记账管理插件

程序员费曼大约 7 分钟


title: 像记笔记一样简单的无痛记账软件 date: 2026-01-10 category:

  • Obsidian tag:
  • 插件开发
  • TypeScript

Obsidian 记账管理插件

基于 Obsidian 日记文件的智能记账管理插件,能够自动识别和统计您在日记中的记账记录。

功能特点

  • 🔍 自动识别记账记录:从日记文件中自动解析记账信息
  • 📊 统计分析:提供收支统计、分类统计和时间范围查询
  • 🏷️ 分类管理:支持自定义关键词和分类映射
  • 📅 时间筛选:可按日期范围查看记账记录
  • 💰 收支管理:区分收入和支出,计算结余
  • 🎨 美观界面:类似日历插件的现代化界面设计

安装方法

方式一:从 GitHub Release 安装(推荐)

  1. 前往 Releases 页面下载最新版本
  2. 下载以下文件:
    • main.js
    • manifest.json
    • styles.css
    • config.json
  3. 在你的 Obsidian 库中创建插件目录:.obsidian/plugins/obsidian-accounting/
  4. 将下载的文件复制到该目录
  5. 重启 Obsidian 或刷新插件列表
  6. 在设置中启用"记账管理"插件

方式二:手动安装

cd /path/to/your/vault/.obsidian/plugins
git clone https://github.com/你的用户名/obsidian-accounting.git
cd obsidian-accounting
npm install
npm run build

快速开始

1. 配置日记文件夹路径

通过设置页面配置(推荐)

  1. 打开 Obsidian 设置 → 第三方插件记账管理插件
  2. 在「日记文件夹路径」输入框中填写你的日记文件夹路径(相对 vault 根目录)
  3. 默认值为 journals,可修改为如 日记Daily/2024 等自定义路径
  4. 修改后会自动保存并刷新数据
记账管理插件设置页面
记账管理插件设置页面

说明

  • 路径为相对 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月份工资

配置说明

日记文件夹配置

通过设置页面配置(推荐)

  1. 打开 Obsidian 设置 → 第三方插件记账管理插件
  2. 在「日记文件夹路径」输入框中填写路径(相对 vault 根目录)
  3. 默认值为 journals,可修改为如 日记Daily/2024Bike/journals
  4. 修改后会自动保存并刷新数据
记账管理插件设置页面
记账管理插件设置页面

配置说明

  • 路径格式:相对 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 → 搜索"记账管理"快速打开
  • 右键记录 → 查看原文跳转到对应日记
  • 刷新数据 → 重新扫描所有日记文件

注意事项

  1. 确保日记文件存放在配置的 journalsPath 目录下(默认为 journals
  2. 记账行必须包含 #关键词数字金额
  3. 金额支持小数点,货币符号(¥、元等)会被自动忽略
  4. 关键词必须在配置文件中定义才能被正确识别
  5. 使用 sr 关键词标识收入,其他关键词默认为支出
  6. 如果一行出现多个数字,第一个数字会被识别为金额
  7. 数字和备注的顺序、空格都很灵活,插件会自动识别

常见问题

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


💡 提示:建议养成每日记账的好习惯,这样可以更好地了解自己的消费情况!