首页 › weekly › 自托管账本:管钱开源七宝

自托管账本:7 个把「管钱」这门手艺开源的宝藏

概述

前几轮我们把蜜罐、地图、厨房、观鸟都翻了一遍,这一轮换一个离钱最近、又最容易被 SaaS 平台「订阅税」收割的领域:个人与小家庭的财务基建。预算管理、投资组合、纯文本复式记账、订阅费管家、欧洲银行直连——这一类项目的共同点是:数据极度敏感、需求极度长期,因此「数据留在自己家里」不是极客情怀,而是刚需。它们大多可以一键 Docker 起飞,也大多有清晰的变现路径(代部署、财务教练工具化、直接套壳上云)。本文选了 7 个:两个头部爆款、三个中坚、两个千星级小而美。文中 Star 数为撰写时的近似量级,以仓库页面为准。


1. Actual Budget — 本地优先的「信封预算」天花板

仓库: actualbudget/actual | Star 约 2 万量级 | 长期高频活跃

一句话定位:把 YNAB(You Need A Budget)那套信封式预算法完整开源,而且做得比原版更「本地优先」。

痛点:记账 SaaS 最大的问题不是收费,是你的每一笔消费流水都躺在别人的服务器上。Actual 的答案很干脆:预算数据存在本地 SQLite 里,界面是一个纯前端应用,断网照用。

核心拆解: - 架构上是教科书级的 local-first 实现:客户端(React + SQLite/WASM)持有全部数据,可选部署一个轻量同步服务端,设备之间通过加密同步包对齐,服务端甚至可以不解密内容; - 预算方法论完整:月度信封分配、目标储蓄、报表钻取,从 YNAB 迁移有现成导入器(OFX/QIF/CSV); - 官方自己也靠托管版收费,等于替你验证了这个赛道的付费意愿——你完全可以照抄这条路。

上手难度:⭐⭐(docker-compose 拉起 sync-server 即可)

适用人群:家庭预算管理者、想研究 local-first 架构的开发者。变现方向:为财务教练/理财咨询师做白标部署,或做国内银行卡账单(支付宝/微信 CSV)的导入适配层——这本身就是个可以收费的插件位。


2. Firefly III — 老牌全能记账引擎 + 小而美的数据导入器

仓库: firefly-iii/firefly-iii | Star 约 1.5 万量级 | 长期活跃 配套小项目: firefly-iii/data-importer | Star 数百量级(本期小而美之一)

一句话定位:自托管个人财务界的「瑞士军刀」,从账户、预算到规则引擎一应俱全,且配了一个数百星级的官方数据导入器。

痛点:记账最难的不是记,是把散落各处的银行流水、CSV、paypal 记录灌进去。Firefly III 专门为此养了一个独立项目 data-importer,支持对接 GoCardless Bank Account Data(原 Nordigen)、Salt Edge、Spectre 等银行聚合服务,把欧洲银行的流水自动拉进来。

核心拆解: - 主程序是 PHP/Laravel 单体,功能密度极高:多币种、规则引擎(类似邮件过滤器的自动分类)、循环交易、存钱罐、年度报告; - REST API 完整,几乎页面能做的 API 都能做,二开友好; - data-importer 与主程序解耦部署,这个「主应用 + 导入器」的拆分本身就是很好的微服务化参考。

上手难度:⭐⭐⭐(主程序一键 Docker,银行导入需注册聚合服务)

适用人群:想要全功能记账中台的家庭与小生意。变现方向:替人部署 + 配置银行管道的咨询包;或写国内账单格式的 importer 适配。


3. Ghostfolio — 给你的投资组合装一块「净资产仪表盘」

仓库: ghostfolio/ghostfolio | Star 数千量级、增速可观 | 活跃

一句话定位:开源版「个人投资 X 光机」:聚合股票、ETF、加密资产,算清资产配置、费率侵蚀和真实的年化收益。

