mayswind/ezbookkeeping
金融面向注重数据自主的个人记账工具,可自托管在家庭服务器、NAS 或树莓派上,完成日常收支记录、账单导入、搜索和图表分析。
项目介绍
ezBookkeeping 是一个自托管的个人记账应用。它用来记录日常收支、给交易附加图片和位置、设置周期记账,并能从 CSV、Excel、OFX、QFX、QIF、IIF、Camt.052/053、MT940、GnuCash、Firefly III 和 Beancount 等来源导入已有账单。内置图表和自定义查询维度可以把这些记录转成消费结构与现金流分析。
项目用 Go 编写,自带分别适配桌面和手机的 Web 界面,支持 PWA,可以添加到手机主屏像原生应用一样使用。数据存放在 SQLite、MySQL 或 PostgreSQL 中,可运行在 Windows、macOS、Linux 和 FreeBSD,覆盖 x86、amd64 和 ARM 架构。它还提供文本和票据图片识别、AI 自定义图表生成,以及 MCP、Agent Skill 和 API 脚本这类与外部 AI 工具对接的能力 README 第 19–60 行。
它适合希望把财务记录放在自己掌控的硬件上的人,例如家庭服务器、NAS 或树莓派用户。安装前可以先通过在线演示体验界面。
快速使用
前提是宿主机已安装 Docker。体验最新正式版可以执行:
$ docker run -p8080:8080 mayswind/ezbookkeeping
日常使用需要挂载持久化卷,否则容器重启后数据会丢失;卷和数据库的具体配置见项目的 Docker 安装文档。其他镜像和标签可以在 Docker Hub 查看。
容器启动后,在浏览器打开 http://{YOUR_HOST_ADDRESS}:8080/,即可创建账户并开始记账。如果更想用二进制包,可以从发布页下载对应版本,在 Linux/macOS/FreeBSD 上执行 ./ezbookkeeping server run,Windows 上执行 .\ezbookkeeping.exe server run,默认同样监听 8080 端口。从源码构建需要 Go、GCC、Node.js 和 NPM,然后执行 ./build.sh package -o ezbookkeeping.tar.gz(Windows 上使用 .bat 或 .ps1 脚本)。
使用约束
- 真正使用前必须挂载持久化存储,上面那条
docker run命令只适合试用评估。 - Docker 镜像是文档给出的主要部署方式;二进制和源码构建各有自己的工具链要求。
- 数据库只支持 SQLite、MySQL 或 PostgreSQL,操作系统限于 Windows、macOS、Linux 和 FreeBSD,架构限于 x86、amd64 和 ARM。
- 2FA、OIDC 登录、登录频率限制和应用锁等安全功能可用,但 AI 识别类功能依赖外部服务,启用前应按自己的隐私要求评估。
- 项目使用 MIT 许可证。
HotRepo 点评
2026-11-01,该项目出现在 HotRepo 的 Go 日榜第 5 名,当日新增 19 颗 Star,累计 5,911 颗。这是站内目前唯一一条快照,只能说明单日情况,不足以判断趋势。讨论热度不高:2025-09-28 的 v1.1.0 发布帖获得 10 分和 5 条评论,一个月后的 v1.2.0 帖子只有 2 分和 1 条评论。在 v1.1.0 的讨论中,评论者 roscas 指出,除非额外配置,应用对外只连接欧洲央行获取汇率,并确认 2FA、导入导出和移动端界面均可正常使用 HN 评论;另一位评论者希望支持自动导入交易,维护者回复 CSV 导入已经支持自定义列映射或 JavaScript 脚本 回复。结合覆盖面较广的导入格式和 Docker 优先的部署方式,这个项目更像一个成熟稳定的自托管记账选择,而不是刚起步的新项目。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。