快速导航
| 项目 | 链接 |
|---|---|
| https://chaiwenliang.github.io/MemoryAssistant/ | |
| https://github.com/Chaiwenliang/MemoryAssistant | |
| https://forum.trae.cn/t/topic/30070 |
一、Demo 简介
是什么
记忆助手是一款 iPhone 上的本地优先「记忆助手」App。它把"记录"和"检索"两件事都简化成一句话——你只需用自然语言说「护照放在书房第二层抽屉」就能记下来,问「我护照放哪了」就能查到答案。东西放在哪、明天有什么安排、突然冒出来的灵感,都能一句话搞定。
所有数据都保存在 iPhone 本地,不上传服务器,隐私无顾虑。
面向谁
-
经常找不到东西的人——钥匙、护照、充电器总是"明明记得放这儿了" -
日程安排多的上班族——会议、约会、待办需要随手记下 -
喜欢随手记灵感的创意工作者——想法来了不想错过 -
关注隐私安全的用户——不希望私人记忆被上传到云端
核心功能
| 功能 | 说明 |
|---|---|
| 用自然语言提问,AI 从记忆库中智能检索答案(支持 DeepSeek / 通义千问) | |
| 记录物品放在哪,再也不用到处找东西 | |
| 快速记下会议、约会、待办事项 | |
| 灵感、想法、账号信息随手就记 | |
| 长按说话,自动识别并智能分类保存 | |
| 不用打开 App,直接对 Siri 说"钥匙放哪了" | |
| 暖色 / 经典 / 玻璃 / 跟随系统,四种外观任你选 | |
| 所有数据保存在 iPhone 本地,不上传服务器 |
界面预览
主界面与核心交互
| 首页对话式交互界面 | 按类型浏览全部记录 | 查看记录详情与操作 |
| 三类记忆快速录入 | 长按说话自动识别分类 | 主题与数据管理 |
AI 管理与会员体系
| 用量统计与请求日志 | 解锁更多 AI 调用额度 |
多主题支持
| 温暖柔和 | 深邃玻璃质感 | 清爽系统风格 |
支持跟随系统自动切换,可在设置中心随时更换主题。
所有界面截图见 GitHub 仓库:https://github.com/Chaiwenliang/MemoryAssistant/tree/master/workspace/screenshots
技术栈
-
平台 / 语言:iPhone / iOS、Swift 5.9
-
UI 框架:SwiftUI(声明式 UI)
-
本地存储:JSON 文件(应用沙盒,零云端依赖)
-
AI 能力:DeepSeek / 通义千问(大模型 API)
-
语音识别:Speech 框架
-
Siri 集成:App Intents
-
应用内购:StoreKit 2
-
多主题:暖色 / 经典 / 玻璃 + 系统跟随
二、Demo 创作思路
灵感来源
这个想法来自生活中那些"又来了"的瞬间:
-
出门前满屋子翻钥匙、身份证、充电器,明明记得"就放在这儿"
-
朋友推荐的餐厅、电影,转头就忘,等想起来已经过去一周
-
想随手记点什么,打开系统备忘录要点好几步,反而懒得记了
-
用过一些记忆类 App,但担心私人内容上传云端不安全
于是开始想:能不能做一个「一句话就能记、一句话就能查」的助手?记录和检索都足够简单,数据还留在自己手机里。
想解决的问题
-
记录门槛高:传统备忘录要打开 App → 点新建 → 选分类 → 输入内容 → 保存,步骤太多,灵感早就没了
-
检索效率低:记了很多,找的时候得翻半天;关键词记不对就搜不到,比如记的是"护照",找的时候搜"证件"
-
隐私顾虑:很多记忆类 App 要把数据传到云端做 AI 分析,私人内容谁都不想上传
-
操作繁琐:语音输入、自动分类、提醒这些功能散落在不同 App 里,体验割裂
为什么做这个方向
-
真实需求:自己和身边朋友都被"记不住、找不到"困扰过,不是为做而做
-
AI 结合点好:大模型的自然语言理解刚好能解决"模糊检索"——不用死记关键词,问"我那本蓝色的本子放哪了"也能找到"护照"
-
本地优先可行:核心的记录、检索、语音识别都不需要云端,数据存在本地更放心;只有 AI 问答会发送记录摘要(不含完整内容)
-
iPhone 原生体验:用 SwiftUI 做原生 App,配合 Siri 集成和语音输入,体验比网页/H5 流畅得多
设计取舍
-
本地优先:所有记录用 JSON 存在应用沙盒,不上传服务器;AI 问答只发送记录摘要,不发送完整原文
-
自然语言优先:交互以首页对话框为核心,而不是传统的列表 + 搜索框,降低使用心智
-
三类记忆模型:位置、日程、备忘——覆盖生活中 80% 的"想记一下"场景,又不至于过度复杂
三、Demo 体验地址
方式一:在线体验(推荐
)
直接打开网址即可在浏览器中体验,无需下载任何文件:
https://chaiwenliang.github.io/MemoryAssistant/
可体验的功能:
-
首页 AI 智能问答(点击示例问题或输入问题) -
全部记录列表(可搜索过滤) -
记录详情页 -
新增记录表单 -
设置页(三套主题实时切换) -
语音录入动画演示
方式二:GitHub 源码(完整功能,需 Mac 环境)
GitHub:https://github.com/Chaiwenliang/MemoryAssistant
环境要求:macOS 14+、Xcode 15+、推荐安装 XcodeGen
运行步骤:
Bash
# 1. 克隆项目
git clone https://github.com/Chaiwenliang/MemoryAssistant.git
# 2. 进入 workspace 目录生成 Xcode 工程
cd MemoryAssistant/workspace
xcodegen generate
# 3. 打开工程
open MemoryAssistant.xcodeproj
然后在 Xcode 中选择 iPhone 模拟器,按 ⌘R 运行。
AI 功能配置(可选):
-
支持 DeepSeek / 通义千问模型
-
在 App 内「设置 → AI 用量 → 管理控制台」中配置 API Key
-
免费版每日 5 次 AI 调用,升级 Pro 可享每日 200 次
四、TRAE 实践过程
整个项目使用 TRAE Code 模式进行开发,从想法到可运行的完整 App,经历了五个阶段。下面按时间顺序记录关键步骤。
阶段 1:框架搭建
目标:确定项目结构、技术栈、核心功能模块,跑通最小可运行骨架。
关键工作:
-
用 TRAE 梳理需求,确定"位置记忆 / 日程提醒 / 通用备忘"三类记忆模型
-
搭建 SwiftUI 项目骨架,定义
MemoryRecord、MemoryCategory等数据模型 -
设计目录结构:
App / Models / Services / ViewModels / Views / Intents -
跑通首页
MemoryListView与本地 JSON 持久化MemoryPersistence
项目结构最终成型:
Plain Text
MemoryAssistant/
├── App/ # App 入口与全局依赖
├── Models/ # 数据模型(记录、主题、草稿等)
├── Services/ # 核心服务
│ ├── MemoryStore.swift # 数据存储与搜索
│ ├── LLMService.swift # AI 大模型服务
│ ├── LLMUsageTracker.swift # AI 用量追踪
│ ├── LLMRequestLogger.swift # AI 请求日志
│ ├── SpeechRecognizerService.swift # 语音识别
│ └── MemoryProStore.swift # 会员与内购
├── ViewModels/ # 视图模型
├── Views/ # SwiftUI 页面
│ ├── MemoryListView.swift # 主页面
│ ├── SettingsView.swift # 设置页
│ ├── AllRecordsView.swift # 全部记录
│ ├── AdminConsoleView.swift # AI 管理控制台
│ └── Components/ # 通用组件
└── Intents/ # Siri / App Intents 集成
开发过程截图:
用 TRAE 梳理功能清单与界面模块,明确每个功能对应的代码文件,确保架构清晰可控。
Session ID:
5a7e955d398b5c379412e954f8316d9c_6a34d22d7b414f1a5720f673
阶段 2:UI 设计与多主题
目标:设计三套主题风格,统一组件样式,让 App"好看且耐看"。
关键工作:
-
设计三套主题:暖色(温暖柔和,默认)、经典(清爽系统风格)、玻璃(深邃玻璃质感)
-
在
AppTheme.swift中抽象主题系统,支持运行时切换与跟随系统 -
统一通用组件样式:
MemoryRowView、BottomInputBar、MemoryStatsStrip、MemoryDonutChart等 -
设计首页对话式交互,把"记录 / 提问"统一到底部输入栏
开发过程截图:
讨论设计图与真机差异,替换所有系统色为主题色系统,确保三套主题下文字颜色、卡片样式统一。
Session ID:
9a940d0bdaf7409dd4631d459b837d21_6a34d22d7b414f1a5720f673
阶段 3:核心功能开发
目标:打通数据存储、语音识别、AI 问答、Siri 集成四条核心链路。
3.1 数据存储与搜索
-
用 JSON 文件在应用沙盒做本地持久化(
MemoryPersistence.swift) -
实现
MemorySearchEngine支持关键词检索与排序 -
设计
MemoryQueryRouter/MemoryUpdateRouter路由查询与更新操作
3.2 语音识别
-
接入 Speech 框架,实现
SpeechRecognizerService -
实现"长按说话 + 波形反馈"的交互
-
识别结果智能分类为位置 / 日程 / 备忘
3.3 AI 智能问答
-
集成 DeepSeek / 通义千问(
LLMService.swift、LLMConfig.swift) -
MemoryBrain负责把用户问题 + 记录摘要组装成 Prompt,调用大模型 -
LLMUsageTracker/LLMRequestLogger做用量统计与请求日志
3.4 Siri 集成
-
用 App Intents 实现
MemoryIntents与MemoryAppEntity -
支持三种 Siri 指令:
-
“用记忆助手记录 钥匙放在玄关柜左边”
-
“用记忆助手找 钥匙在哪里”
-
“查看记忆助手的明天安排”
-
-
不用打开 App,锁屏也能问
开发过程截图:
讨论 AI API 安全管理方案,确定三层配额管理架构(用户身份 + 套餐配额 + 速率限制),保障 Pro 会员权益。
Session ID:
50941782b39056dcf8bced2fb4aa7543_6a34d22d7b414f1a5720f673
阶段 4:优化打磨
目标:修复细节问题,把"能用"打磨成"好用"。
关键工作:
-
修复记录详情页文字重叠问题
-
调整列表间距、卡片圆角、动画时长,让交互更顺滑
-
优化语音录入的波形反馈与状态提示
-
完善设置中心、Pro 升级页(
UpgradeView+Products.storekit) -
调整多主题在暗色模式下的对比度与可读性
阶段 5:文档完善
目标:整理项目结构,编写 README,准备参赛材料。
关键工作:
-
整理项目目录结构,规范命名
-
编写 README,覆盖功能、运行方式、测试场景、后续规划
-
准备参赛材料:截图整理、作品帖文案、交互式 HTML 演示
-
部署 GitHub Pages 在线 Demo
关键技术点小结
-
SwiftUI 声明式 UI:组件化思维让多主题切换与 UI 重构非常轻松
-
本地 JSON 持久化:零云端依赖,隐私安全有保障
-
Speech 框架:原生语音识别,长按说话体验流畅
-
App Intents:让 Siri 能直接读写记忆库,覆盖锁屏场景
-
多主题系统:抽象出
AppTheme,运行时动态切换,支持跟随系统 -
LLM API 集成:DeepSeek / 通义千问双模型支持,自然语言解决"模糊检索"难题
-
StoreKit 2:现代内购 API,会员体系更可靠
开发心得
-
TRAE Code 模式的 AI 辅助编码在"搭骨架"和"补细节"两个阶段效率提升最明显——前者快速生成结构,后者快速修复边角问题
-
组件化思维让 UI 重构变得很轻松,多主题系统几乎没增加多少额外成本
-
本地优先的设计让隐私安全天然有保障,也让 App 在离线状态下核心功能依然可用
-
把"记录"和"检索"统一到首页对话流,是整个交互设计中最关键的一次取舍










