Skip to content

Releases

Tally 塔莉 v0.1.6

Choose a tag to compare

@guohangbk guohangbk released this 11 Nov 11:48
cddefad

Tally 塔莉 v0.1.6

仅 arm64-v8a,未上架应用商店。下载下方 APK 自行安装(首次需允许「安装未知应用」)。升级安装可直接覆盖 v0.1.5:首次启动会把本地库从 version 1 迁到 2(只新建 tag / bill_tag 两张表),账单、账本、分类与预算一行不动,签名证书一致。

这次带了什么

  • 标签:新的一层归类,全机一套、不挂账本。它回答「这笔属于哪件事」,只改变看哪批账——不改任何金额、合计与导出总额。
    • 记账:备注下面多一枚「标签」chip;选中后名字单独一行、写全名、带 ✕。弹层里点一下即选、可多选,输入新名字回车就地新建。
    • 搜索:更多筛选里多一组标签,多选是并集;关键词同时匹配备注、分类名和标签名;结果可全选批量打标签。归档标签不再出现在候选里,账单仍保留;从详情带进搜索时会标「已归档」,点掉即退场。
    • 管理:设置 → 归类 → 标签。胶囊墙长按拖动排序,点一枚出操作单(查看统计 / 修改 / 归档 / 删除),右上角 + 新建。删除只解绑标签,账单与金额不动。
    • 详情:顶部「今年」加最近 12 个月,依次看合计、月度走势、分类构成、涉及账本,底部带这枚标签进搜索。
    • 导入导出:CSV 多一列「标签」(多枚用顿号分隔),导入按名称自动建标;备份与恢复包含标签和账单的关联。
  • 设置重排:标签与关键词规则收进新的「归类」组;导出诊断包挪到「关于」;记账键盘页补上「标签」开关——关掉只收记账页那枚 chip,说明末尾挂「管理标签 ›」。
  • 两处修复:标签管理页没有新建入口(改到右上角 +,墙内胶囊撤掉);搜索和报销在勾选态按返回原来是直接退出页面,现在先退出勾选。
  • 顺带:文档与设计板同步(设计图新增 §29 标签、索引顺延 §30);构建前预置 Room schema 快照,消掉 CI 上偶发的 schema 导出竞态。

验证

  • 主仓发布 PR #8 两条检查全绿(单元测试 + 构建 apk)
  • 公开仓发布 PR #6 两条检查全绿(单元测试 3m17s / 构建 apk 7m16s)
  • 发布工程本地 :tally-app:build 全绿(3m28s,含单测、lint 与两变体打包)

产物校验

项 值
文件 tally-v0.1.6-arm64-v8a.apk
大小 49,444,138 字节
SHA-256 c09ea40663ad4ee972a0e6a324940c6c4a99f6915139502e0061d62442f95cde
签名证书 SHA-256 c73482a95a80c399d9118ad1b9013c12b42f828e846bdcef3838f6914c5f7b2e(与 v0.1.0–v0.1.5 同一把,可覆盖升级)

Tally 塔莉 v0.1.5

Choose a tag to compare

@guohangbk guohangbk released this 09 Nov 16:01
ec44c5a

Tally 塔莉 v0.1.5

仅 arm64-v8a,未上架应用商店。下载下方 APK 自行安装(首次需允许「安装未知应用」)。升级安装可直接覆盖 v0.1.4,数据与签名证书一致。

这次带了什么

  • 记账键盘:设置里新增一页,把记账页备注下面那排按钮的开关收在一起——账单图片、账单时间、报销、排除;页顶用同一枚按钮摆一排示例,拨开关当场看得出那一行会变成什么样。
  • 记账页那排按钮重做:顺序改成 日期 / 图片 / 报销 / 排除;点亮改成实心墨绿 + 骨白字;图片右上角多了一枚叉,用来收回刚选、还没保存的那张。新增「排除」开关——标了不计入的这一笔不进收支统计,也不进预算。
  • 报销开关联动四处:抽屉里的报销入口、记账页那枚按钮、统计页「未报销 N 笔」与「支出视图剔除未报销」,一起出现、一起收起。
  • 两处修复:秒开模式退出记账页时的转场闪动;从设置页返回时首页跟着滑动。
  • 顺带:设置页开关行的标题字号统一;抽屉入口点击区抬到 48dp。

