iPurseLight 是一个使用 SwiftUI 和 SwiftData 编写的本地个人记账应用,包含账单、资产组合、收支分析、快捷指令和 JSON 备份。
AI 是可选能力。配置服务商后,可以把自然语言转换为账单字段,或基于当前汇总生成分析建议;不配置 API Key 时,其余记账和资产功能仍可使用。
- 记录和编辑收入、支出、分类、渠道与备注
- 按月和按年查看流水与图表
- 管理资产组合、本金、已实现收益和年化收益率
- 通过 App Intent 从快捷指令预填一笔账单
- 使用 DeepSeek、OpenAI 或 Gemini 辅助解析文本和生成分析
- 导出和恢复账单、资产及资产组合关系
- 在应用内切换简体中文和英文
- 账单和资产保存在设备上的 SwiftData 数据库中。
- API Key 保存在 iOS Keychain。旧版本写入
UserDefaults的 Key 会在首次读取时迁移并删除旧值。 - 使用 AI 功能时,输入文本或财务汇总会从设备直接发送给所选服务商。项目没有自建中转服务器。
- 生产环境中的移动端密钥仍可能被设备所有者提取;如需面向公众分发并统一承担 API 费用,应改用受控后端。
com.moneyapp.ipurse/
├── App/ 应用入口、快捷指令和全局状态
├── Asset/ 资产与组合界面
├── Bill/ 账单、录入和分析界面
├── Models/ SwiftData 模型与备份 DTO
├── Services/ AI、Keychain 和备份服务
├── Settings/ 语言、服务商与密钥设置
└── Views/ 根视图和数据备份界面
- 使用 Xcode 打开
iPurseLight.xcodeproj。 - 选择
iOS 收支理财APPscheme。 - 在模拟器或真机运行。
- 如需 AI 功能,在设置页选择服务商并填写自己的 API Key。
仓库当前的 deployment target 是 iOS 26.2。AI 模型和服务端接口可能变化,发布新版本前应按各服务商官方文档验证模型名、请求格式和配额。
当前导出格式版本为 2.0,会保留账单 ID、资产 ID 和资产组合关系。应用仍能读取旧版备份;旧文件没有组合关系和稳定 ID,因此合并恢复时可能产生重复项目。
- 当前没有自动化测试目标。
- 金额以
Double保存,适合个人应用;若要处理严格会计精度,建议迁移为十进制定点表示。 - Xcode 的个人工作区状态不应提交,相关路径已加入
.gitignore。
MIT