痛点:券商 App 各看各的,没人告诉你「全部身家合在一起」的表现如何、被管理费吃掉了多少。Ghostfolio 解决的正是跨平台的组合透视(Portfolio X-Ray)。

核心拆解: - 技术栈是现代 Web 标准型组合:NestJS + Angular + PostgreSQL + Redis,SSR 渲染,多语言; - 内置 FIRE(财务自由)进度指标、资产类别漂移分析、分红日历,且强调隐私:不做社交、不卖数据; - 项目采用 AGPL 协议 + 官方付费云订阅(Premium)的商业闭环,是「开源核心 + 托管收费」的活样本,作者还公开过经营复盘。

上手难度:⭐⭐(Docker 起飞,CSV 导入持仓)

适用人群:指数基金定投党、跨券商投资者。变现方向:它自己就是变现模板——你可以横向复制一个面向国内市场(A股/场内基金估值)的同类镜像。


4. beancount + fava — 程序员管钱的终极形态:纯文本复式记账

仓库: beancount/beancount(约 4k 量级)、beancount/fava(约 2k 量级)| 长期活跃

一句话定位:用纯文本文件做复式记账,再配上一个优雅的 Web 界面——数据格式三十年不过时,Git 就是版本管理。

痛点:所有记账 App 都在跟你抢数据的所有权。而一个 .beancount 文件,任何编辑器能开、任何脚本能改、任何年份能回溯。复式记账(每一笔钱有来处有去处)天然防错。

核心拆解: - beancount 是 Python 写的解析与校验内核,账本即代码:余额断言(balance)、成本核算(cost)、多币种换算都是一等公民,还提供 importer 抽象,让你用 Python 把任意账单转成记账条目; - fava 是配套 Web UI:图表、多维过滤、BQL 查询语言(类似 SQL 查账本),还能直接在浏览器里编辑账本源文件; - 两者组合是「记账界 Vim」:学习曲线陡,但一旦上手,迁移成本为零。该项目正朝着 v3 演进,社区里还有大量语言侧工具(编辑器插件、导入脚本生态)。

上手难度:⭐⭐⭐⭐(需要接受「账本是代码」的世界观)

适用人群:工程师、自由职业者、需要对账目做自动化处理的人。变现方向:帮小企业主搭建 beancount 管账流水线、出税务底稿——欧美已有以此为业的咨询者,纯文本账本对审计极其友好。


5. Paisa — 给纯文本账本套上现代仪表盘的小而美

仓库: paisa-dev/paisa | Star 约两千上下(本期小而美之二)| 活跃

一句话定位:喜欢 beancount 的格式,但不想手写账本?Paisa 用 Go 单二进制 + 内嵌 Web UI,把「文本账本」变成了开箱即用的产品。

痛点:beancount + fava 对普通人还是太硬核。Paisa 保留了 beancount 的账本格式(数据不被锁定),但在其上做了自动化:导入向导、分类建议、净资产/现金流/投资收益的漂亮仪表盘。

核心拆解: - Go 实现、SQLite 存储、单个二进制内嵌前端资源,paisa serve 一条命令起飞,资源占用极低,非常适合丢在树莓派或最小 VPS 上; - 账本文件透明存储,随时可以退回 beancount + fava 工作流,或反之从零迁入; - 对共同基金等资产的净值抓取有内置支持,投资模块比裸 beancount 省心得多。

上手难度:⭐⭐⭐

适用人群:想要「纯文本账本 + 零运维」的个人用户。变现方向:以它为底座做托管记账服务;或贡献国内账单/基金净值导入器后在专业记账人群里做付费发行。


6. Wallos — 订阅费管家:把「自动续费刺客」全部列队示众

仓库: ellite/Wallos | Star 数千量级 | 活跃

一句话定位:自托管的订阅管理器:把你的 Netflix、云服务、健身房年卡统统登记在册,续费日前推送提醒。

痛点:订阅经济时代,最贵的钱是「忘了自己在付的钱」。银行流水里每月悄悄划走的十几个小额订阅,一年下来是一笔可观的暗账。