验证

  • 主仓 master 上 CI 两条检查全绿(单元测试 + 构建 apk)
  • 发布 PR 两条检查全绿(单元测试 3m22s / 构建 apk 7m42s;首次构建因 Room schema 导出竞态失败,原样重跑通过)
  • 发布工程本地 :tally-app:assembleRelease 全绿(1m5s)

产物校验

项 值
文件 tally-v0.1.5-arm64-v8a.apk
大小 49,100,074 字节
SHA-256 96d6a3edbec443c5523112e3ca8cade43a00aedce488c56683987561c9c5bdf9
签名证书 SHA-256 c73482a95a80c399d9118ad1b9013c12b42f828e846bdcef3838f6914c5f7b2e(与 v0.1.0–v0.1.4 同一把,可覆盖升级)

Tally 塔莉 v0.1.4

Choose a tag to compare

@guohangbk guohangbk released this 08 Nov 09:34
b683cd9

Tally 塔莉 v0.1.4

仅 arm64-v8a,未上架应用商店。下载下方 APK 自行安装(首次需允许「安装未知应用」)。升级安装可直接覆盖 v0.1.3,数据与签名证书一致。

这次带了什么

  • + 右臂与手势引导:右臂常驻三态——小莉关着去设置、开着未配置去配置页、可用才进对话;首页第二次回来浮一次全屏手势引导(G-01),小莉首次配置成功后浮一次金色提示(G-02);顺带修好 + 外沿光晕被裁掉的问题。
  • 手动检查更新:设置页「版本」行右侧一颗软按钮,点一次查一次公开仓 latest release,按 versionCode 比大小,有新版弹窗给「稍后 / 去下载」。不轮询、不自动下载、不静默安装。
  • 周期明细口径:保留已删除的期次占位(灰显并提示可在回收站找回),期号不再往前跳;合计只算现存账单,有删除行时标题写「合计(现存)」。
  • 关键词规则:按分类分组管理,组内可放多个词;页头 + 就地加词,空格或顿号可一次加多个;改绑分类、整组换分类或删除、删单个词,删除后 8 秒内可撤销。
  • 账本编辑弹窗与图标库:账本编辑改成底部弹窗,内联全量 136 枚图标(12 组筛选 + 五列网格 + 搜索),展开收起有高度动画;账本图标库、添加分类页图标库、分类管理页一级条与二级瓦片一并放大。
  • 弹窗收口:全站底部弹窗统一到 TallyBottomSheet——只留 M3 默认那一条抓手;数据驱动的长正文 360dp 封顶内部滚动,编辑类弹窗按内容撑高。
  • 文档与站点:设计板同步到当前界面(137 屏),交互规范记下弹窗单抓手与限高;项目主页统一指向公开仓地址(隐私说明、README、安全说明、release 文档、设计板);README 去掉标题图标;站点的设计图屏数跟着改成 137。

验证

  • 主仓 master 检查全绿(单元测试 + 构建 apk)
  • 发布 PR 两条检查全绿(单元测试 3m11s / 构建 apk 5m39s;首次构建因 Room schema 导出竞态失败,原样重跑通过)
  • 公开仓 main 推送后 CI 全绿(6m5s)
  • 发布工程本地 :tally-app:assembleRelease 全绿(2m24s)

产物校验

项 值
文件 tally-v0.1.4-arm64-v8a.apk
大小 49,083,690 字节
SHA-256 42e90470f4ec471da59a61a2001d9addaf3d86dcd33b561876ff876ef55e9f06
签名证书 SHA-256 c73482a95a80c399d9118ad1b9013c12b42f828e846bdcef3838f6914c5f7b2e(与 v0.1.0–v0.1.3 同一把,可覆盖升级)

