你是否曾经困惑于自己的投资到底赚了多少钱?

存入本金、取出资金、账户间转账……这些操作让简单的"期末减期初"计算变得毫无意义。如果你也有这样的烦恼,那么「躺盈记账」可能正是你需要的工具。

项目简介

躺盈记账(Finance Aggregator)是一个开源的个人资产追踪应用,核心功能是帮助用户记录多账户资产、追踪资金流水,并计算出真实的投资收益

项目提供两个版本:

  • Web 版:基于 Next.js 16,部署在 Vercel,支持多用户
  • 桌面版:基于 Tauri 2,本地运行,数据完全离线

核心功能

真实收益计算

这是项目最核心的功能。传统的收益计算方式是:

1
收益 = 期末资产 - 期初资产

但这忽略了资金进出对资产变化的影响。躺盈记账采用的是:

1
2
真实收益 = 资产变动 - 净流入
净流入 = 入金 + 转入 - 出金 - 转出

这样,无论你中途存取多少次,都能准确知道自己的投资到底赚了多少。

多账户管理

支持四种账户类型:

  • 国内平台:支付宝、微信理财等
  • 银行理财:各类银行理财产品
  • 券商账户:股票、基金投资
  • 海外平台:美股、港股等

每个账户可设置不同币种,系统自动换算成人民币汇总。

多币种支持

支持 CNY、USD、HKD、EUR、JPY、GBP 六种货币,实时汇率来自 exchangerate-api.com,本地缓存 1 小时。

数据可视化

  • 资产趋势图:展示近 30 天的资产变化曲线
  • 币种分布图:饼图展示各币种资产占比
  • 收益报表:按日/周/月/年/全部时间段查看收益

批量录入

支持一次性录入多个账户的资产数据,适合定期(如每日/每周)记录的场景。

技术架构

Web 版

层级 技术选型
框架 Next.js 16 (App Router)
前端 React 19 + TypeScript
样式 Tailwind CSS 4
UI 组件 Radix UI + shadcn/ui
图表 Recharts
数据库 PostgreSQL (Supabase)
ORM Prisma
认证 NextAuth.js v5

Web 版采用现代化的全栈架构,部署在 Vercel 上,数据库使用 Supabase 提供的 PostgreSQL。支持多用户注册登录,每个用户的数据完全隔离。

桌面版

层级 技术选型
桌面框架 Tauri 2
前端 React 19 + Vite
后端 Rust
数据库 SQLite (本地)
样式 Tailwind CSS 4
UI 组件 Radix UI

桌面版使用 Tauri 而非 Electron,优势明显:

  • 体积小:约 10MB vs Electron 的 150MB+
  • 内存占用低:使用系统 WebView,无需打包 Chromium
  • 安全性高:Rust 后端,内存安全有保障
  • 性能好:Rust 比 Node.js 后端更快

数据完全存储在本地 SQLite 数据库中,无需联网即可使用(汇率查询除外)。

两个版本如何选择?

维度 Web 版 桌面版
数据存储 云端(Supabase) 本地(SQLite)
用户模式 多用户,需注册登录 单用户,无需登录
网络依赖 必须联网 离线可用
数据隐私 数据存储在云端 数据完全本地
跨设备 任意设备浏览器访问 需安装应用
部署成本 Vercel 免费额度足够 无需服务器

推荐选择

  • 如果你有多个设备需要同步数据,或希望随时随地访问 → Web 版
  • 如果你对数据隐私敏感,不想把财务数据放到云端 → 桌面版
  • 如果你希望离线使用,不依赖网络 → 桌面版
  • 如果你是开发者想快速部署体验 → Web 版

当然,两个版本可以同时使用,互不干扰。

开源地址

写在最后

这个项目诞生于一个简单的需求:我想知道我的投资到底赚了多少钱。市面上的记账软件要么功能过于复杂,要么无法处理资金进出的影响。于是五一期间闲来无事,vibe coding了这个工具。

如果你也有类似的需求,欢迎试用、反馈、贡献代码。希望「躺盈记账」能帮你更清晰地了解自己的财富增长。