核心拆解: - PHP + SQLite/MySQL 的经典单容器应用,Docker 一行拉起,界面干净、移动端体验好; - 核心模型很简单:订阅名 + 周期 + 金额 + 币种 + 分类,支持按月/年/自定义周期折算月均成本,汇率换算、家庭共享成员分摊都有覆盖; - 续费提醒支持多种通知渠道,配合统计页可以看清「每类订阅每月烧多少钱」。

上手难度:⭐⭐

适用人群:所有订阅制受害者。变现方向:单点功能极清晰,适合做成「家庭财务套装」里的一环捆绑部署;也可对接银行流水做自动发现订阅的增强版。


7. Kresus — 法系老牌:银行直连抓取的开源活化石

仓库: kresusapp/kresus | Star 一千出头(本期小而美之三)| 老牌项目、更新稳健

一句话定位:一个把「登录银行网站抓流水」这件事做到极致的法国开源账本,靠社区维护的 woob 抓取框架直连大量欧洲银行。

痛点:银行聚合 API 在欧洲之外并不总是可用或便宜。Kresus 的路线是用户在自己的服务器上运行 woob(原 weboob)模块,模拟登录网银抓取账单——数据从头到尾不经过任何第三方。

核心拆解: - 架构分三层:Node 后端 + Web 前端 + Python 的 woob 抓取层,模块化程度高,银行适配以插件形式社区共建; - 功能上除了常规账目,强项是自动化规则与告警:余额低于阈值、某分类支出异常即邮件通知,很接近「财务哨兵」的用法; - 项目历史超过十年,是法语区自托管社区的中坚,文档与升级路径成熟。

上手难度:⭐⭐⭐(需要能容忍抓取模块随银行改版偶发失修)

适用人群:欧洲用户、以及研究「银行数据自主权」技术路线的人。变现方向:为特定国家/银行维护抓取适配器本身就是可收费的服务(需注意合规边界)。


本期横向对比

仓库 类型 Star 量级 上手难度 一句话场景
Actual Budget 预算管理 ~2 万 ⭐⭐ 家庭信封预算,local-first
Firefly III 全能记账 ~1.5 万 ⭐⭐⭐ 记账中台 + 银行自动导入
Ghostfolio 投资组合 数千 ⭐⭐ 净资产与配置透视
beancount + fava 纯文本记账 ~4k / ~2k ⭐⭐⭐⭐ 账本即代码
Paisa 纯文本记账 UI ~2k ⭐⭐⭐ beancount 格式的产品化
Wallos 订阅管理 数千 ⭐⭐ 自动续费刺客名单
Kresus 银行直连记账 ~1k ⭐⭐⭐ 欧洲网银自主抓取
flowchart LR
  A["自托管管钱七宝"] --> B["预算与记账"]
  A --> C["投资透视"]
  A --> D["纯文本账本"]
  A --> E["自动化与守护"]
  B --> B1["Actual Budget"]
  B --> B2["Firefly III"]
  C --> C1["Ghostfolio"]
  D --> D1["beancount + fava"]
  D --> D2["Paisa"]
  E --> E1["Wallos"]
  E --> E2["Kresus"]

本期之最

参考来源

  1. actualbudget/actual - GitHub — Actual Budget 官方仓库与文档入口
  2. firefly-iii/firefly-iii - GitHub — Firefly III 官方仓库(官方文档见 docs.firefly-iii.org)
  3. ghostfolio/ghostfolio - GitHub — Ghostfolio 官方仓库(产品站见 ghostfol.io)
  4. beancount/beancount - GitHub 与 beancount/fava - GitHub — 纯文本复式记账内核及其 Web UI
  5. paisa-dev/paisa - GitHub、ellite/Wallos - GitHub、kresusapp/kresus - GitHub — Paisa(产品站 paisa.fyi)、Wallos、Kresus 官方仓库

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入