说一句,到点响。

一个住在手机里的助手,管提醒,也管账。不用填表、不用拨滚轮,像跟人交代事情一样说一句,它排好、记好,到时候叫你。

断网也照响账只存在你手机里没有账号
14:325G ▮▮▮
到点已连
下周三下午三点提醒我交房租
排好了,到时候响铃、锁屏也会弹出来。
✓9月30日 周三 15:00
交房租
依据:今天 9/24 周四 → 下周三 = 9/30
中午吃面 28
记下了:餐饮 · 28.00 元。
这个月钱花在哪
壹 一句话

怎么想的,就怎么说。

「二十分钟后」「每周二早上」「今天之内」「月底」,说法它都认。说得不清楚,它会先把最可能的答案猜好,你点一下就行。

二十分钟后提醒我关火
提醒14:52 · 关火响铃 + 锁屏全屏,可以稍后再响
每周二早上八点倒垃圾
重复每周二 08:00 · 倒垃圾下一次:9月29日
今天把报销交了
当天今天之内 · 交报销没说几点就不打扰你,晚上收尾时提一次;没做完挪到明天
这个月钱花在哪,画个图
查账吃饭占了快一半,比上月多 312 元。
餐饮1,846
交通628
日用497
其他331
贰 靠得住

AI 只负责听懂,
叫醒你的是闹钟。

大多数 AI 助手,模型一出问题整个就停了。到点把活拆成两段:听懂一句话交给模型,允许它出错,出错就问你;排闹钟、存账、算合计交给手机上的代码,这一段不能错。

听懂

要联网 · 允许出错

你说一句话或者来了一条付款通知
模型读懂,填好时间、金额、类别
代码再核一遍时间在过去、金额原文里找不到,就退回来问你

办到

全在手机上 · 不允许出错

写进手机里的数据库这是唯一的底账
交给系统闹钟重启、更新 app 之后按底账自动重排
到点:响铃、通知、锁屏弹出断网、模型服务停了,照样响
259毫秒

说一句「提醒我喝水」,到点实际响的时刻比约定只晚了这么多(真机实测)

6小时

就算系统把闹钟掐了,巡检也会在 6 小时内补发,并且标明晚了多久,不装作准时

21:30

拿不准的几笔攒着,每晚在对话里一次问完,不零碎打扰

叁 在本地

没有账号,没有我们的服务器。

提醒和账本都存在你自己的手机上。用哪家的模型、用谁的 key,由你来定,它只跟你选的那家说话。

留在手机上的

  • 所有提醒、重复规则、响铃记录
  • 账本:每一笔、类别、标签、备注
  • 抓到的付款通知原文
  • 对话记录
  • 桌面速记的语音:在手机上转成字,录音不上传

会发出去的

  • 你说的那句话,和几轮上下文
  • 要整理的付款通知原文

只发给你自己配置的模型服务,用来「听懂」这一步。账是怎么算出来的,由手机上的代码直接查库,模型只负责把结果说成人话。

肆 越用越顺

问过一次的,就不再问。

  1. 记住商户

    告诉它「楼下那家是早餐店」,以后这家的钱自动归到早餐。

  2. 先猜,再问

    拿不准的时候,它先把最可能的答案摆在第一个,你点一下就好。

  3. 攒着一起问

    银行通知常常不写商户。它把这些攒到晚上,一次问完。

昨晚 19:18 建行卡花了 197 元,是什么?
您尾号4918的储蓄账户9月22日19时18分支出人民币197.00元
先猜好的答案排第一个
伍 怎么做的

给懂行的人。

一个人写、只装在一台荣耀手机上。设计文档里每个取舍都写了原因。

闹钟用 setAlarmClock()
不用 setExactAndAllowWhileIdle。这是系统里优先级最高的一档,Doze 和待机分桶都管不到它,在省电策略激进的 ROM 上就是准时和第二天才响的区别。
底账在 Room 里
系统里的排期随时会丢,所以只当缓存用。开机、更新、改时区都会按库重排,外加每 6 小时一次巡检兜底。
模型走工具调用
OpenAI 兼容协议,接哪家都行;不用 JSON 模式,模型只能通过工具改数据。
落库前过闸
提醒有校验闸门,账有护栏:金额必须在原文里找得到,不过就退回。
记账靠听通知
支付宝、招行、掌上生活、建行。同一笔的几条通知合成一笔,漏掉的解锁时再扫一遍。
没有 Google 服务
国行机上没有 FCM,所以没有云端推送,本地闹钟是唯一的路。Kotlin + Compose,minSdk 34。

现在还是自用。

到点还没上架,目前只在作者自己的手机上跑。代码和设计文档都在 GitHub 上。

看代码和设计文档 →Android 14 及以上