Tally 塔莉 v0.1.3

Choose a tag to compare

@guohangbk guohangbk released this 07 Nov 11:40
0c71a55

Tally 塔莉 v0.1.3

仅 arm64-v8a,未上架应用商店。下载下方 APK 自行安装(首次需允许「安装未知应用」)。升级安装可直接覆盖 v0.1.2,数据与签名证书一致。

这次带了什么

  • 账本概览:点账本卡片进概览页——总支出、时间跨度与日均、分类占比、最近几笔。
  • 快速问答:概览页四枚模板(收入和结余 / 最大一笔 / 每月平均 / 某分类花了多少),纯查询,不走 AI。
  • 项目结算:非默认账本可结算,确认后锁定账本并出结算结果 sheet 与结算长图(复用海报管线);默认账本不结算,已结算账本可恢复记账。
  • 秒开模式:冷启动或停在首页点桌面图标,直接进记账页;其他页面不接管。
  • 性能:统计页瘦查询、首页黑框固定版式、首页预热前移到补执行之前。
  • 使用指南:按现行口径重写。
  • 文档:账本概览 / 结算 / 问答 10 屏并入主设计板,删掉重复板。

验证

  • 主仓 master CI 全绿(单元测试 + 构建 apk)
  • 发布 PR 的两条检查全绿(单元测试 2m20s / 构建 apk 6m47s)
  • 发布工程本地 :tally-app:build 全绿(lint + 单测 + debug/release 打包)

产物校验

项 值
文件 tally-v0.1.3-arm64-v8a.apk
大小 48,936,234 字节
SHA-256 de2a05a2fea5d08ea889ee4f0b3e1d31caac24753c04c27912ae90215eb808b0
签名证书 SHA-256 c73482a95a80c399d9118ad1b9013c12b42f828e846bdcef3838f6914c5f7b2e(与 v0.1.0 / v0.1.1 / v0.1.2 同一把,可覆盖升级)

Tally 塔莉 v0.1.2

Choose a tag to compare

@guohangbk guohangbk released this 06 Nov 10:32
673579a

Tally 塔莉 v0.1.2

仅 arm64-v8a,未上架应用商店。下载下方 APK 自行安装(首次需允许「安装未知应用」)。升级安装可直接覆盖 v0.1.1,数据与签名证书一致。

这次带了什么

  • CI 基建:build workflow 拆成「单元测试」与「构建 apk」两个并行 job;构建 job 跑全量 :tally-app:build(含 lint),加回 Gradle 缓存;CI 环境脚本收进 .github/scripts/。
  • 自动化测试:新增纯 JVM 单测,覆盖备份 JSON 编解码(15 张表)、加密备份容器、分期排期与利率段、分期视图口径、账单编辑策略。
  • Bug 修复:备份往返不再丢 installmentPlans.note / bill.reimbursed_at / aiMessage.duration_ms;现代图标键不再被误判成旧键;编辑账单保留 source 与周期/规则关联;软删的周期行不再被生成逻辑漏掉。
  • 备份版本号:manifest.appVersion 从 APK 自身读取,不再写死。
  • 站点:桌面组件那一节换成两张真机截图。
  • 文档:对外三份口径文档与代码对齐(备份格式版本字段)。

验证

  • 主仓 master CI 全绿(单元测试 + 构建 apk)
  • 发布 PR 的两条检查全绿(单元测试 3m40s / 构建 apk 9m26s)
  • 发布工程本地 .\gradlew.bat :tally-app:build 全绿(lint + 单测 + debug/release 打包)

产物校验

项 值
文件 tally-v0.1.2-arm64-v8a.apk
大小 48,739,626 字节
SHA-256 7bff3b04a1628957e2324b1bbd2e73295793682e011bd3356880b641addca8cc
签名证书 SHA-256 c73482a95a80c399d9118ad1b9013c12b42f828e846bdcef3838f6914c5f7b2e(与 v0.1.0 / v0.1.1 同一把,可覆盖升级)

