mayswind/ezbookkeeping
GitHub: mayswind/ezbookkeeping
一款轻量级自托管个人记账应用,帮助用户在自有设备上安全地记录、分析和可视化日常财务数据。
Stars: 4841 | Forks: 528
# ezBookkeeping
[](https://github.com/mayswind/ezbookkeeping/blob/master/LICENSE)
[](https://goreportcard.com/report/github.com/mayswind/ezbookkeeping)
[](https://github.com/mayswind/ezbookkeeping/releases)
[](https://github.com/mayswind/ezbookkeeping/actions)
[](https://hub.docker.com/r/mayswind/ezbookkeeping)
[](https://hub.docker.com/r/mayswind/ezbookkeeping)
[](https://deepwiki.com/mayswind/ezbookkeeping)
[](https://hellogithub.com/en/repository/mayswind/ezbookkeeping)
[](https://trendshift.io/repositories/12917)
## 介绍
ezBookkeeping 是一个轻量级、自托管的个人记账应用,拥有友好的界面和强大的记账功能。它可以帮助你记录日常交易,支持从多种来源导入数据,并快速搜索和过滤你的账单。你可以使用内置图表分析历史数据,或者通过自定义图表维度进行查询,以便更好地了解支出模式和财务趋势。ezBookkeeping 易于部署,只需一条 Docker 命令即可启动。它在设计上注重节省资源,可以在树莓派、NAS 和微型服务器等设备上流畅运行。
ezBookkeeping 为移动端和桌面端设备提供了量身定制的界面。通过支持 PWA(Progressive Web Apps),你甚至可以[将其添加到手机主屏幕](https://raw.githubusercontent.com/wiki/mayswind/ezbookkeeping/img/mobile/add_to_home_screen.gif),像原生应用一样使用它。
在线演示:[https://ezbookkeeping-demo.mayswind.net](https://ezbookkeeping-demo.mayswind.net)
## 功能特性
- **开源与自托管**
- 为隐私和掌控而生
- **轻量与快速**
- 极低的资源消耗,即使在低资源设备上也能流畅运行
- **易于安装**
- 支持 Docker
- 支持 SQLite、MySQL、PostgreSQL
- 跨平台(Windows、macOS、Linux)
- 支持 x86、amd64、ARM 架构
- **友好的用户界面**
- 针对移动端和桌面端进行了 UI 优化
- 支持 PWA,提供媲美原生应用的移动端体验
- 深色模式
- **AI 驱动功能**
- 票据图片识别
- 支持 MCP(模型上下文协议)以集成 AI
- 支持 Agent Skill 和 API 命令行脚本工具以集成 AI
- **强大的记账功能**
- 两级账户和分类
- 交易可附加图片
- 带有地图的位置追踪
- 定时交易
- 高级过滤、搜索、可视化与分析
- **本地化与国际化**
- 支持多语言和多币种
- 提供多种汇率来源并支持自动更新
- 支持多时区
- 可自定义日期、数字和货币格式
- **安全性**
- 双因素认证(2FA)
- OIDC 外部认证
- 登录频率限制
- 应用锁定(PIN 码 / WebAuthn)
- **数据导入与导出**
- 支持 CSV、OFX、QFX、QIF、IIF、Camt.052、Camt.053、MT940、GnuCash、Firefly III、Beancount 等
有关功能的完整列表,请访问[完整功能列表](https://ezbookkeeping.mayswind.net/features/)。
## 截图
### 桌面版
[](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/eed5acdb0f185808.png)
### 移动版
[](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a2829d28d9185816.png)
## 安装
### 通过 Docker 运行
访问 [Docker Hub](https://hub.docker.com/r/mayswind/ezbookkeeping) 查看所有镜像和标签。
**最新发布版本:**
```
$ docker run -p8080:8080 mayswind/ezbookkeeping
```
**最新每日构建版本:**
```
$ docker run -p8080:8080 mayswind/ezbookkeeping:latest-snapshot
```
### 从二进制文件安装
下载最新版本:[https://github.com/mayswind/ezbookkeeping/releases](https://github.com/mayswind/ezbookkeeping/releases)
**Linux / macOS**
```
$ ./ezbookkeeping server run
```
**Windows**
```
> .\ezbookkeeping.exe server run
```
默认情况下,ezBookkeeping 会监听 8080 端口。然后你可以访问 `http://{YOUR_HOST_ADDRESS}:8080/`。
### 从源代码构建
请确保已安装 [Golang](https://golang.org/)、[GCC](https://gcc.gnu.org/)、[Node.js](https://nodejs.org/) 和 [NPM](https://www.npmjs.com/)。然后下载源代码,并按照以下步骤操作:
**Linux / macOS**
```
$ ./build.sh package -o ezbookkeeping.tar.gz
```
所有文件将被打包到 `ezbookkeeping.tar.gz` 中。
**Windows**
```
> .\build.bat package -o ezbookkeeping.zip
```
或者
```
PS > .\build.ps1 package -Output ezbookkeeping.zip
```
所有文件将被打包到 `ezbookkeeping.zip` 中。
你也可以构建 Docker 镜像。请确保已安装 [Docker](https://www.docker.com/),然后按照以下步骤操作:
**Linux**
```
$ ./build.sh docker
```
## 翻译
帮助 ezBookkeeping 走向全球用户。我们欢迎你帮助改进现有翻译或添加新翻译。如果你想贡献翻译,请参考[翻译指南](https://ezbookkeeping.mayswind.net/translating)。
目前可用的翻译:
| Tag | Language | Progress | Contributors |
| --- | --- | --- | --- |
| de | Deutsch | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/de.json) | [@chrgm](https://github.com/chrgm), [@1270o1](https://github.com/1270o1) |
| en | English | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/en.json) | / |
| es | Español | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/es.json) | [@Miguelonlonlon](https://github.com/Miguelonlonlon), [@abrugues](https://github.com/abrugues), [@AndresTeller](https://github.com/AndresTeller), [@diegofercri](https://github.com/diegofercri) |
| fr | Français | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/fr.json) | [@brieucdlf](https://github.com/brieucdlf) |
| it | Italiano | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/it.json) | [@waron97](https://github.com/waron97) |
| ja | 日本語 | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/ja.json) | [@tkymmm](https://github.com/tkymmm) |
| kn | ಕನ್ನಡ | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/kn.json) | [@Darshanbm05](https://github.com/Darshanbm05) |
| ko | 한국어 | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/ko.json) | [@overworks](https://github.com/overworks) |
| nl | Nederlands | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/nl.json) | [@automagics](https://github.com/automagics) |
| pt-BR | Português (Brasil) | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/pt-BR.json) | [@thecodergus](https://github.com/thecodergus), [@balaios](https://github.com/balaios) |
| ru | Русский | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/ru.json) | [@artegoser](https://github.com/artegoser), [@dshemin](https://github.com/dshemin) |
| sl | Slovenščina | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/sl.json) | [@thehijacker](https://github.com/thehijacker) |
| ta | தமிழ் | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/ta.json) | [@hhharsha36](https://github.com/hhharsha36) |
| th | ไทย | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/th.json) | [@natthavat28](https://github.com/natthavat28) |
| tr | Türkçe | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/tr.json) | [@aydnykn](https://github.com/aydnykn) |
| uk | Українська | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/uk.json) | [@nktlitvinenko](https://github.com/nktlitvinenko) |
| vi | Tiếng Việt | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/vi.json) | [@f97](https://github.com/f97) |
| zh-Hans | 中文 (简体) | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/zh-Hans.json) | / |
| zh-Hant | 中文 (繁體) | [](https://github.com/mayswind/ezBookkeeping-i18n-badge/blob/main/untranslated/zh-Hant.json) | / |
## 文档
1. [English](https://ezbookkeeping.mayswind.net)
2. [中文 (简体)](https://ezbookkeeping.mayswind.net/zh_Hans)
## 许可证
[MIT](https://github.com/mayswind/ezbookkeeping/blob/master/LICENSE)
标签:Docker, EVTX分析, Go语言, MITM代理, NAS工具, SQLite, 个人理财, 代码示例, 可视化图表, 安全防御评估, 家庭理财, 开源记账, 支出追踪, 数据分析, 日志审计, 测试用例, 程序破解, 自托管, 记账本, 记账软件, 请求拦截, 财务报表, 账单管理, 轻量级应用