Back to projects

Project / Apr 6, 2026

Vestige 集物志

一款 iOS 个人物品记录应用,用多模态 AI 从照片中自动识别物品信息并填充字段

Role
Solo project: idea, code, UI, iteration
Stack / Topics
iOSSwiftUILLM多模态生活工具

项目概述

Vestige 是一个移动优先的个人持有物记录应用。它的核心目标不是简单地保存照片,而是把「拍下物品」转化成可检索、可整理、可长期维护的结构化记录。

为了和市面上偏表格、偏资产管理的竞品拉开差异,我把视觉语言做成了类似游戏背包的感觉:物品被放进带边框和稀有感的 icon / slot 里,整理现实物品时像是在整理 RPG 背包。这个设计让记录行为不再像做家务,而更像收集、归档和整理战利品,完成后会有明显的成就感。

在拍照或导入图片后,应用会调用多模态模型识别画面里的物品,并自动补全标题、品牌、来源、价格线索和购买日期线索。用户仍然可以手动编辑,但最耗时的录入步骤会被 AI 先完成一版。

Vestige capture flow

Vestige structured autofill

核心流程

  1. 用户拍照或从相册导入物品图片。
  2. 应用压缩图片,并构建包含文字指令和图片文件的多模态消息。
  3. 通过 OpenAI-compatible provider 调用视觉模型。
  4. 使用结构化输出 schema 获取 titlebrandsourcepurchaseCostHintpurchaseDateHint
  5. 如果用户表单字段为空,自动填充识别结果。
  6. 用户确认后保存到个人物品库。

怎么做的

界面是 SwiftUI 写的,视觉上借了一点 RPG 背包的感觉:icon、边框、slot 都围绕“收集物品”来做,让整理现实物品没那么像填表。

识别流程走多模态模型。应用把照片压缩后直接发给视觉模型,不要求用户先写一段描述。模型输出用 Swift AI SDK 的 generateObject 限成表单能直接用的结构,比如 titlebrandsourcepurchaseCostHintpurchaseDateHint。模型接入走 OpenAI-compatible endpoint,默认用 Gemini 系列视觉模型。

技术栈

  • SwiftUI
  • Swift AI SDK
  • OpenAI-compatible provider
  • Gemini multimodal model
  • iOS photo capture / import flow

记录东西最烦的就是逐个填字段,填一半就懒得填了。Vestige 里的 AI 只负责先填一版,剩下的由用户确认和修改。它不会替用户拍板,识错了也不会直接写进物品库。

Siyuan · 软件 / 游戏 / AI 工具 © 2026 Siyuan