v0.1.1 · 桌面上有八枚了

Choose a tag to compare

@guohangbk guohangbk released this 05 Nov 09:16

接上一版 v0.1.0。这一版主要在桌面,另有一批数据正确性上的修复。

桌面组件:3 枚 → 8 枚

新增七枚,加上原来的「近七日」共八枚,全部只读:

组件 内容
近七日 最近 7 天支出柱状图,点柱条看统计
收支速览 今日支出大字,下面给本月收支两行
收支速览(四格) 今日与本月、支出与收入四格同权重
快速记账 最近三十天用得最多的三个分类,点一下直接进记账页
快速记账(八格) 两行四列八个分类,给大桌面
预算环 圈内百分比与「已用」,圈下写剩多少与总额
消费节奏 近三十天每日支出的深浅,最后一格是今天
记账连续记录 连续记账天数与近二十八天的记录格

刷新策略也重做了:统一 30 分钟周期,另外从 App 回到桌面会立刻刷新——补上了 onStop 那一刷,
在此之前桌面上的改动要等下一次进 App 才生效。

新增:导出诊断包

设置 → 数据 → 导出诊断包。生成一份 txt 落到下载目录,并直接顶起系统分享。

它一条账单内容都不进:金额、备注、分类名、账本名、图片、API Key、网关地址全部排除,
表行数只说明「有多少条」。日志同时改成落盘(内存环 + 512KB 滚动文件 + 崩溃留档保留 5 份),
崩溃不再只留在当场那一次运行里。

修掉四个既有缺陷

  1. 备份恢复会丢分期计划的备注。 备份包里一直没写 installment_plan.note,而周期规则的备注是带的
    ——恢复一次备份,计划备注就没了。

  2. 编辑一笔分期账单会把它标成「手动」。 来源被覆盖成默认值,按来源筛选会漏掉这些账单,
    行上的来源副标题也跟着变错。

  3. 删掉某一期的账单后,计划明细仍显示它「已入账」。 那是个只增不减的生成水位,不等于账上真有钱。
    现在明细与卡片都按账上真实存在的账单算,被删掉的期显式标成「已删除」——它也不会被自动补回来
    (删了就是不要了)。

  4. 同一期被重复写入时,会物理删掉回收站里那一行。 现在同一期只要存在过就不再写第二次。

其它修复

  • 引导期从导入 / 备份页 push 出去的页面,成功后不再把人退回引导页
  • 统计页跟着首页翻到的那个月走,不再每次都跳回今天
  • 去掉几处把「后台放了很久」记成「取数很慢」的假耗时日志
  • 小莉的「测试连接」先探一下服务地址的模型列表,超时不再被误报成「已取消」

文档与仓库

  • docs/release/ 现在不带版本号,是当前形态的事实文档(八枚组件、诊断包、无迁移链都写进去了);
    想知道历史版本什么样,用仓库里的 tag 取。
  • README 重写了一遍:上一版从功能列表直接跳到「本地构建」,陌生人翻完也不知道 APK 在哪。
  • 新增 SECURITY.md、PRIVACY.md、issue 模板,以及一个每次 push 都会跑的 assembleDebug CI。

安装

  • 下载下面的 tally-v0.1.1-arm64-v8a.apk,装到 Android 9(API 28)及以上、arm64-v8a 的机型;
    32 位老机器与 x86 模拟器装不上。
  • 与 v0.1.0 同一把签名钥匙,可以直接覆盖安装,数据不清空。
  • 没有商店签名,首次安装会提示允许来自本来源。

包信息

项目 值
文件 tally-v0.1.1-arm64-v8a.apk
大小 48,739,626 字节(46.5 MiB)
SHA-256 753e126a7aec5922cafd5b526a2d41a5e221e668009622c35e581afff5a4f8b7
包名 / 版本 io.github.guohangbk.tally · versionCode 101 · versionName 0.1.1
ABI arm64-v8a
签名 CN=Android Debug,证书 SHA-256 c73482a95a80c399d9118ad1b9013c12b42f828e846bdcef3838f6914c5f7b2e(与 v0.1.0 同一把)

