1135 字
6 分钟
iCost 搭配 DeepSeek iOS快捷指令实现自动记账
既有现状
之前的快捷指令都需要手动指定账户名称和分类,手动输入金额和交易备注,操作较为繁琐甚至不如直接打开软件记账。
实现原理:
- 获取iCost分类和资产账户信息:从iCost中提取支出、收入分类及账户名称
- 通过系统截图调用本地OCR功能将截图中的交易信息进行识别
- 将提取的iCost分类和资产账户以及交易信息输入模型分析,进行分析并输出JSON结构化数据
- 根据模型返回的数据,进行自动记账
WARNING仅供个人使用,转载请注明出处,不得用于商业用途
操作步骤
- 申请DeepSeek API Key 或 硅基流动 API Key 申请链接:
- DeepSeek开放平台: https://platform.deepseek.com
- 硅基流动: https://cloud.siliconflow.cn 使用邀请码:
5hNHnpbl
可以获得免费14元额度
IMPORTANT硅基流动API 仅适用于 iCost 硅基流动 V2.2
- 将DeepSeek API Key添加到快捷指令中
- 设置快捷指令触发方式
- 推荐(iOS 18 系统及以上):
- 在控制中心设置快捷指令
- 在交易详情页面下拉控制中心会自动隐藏控制中心进行截屏
- 其他(iOS 17 系统及以下):
- 在辅助功能设置快捷指令
- 设置”轻触背面两下”触发快捷指令
- 在交易详情页面双击手机背面触发快捷指令
版本迭代
v1.0:
初版使用X-Callback URL进行记录
v2.0:
- 支持多账本功能
- 支持多币种识别
- 移除转账记录功能由于转账场景较少且识别准确率不高,于是乎决定移除该功能。
- 取消URL callback方式入账改成自定义记录入帐更方便调试
- 支持修改账户、分类、备注之前记录不到数据,大部分是因为分类或账户识别错误这版优化了提示词,找不到分类或账户时会提示用户手动输入,识别错误时也能直接修改
- 新增候选备注列表 🌟智能推荐备注选项,提供简短、详细、更详细三种模式
- 支持修改记账金额
- 优化批量操作逻辑 🌟将之前的多选逻辑变更为菜单顺序选取,不需要的记录点击跳过即可
v2.1:
🌟新增功能
- 支持不记录账户 对于一些不需要记录账户的场景(比如现金消费),现在可以选择不记录账户
🐞修复问题
- 修复支出类型下选择没有二级分类的一级分类会报错的问题
- 之前选择一级分类下没有二级分类会报错的问题也解决了
- 并且如果交易不需要细分到二级分类,现在可以直接选择一级分类
✅优化体验
- 手动输入备注时自动带出原来的备注
- 弹出识别菜单添加了设备震动📳
v2.2:
IMPORTANT硅基流动提供的DeepSeek V3模型暂不支持指定JSON Mode,理论上更有可能导致快捷指令异常退出,但实际测试下来效果还行
- 新增时间调整功能🕐
- 新增可报销功能📝
- 调整优惠金额的显示位置👾
v2.3:
- 处理返回error时展示错误详情🔎
- 模型返回空结果进行提示🔔
常见问题
- 报错”无法评估choice键路径” 排查思路:
- 检查DeepSeek API Key是否正确
- API服务繁忙
- 账户余额不足
- iCost未维护资产账户
- 快捷指令找不到操作 第一个操作是隐藏控制中心需要iOS 18 系统及以上,低版本直接删去即可
- 跳转到iCost中但是没有记录 因为iCost的逻辑是分类名称和账户名称完全一致才执行操作,因此建议按照iCost官方的建议把银行账户名称加上卡尾号辅助识别。 当指令提示❎请选择账户名称或❎请选择分类时请手动选择账户或分类 模型有时候也会胡编分类名称,也请注意检查。
- 快捷指令直接卡住不动,等待很久后直接退出了 这是因为近期DeepSeek API 服务繁忙,非常容易超时,建议两次识别间隔久一些避免被流控。
iCost 搭配 DeepSeek iOS快捷指令实现自动记账
https://blog.xujingling.xyz/posts/icost-shortcuts/