衡仓

多币种家庭资产账本:Android 应用与 Web 工作台共用一套账本服务,按三桶规划跟踪账户、持仓和资金流。Web 端需登录。

状态
在线· 三端可运行,Web 已公开部署;Android 正式签名包与真机、实时行情尚未验收
更新
2026.10.03
技术
Kotlin · Jetpack Compose · FastAPI · React
  1. Android 与 Web 录入
  2. 服务端账本计算
  3. 分币种与三桶快照
  4. 两端展示与确认

为什么做

管理账户、持仓和资金流时,如果每个页面各算一遍余额,总览和明细就容易对不上;跨币种、跨账户的时候,更难说清"这笔钱现在该放在哪一桶"。我做衡仓,是想让这些数字由服务端统一算一次,Android 应用和 Web 工作台读同一份结果。

方案

  • 一份账本快照:FastAPI 服务在同一个数据库读事务里取账户、持仓、流水和目标;Android 应用与 Web 工作台共用这份汇总,不再各算一遍。
  • 三桶规划:资产按进攻、稳健、防守三类归置,配合目标配置、专款隔离、再平衡、风险红线和回撤阶梯来看当前结构。
  • 明确金额口径:现金余额由期初余额和流水算出,再与持仓市值合并;不同币种分别展示,缺汇率时不直接相加,金额在服务端按 Decimal 处理。
  • 截图识别后确认:持仓截图经用户确认后才送服务端解析并写入持仓,原图只在识别请求期间使用。
  • 失败边界可见:缺少价格、成本或真实行情接入时,界面显示估算或未配置状态,不把参考数据说成实时行情。

我负责的工作

设计三端共用的账本口径和业务接口;实现 Web 交互、Android 界面与服务端逻辑;统一账户、持仓、现金流和三桶配置的计算规则,并处理输入校验、版本冲突和行情刷新失败。

怎么验证的

以下测试数字引用 2026-10-02 项目核对记录,本次没有重跑三端测试。2026-10-03 复核了 Android 开源仓库与 Web 公开入口,均可访问;公开页面可访问不等于登录与账本操作已通过端到端验收。

  • Android:Debug 构建通过,146 项 JVM 单元测试通过。正式签名的 APK/AAB 和真机安装升级尚未验收。
  • 服务端:生产镜像内 83 项测试通过,真实模型的合成持仓截图导入通过。行情目前是固定参考样本,界面明确标记为参考或过期数据,实时行情供应商尚未接入。
  • Web:2026-10-02 更新线上静态版本,生产构建与 lint 通过,12 项测试通过;线上英文隐私与条款页、API 就绪检查返回 HTTP 200,HTTP 会跳转到 HTTPS。
  • 还没验证的:完整登录流程与语言偏好的端到端验收、真实持仓截图导入、正式证书链、行情同步,以及异地备份和监控。

现在做到哪

Android 应用已开源,Web 工作台已公开部署,需要登录。三端都具备账户、持仓、资金流、三桶配置和截图识别能力。实时行情仍是参考数据,正式签名的应用包和真机验收还没做,因此这里同时写明已通过的部分和未验收的边界。

回到项目目录