以前
我使用 Beancount 进行记账,但是这东西并不容易用。因为它本身是面向批量导入的,隔一段时间把各种账单导入进去。但是我是碎碎念的,每一笔消费都要清楚仔细的记录进去。它有一个管理面板 fava,是基于 Python 的,但是需要特定的版本。所以每次启动,我还需要切换 Python 的版本。
当然实际上我并不会这么用,最开始我写了一些脚本,然后在 Obsidian 里面用 Beancount 格式进行记账,后来写成了插件。只是面向自己,用是完全够用的。不够用的话还能自己改一改。
显然碎碎念这件事情面向 AI 可能更加合理。说一下自己的消费,他去整理好,然后填入进去。总比自己手动操作要简单吧。
这件事情我也想了很久,但是账目不多,账户数量可不算少。因为是复式记账,不光有付款账户,还有收款账户。你可以理解为有一部分账户是其他记账方式中的分类。这样每次提示词里需要把所有的账户都给出去,才能够从中选择对应,然后生成合适的记账内容。这里其实压力是有点大的,因为 AI 可能并不了解具体的记账格式,相应的语法也要给出。复杂度上去了,对模型能力的要求也就上去了。那成本也就上去了。
还有一个问题是当时的思路一直是在 Obsidian 里通过脚本解决,AI 能够获得的工具并不多。所以当时一直处在一种能做,但又不怎么能做的状态下。
一些新玩意儿
这次折腾的过程中,发现了一些新项目。
- https://rustledger.github.io/ 这是 Beancount 的 rust 实现,提供了 cli 和 mcp
- rustfava - Desktop App for Plain Text Accounting | rustfava fava 的 rust 实现,可以使用二进制文件直接运行
速度快,使用简单。总之我对换工具是没有抵触的。只要我的账本格式一直是基于 Beancount,那么工具是可以随意更换的。
rustfava 好啊,可以直接当做一个普通的记账软件来看了,反正各个平台下运行,然后开始记账。于是我在 Nas 上 docker 部署了一个。以前也折腾过 fava 的,找别人的镜像,或者自己构建镜像。终于是成功跑起来了呢。然后我什么也没动,它又自己挂掉了。而现在这个简简单单,轻轻松松跑的稳稳定定的。
初步尝试
那么,rustledger 提供了 MCP, MCP 是什么我也弄不太清楚,反正我都当提示词看。当然好像这不太对。但真正值得关注的是它提供的 MCP 是只读的,如果只是读取一个账本,或者进行一些分析是够用的,但是想记账,它没有提供对应的功能。
另一方面这玩意儿得跑起来一个服务,虽然我没有是研究它背后跑的服务是怎样的,应该也是按需启动了。但是感受上就不太稳定,可能也是因为按需启动,得需要了它才启动。
所以最终走的还是 CLI 的途径,反正它也编译好了各个平台的二进制文件,只要下载就行了。唯一的问题就是文件大一些。
安全限定
其实记账可简单了,追加几行内容的事情,只要正确生成就行。
如果我先把所有的账户列出来,常用的收款人列出来。这样就能保证填写的一致性了。AI 把这些内容和我说的新消费放在一起,然后生成一条新的账目,追加进去。
这里的重点是只做追加操作。即便 AI 出了错误,它也只是在账本后面追加了错误的信息。发现之后很容易补救,删掉就行了。
如果前面的记账错误了呢?或者记账并不是错误,但是需要进行一些修改。在这里没有修改操作,将一切变化转换为新增记录,记错了就用新记录冲抵掉旧记录的影响。这不一定是很好的办法,但一定是很安全的办法。
但我又不是完全把账本交给 AI 了,一些细节,我完全可以自己手动修改。上面安装的 rustfava 也不是只为了看账本,那也是我操作账本的入口。
实践
DSH 在 Nas 上,然后把账本的目录给映射过来,这样就实现了 AI 操作。而账本文件本身在我的 Obsidian 笔记中,所以是随着笔记在各个终端同步的。
rustledger 项目丢给它,讲清楚我的需求,让它制作成一个 skill。这样就算把对账本的操作能力给固化下来了。以后换平台,换工具,需要再做的修改并不多。
用 DeepSeek V4.1 Flash,解决这些问题轻轻松松的。甚至把许多安全细节都做得很到位。成本上花了一两块钱吧。
日常
日常记账,当然就不会用 DeepSeek 了,因为它要钱啊。我觉得这是很正常的事情。这种细碎的日常的小需求,本身又很简单,也做了足够的防护措施。用一些落后的或者弱一些的模型已经足够胜任了。流程和工具都在那里,正确的使用就可以了。即便出错也没关系,层层把关,它会认识到自己的错误,再做修正。
只要免费就好。果然我找了那么多免费的 token,用在这里很合适的。而且实际使用起来效果也不错。只不过记账速度稍微有点慢,因为要层层校验。
我觉得 AI 这样融入生活就挺合理的。数据还是我的数据,我依然有足够的操作权。数据也不会成为黑箱,AI 瘫痪,我直接切换到手动模式,对我的心智负担没有任何增加。日常确实会把问题变得简单,比如一次购物了许多东西,可能把截图 OCR 一下,然后把文字丢给 AI,它就帮我整理好,记上账了。
我觉得 AI 与笔记的结合应该也是遵循这样的思路——我和笔记之间的关系并不发生任何变化,AI 只是辅助我去完成一些琐碎繁杂的事情。永远把它放在助理的位置,永远不改变自己与笔记之间原本应有的关系。
成本
没什么成本,除了初始搭建,为了不绕弯子,为了保证安全所以用了一点付费模型。日常记账完全薅免费的。我觉得这种不增加负担的用法是最合理的。
有人一直在和我讲 喵喵家和汪汪家 的付费套餐计算下来的成本比 DeepSeek api 的标价可便宜多了。他说的没有错,确实便宜多了。但前提是我每个月得用掉那么多,然后算下来的平均价格才便宜多了。但如果我用量小,但又长期需要呢?
套餐剥夺的是用户的灵活性。你必须预估一个月的用量,并为此付费。付出的费用就是你的赌注,赌你这一个月能够正好把套餐用干净。多了少了都是你亏。显然这个赌法,自己输的面儿比较大。那商家必然乐此不疲。
另一方面,各个套餐起步百元左右。那么像我这种细水长流的需求又该怎么办呢?
所以,现在的套餐剥夺的是用户的灵活性。
我现在倾向于用付费的模型去解决问题,用免费的模型去维持日常基本操作。我觉得是合理的,这能让我更加安心的思考,而不用担心手头的 token 过期。
挺好的,目前请 DeepSeek 来帮我解决问题每次的成本大概一两块钱,反正我也没那么着急,尽量选择便宜的时候使用就是了。当然如果每天用个一两次,也不比套餐便宜了。但我不会存在任何心理上的压力。因为我随时可以放下这些,然后安静的思考,下面半个月都不用了也不会造出什么新的沉没成本。
下一步
慢慢的整理,将 AI 与自己的笔记结合。我还是有许多琐碎的麻烦的小事情,需要 AI 帮我做的。

