1135 字
6 分钟
iCost 搭配 DeepSeek iOS快捷指令实现自动记账

既有现状#

之前的快捷指令都需要手动指定账户名称和分类,手动输入金额和交易备注,操作较为繁琐甚至不如直接打开软件记账。

实现原理:#

  1. 获取iCost分类和资产账户信息:从iCost中提取支出、收入分类及账户名称
  2. 通过系统截图调用本地OCR功能将截图中的交易信息进行识别
  3. 将提取的iCost分类和资产账户以及交易信息输入模型分析,进行分析并输出JSON结构化数据
  4. 根据模型返回的数据,进行自动记账
WARNING

仅供个人使用,转载请注明出处,不得用于商业用途

操作步骤#

  1. 申请DeepSeek API Key 或 硅基流动 API Key 申请链接:
IMPORTANT

硅基流动API 仅适用于 iCost 硅基流动 V2.2

  1. 将DeepSeek API Key添加到快捷指令中
  2. 设置快捷指令触发方式
  • 推荐(iOS 18 系统及以上):
    • 在控制中心设置快捷指令
    • 在交易详情页面下拉控制中心会自动隐藏控制中心进行截屏
  • 其他(iOS 17 系统及以下):
    • 在辅助功能设置快捷指令
    • 设置”轻触背面两下”触发快捷指令
    • 在交易详情页面双击手机背面触发快捷指令

版本迭代#

v1.0:#

iCost DeepSeek V1.0

初版使用X-Callback URL进行记录

v2.0:#

iCost DeepSeek V2.0

  • 支持多账本功能
  • 支持多币种识别
  • 移除转账记录功能由于转账场景较少且识别准确率不高,于是乎决定移除该功能。
  • 取消URL callback方式入账改成自定义记录入帐更方便调试
  • 支持修改账户、分类、备注之前记录不到数据,大部分是因为分类或账户识别错误这版优化了提示词,找不到分类或账户时会提示用户手动输入,识别错误时也能直接修改
  • 新增候选备注列表 🌟智能推荐备注选项,提供简短、详细、更详细三种模式
  • 支持修改记账金额
  • 优化批量操作逻辑 🌟将之前的多选逻辑变更为菜单顺序选取,不需要的记录点击跳过即可

v2.1:#

iCost DeepSeek V2.1

  • 🌟新增功能

    • 支持不记录账户 对于一些不需要记录账户的场景(比如现金消费),现在可以选择不记录账户
  • 🐞修复问题

    • 修复支出类型下选择没有二级分类的一级分类会报错的问题
    • 之前选择一级分类下没有二级分类会报错的问题也解决了
    • 并且如果交易不需要细分到二级分类,现在可以直接选择一级分类
  • ✅优化体验

    • 手动输入备注时自动带出原来的备注
    • 弹出识别菜单添加了设备震动📳

v2.2:#

iCost DeepSeek V2.2

iCost 硅基流动 V2.2

IMPORTANT

硅基流动提供的DeepSeek V3模型暂不支持指定JSON Mode,理论上更有可能导致快捷指令异常退出,但实际测试下来效果还行

  • 新增时间调整功能🕐
  • 新增可报销功能📝
  • 调整优惠金额的显示位置👾

v2.3:#

iCost DeepSeek V2.3

  • 处理返回error时展示错误详情🔎
  • 模型返回空结果进行提示🔔

常见问题#

  1. 报错”无法评估choice键路径” 排查思路:
  • 检查DeepSeek API Key是否正确
  • API服务繁忙
  • 账户余额不足
  • iCost未维护资产账户
  1. 快捷指令找不到操作 第一个操作是隐藏控制中心需要iOS 18 系统及以上,低版本直接删去即可
  2. 跳转到iCost中但是没有记录 因为iCost的逻辑是分类名称和账户名称完全一致才执行操作,因此建议按照iCost官方的建议把银行账户名称加上卡尾号辅助识别。 当指令提示❎请选择账户名称或❎请选择分类时请手动选择账户或分类 模型有时候也会胡编分类名称,也请注意检查。
  3. 快捷指令直接卡住不动,等待很久后直接退出了 这是因为近期DeepSeek API 服务繁忙,非常容易超时,建议两次识别间隔久一些避免被流控。
iCost 搭配 DeepSeek iOS快捷指令实现自动记账
https://blog.xujingling.xyz/posts/icost-shortcuts/
作者
Nicholas
发布于
2025-02-07
许可协议
CC BY-NC-SA 4.0