用 iOS 快捷指令 + Numbers 做一套零依赖的记账系统
ExpenSee 上线之前,我用了很久一套土法记账:iOS 自带的快捷指令 + Numbers。一行代码不写,没有服务器,没有 API,也没有第三方账号。每次付完款,按一下手机背面,整个流程跑完,一笔账就写进了 iCloud 上一份普通的 Numbers 表格里。
这条快捷指令是 ExpenSee 这款 App 最初的灵感来源。这篇文章把这套流程从头讲一遍,给那些愿意自己折腾 iOS 自动化的人作个参考。
iCloud 安装链接:https://www.icloud.com/shortcuts/c78c745e753541beb6a92e4f311b5c6f
模版下载(备用):https://milemile.app/expensee/static/template.numbers
它到底做了什么
每次运行,这条快捷指令做的事情是:
- 算出当前年份,组合出一个文件名
2026账本.numbers,去 iCloud 的 Numbers 文件夹找它。 - 如果文件不存在,就从 milemile.app/expensee/static/template.numbers 下载一份模版,按当年的年份命名后保存进 iCloud Drive 的 Numbers 文件夹,然后退出。
- 如果文件存在,就截一张屏(一般是支付宝 / 微信支付的支付完成页),用系统自带的图像识别把所有形如
[0-9]+\.[0-9]{1,3}的数字找出来。 - 只识别到一个金额时直接采用;多个金额会跳出列表让你挑选;都没识别到就改为手动输入。
- 依次询问:支出 / 收入 → 分类 → 账户(支付宝 / 微信 / 银行卡)→ 备注。
- 调用 Numbers 的 在电子表格中添加值 系统动作,把这一行写进当月对应的
M月支出账单或M月收入明细表格里。
分类是预设好的:
- 支出:数码电器、餐饮美食、自我提升、服饰装扮、日用百货、车辆交通、娱乐休闲、医疗健康、家庭支出、充值缴费、其他
- 收入:主业收入、副业收入、投资理财、红包礼金、其他
整个流程没有任何一步要联网到我或者别人的服务器,所有数据都留在你的 iCloud 里。
一次性设置
- 加入快捷指令。在 iPhone 上打开 这条 iCloud 链接,点 添加快捷指令。这条快捷指令叫 ExpenSee 自动记账。
- 确认 iCloud 同步开着:设置 → 你的姓名 → iCloud → iCloud 云盘,并确保 Numbers 在同步列表里。
- 跑一次快捷指令。如果你还没有当年的账本文件,它会下载模版并保存为
{年份}账本.numbers。看到 设置成功,重新运行开始记账吧 的提示就成功了。 - 如果第一次卡住不动(极少数情况下模版下载会很慢),手动从 milemile.app/expensee/static/template.numbers 下载文件,重命名为
2026账本.numbers(把年份换成当前),放到 iCloud 的 Numbers 文件夹里,再运行快捷指令即可。
怎么用:每天三秒
记账这件事最大的成本是从付款到入账之间的几秒钟。这条快捷指令的目标就是把这几秒压到极致:
- 付款后停留在金额完成页;
- 按下你绑定的快捷键(见下一节);
- 系统自动截屏并识别金额,确认或挑选;
- 选支出 / 收入、分类、账户,写一句备注,结束。
整个过程从掏出手机到结束大概 5 秒。
三种触发方式
把快捷指令绑到一个"一按就开始"的动作,是这套流程能跑下去的关键。下面三种任选其一:
① 操作按钮(iPhone 15 Pro 起)
设置 → 操作按钮 → 选择"快捷指令" → 选择"ExpenSee 自动记账"
绑定之后,长按机身侧面的橙色按钮就启动整套流程。我自己是 15 Pro 用户,这是我用得最顺手的方式——付完款顺手长按一下,相当于把记账的"启动成本"降到了零。
② 轻点背面(所有支持的 iPhone)
设置 → 辅助功能 → 触控 → 轻点背面 → 轻点两下(或三下)→ 快捷指令 → ExpenSee 自动记账
用手指轻敲两下手机背面就触发——不需要解锁回到主屏,不需要长按某个固定按钮,连戴着手机壳也照样能识别。这是没有操作按钮的 iPhone(XS、11、12、13、14 系列、所有非 Pro 机型)的最优解。
③ Siri 语音
直接对 Siri 说"ExpenSee 自动记账"。开车、做饭、手不空的时候最好用,但因为后续还需要点击挑选金额、分类等等,并不像前两个那样真的"全程不抬头",所以平时主要是兜底用。
数据在哪里
所有交易都写在 iCloud 上的 Numbers 文件 {年份}账本.numbers 里。每一年一份新表,按月分了 12 张工作表(1月数据库 到 12月数据库),每张工作表里有 支出 / 收入 两个表格。
因为这是一份普通的 Numbers 文档,你可以在任何 Apple 设备上:
- 直接做求和、按分类透视、画图表;
- 导出 CSV / Excel 给会计或税务;
- 用 iCloud Drive 备份,或者手动下载一份留底。
没有任何数据离开你的 iCloud。如果哪一天我这套生态都消失了,你的账本依然是一份完整、可读的 Numbers 文件。
局限性,以及为什么我后来做了 ExpenSee
用了一年多之后,几个不舒服的地方逐渐放大:
- 截屏 OCR 的识别率不稳定。支付宝的金额数字字体大、对比强,识别没问题;但小红书、B 站、点外卖小票里的金额有时识别不到,就要手动输入。
- 每年初要手动初始化——快捷指令是按
{年份}账本.numbers命名的,跨年那天的第一笔会触发模版下载流程,不是无缝的。 - 多币种很难做。Numbers 公式可以处理,但快捷指令本身没办法在记账的时候就帮你转换。
- 分类是写死的——加一个新分类要改快捷指令,不是普通用户能接受的成本。
ExpenSee 把这件事的核心——把记账压到几秒——做成一个独立的 iOS 应用。同样不依赖任何外部服务,但识别准、原生支持多币种、日历视图能让你一眼看清这一个月。如果你想要这条快捷指令的"升级版",可以去 App Store 试试。
但如果你像我一样喜欢自己拼装工具,这条快捷指令依然是个不错的起点。它的全部源码就在你的 iPhone 上,可以随便改成你喜欢的样子——加分类、改账户、换币种、接到不同的 Numbers 表格里,都只是几下点击。