许可

BUSL-1.1(源码可用 / Source-Available),不是 OSI 定义的开源许可:可读、可改、可自行构建、可个人自用;
不得作为商业产品或服务提供给第三方。每个版本在 Change Date(最早 2030-11-01,或该版本首次公开分发满四年)
自动转为 GPL-2.0-or-later。

项目主页:https://tally.guohang.asia

v0.1.0 · 首个公开版本

Choose a tag to compare

@guohangbk guohangbk released this 01 Nov 04:30

首个公开版本。Tally 塔莉 是一本只存在手机里的账本:本地优先的 Android 记账应用,Kotlin + Jetpack Compose 写界面,Room 存本地库。没有账号、没有服务端,一条数据都不上传。

这个版本有什么

六条记账入口——机器猜的只出草稿等人确认,人定的到期直接入账:

入口 怎么用
手打 4×4 金额键盘,支持 38+12 这类算式;两级分类、时刻、凭证图、备注
语音 长按 + 的上臂,说「二十九块八毛五」出 29.85,端侧规则解析,可以不联网
截图 长按 + 的左臂,从相册选支付截图,端侧 OCR + 规则抽金额与商户,一次最多 9 张
周期 房租 / 订阅 / 工资到期自动入账,错过的期数一次补完
分期 一笔大额拆成多期,末期自动吃分币尾差;支持房贷(LPR±BP、等额本息 / 等额本金)
小莉 可选的 AI:对话里一句话或几张图变成待确认的记账卡;不配置也不影响上面五条

看账与管账:多账本与「全部账本」合并视角;预算按月 / 按年、可自动续期、往期有预算历史;任意起止区间的统计(趋势、星期分布、分类二级小计、日报表下钻);带金额区间与排序的搜索;七动作批量修改;删除是软删,回收站按删除日分组。

带得走:.tally 加密备份包换机恢复;CSV / XLSX 导出可原样导回;支付宝 / 钱迹账单批量导入,重复行在预览阶段就说明白;月度 / 年度 / 区间分享长图,可一键脱敏;桌面三枚只读组件与两条长按快捷方式。

文档:docs/release/v0.1.0/ 下八份自包含文档(需求规格、概要设计、详细设计、数据库设计、界面与交互规范、界面设计图 29 节 117 屏、设计决策、用户操作手册)加一份冻结的 schema 快照,离线可看。

安装

  • 下载下面的 tally-v0.1.0-arm64-v8a.apk,装到 Android 9(API 28)及以上、arm64-v8a 的机型;32 位老机器与 x86 模拟器装不上。
  • 没有商店签名,首次安装会提示允许来自本来源。
  • 覆盖安装:Release 与 Debug 共用仓库里那把测试签名钥匙,直接覆盖即可,数据不清空。

包信息

项目 值
文件 tally-v0.1.0-arm64-v8a.apk
大小 48,370,982 字节(46.1 MiB)
SHA-256 3685fe83a2bc890a69cc1b58c872ea396b4ce3ad8308dce1e803a0342e235756
包名 / 版本 io.github.guohangbk.tally · versionCode 1 · versionName 0.1.0
ABI arm64-v8a
签名 CN=Android Debug,证书 SHA-256 c73482a95a80c399d9118ad1b9013c12b42f828e846bdcef3838f6914c5f7b2e

想自己编:克隆仓库后 ./gradlew :tally-app:assembleRelease。签名钥匙随仓库带着,local.properties 不用配,产物落在 tally-app/build/outputs/apk/release/。

许可

BUSL-1.1(源码可用 / Source-Available),不是 OSI 定义的开源许可:可读、可改、可自行构建、可个人自用;不得作为商业产品或服务提供给第三方。每个版本在 Change Date(最早 2030-11-01,或该版本首次公开分发满四年)自动转为 GPL-2.0-or-later。

项目主页:https://tally.guohang.asia