- 更新 docs/ 与 app-ios/docs/ - 更新 app-ios/demo、assets/demo、app-ios 代码与计划 Co-authored-by: Cursor <cursoragent@cursor.com>
6.0 KiB
《岁月时书》MVP – User Stories(V1)
视角说明
- 用户:普通用户(偏中老年,但 MVP 不特化)
- AI:回忆录助手
- 客户端:iOS / Android(React Native / Flutter / 原生均适用)
- 后端:API + AI 服务
- 数据库:关系型 or 文档型均可(这里用逻辑结构描述)
EPIC 0:基础应用框架
US-0.1 应用启动与默认入口
User Story
作为用户 我希望打开 App 后直接看到「对话列表」 这样我不用学习就知道从哪里开始
前端(iOS / Android)
- App 启动后默认进入
chat-list - 显示 App 名称 + 副标题
- 底部导航栏可见
后端
- 可无登录状态返回「默认对话列表」(MVP 允许匿名)
数据库
-
conversation(至少一条系统内置对话)- id
- type =
system - title =
回忆录助手 - last_message
- updated_at
EPIC 1:对话列表(chat-list)
US-1.1 查看对话列表
User Story
作为用户 我希望看到一个类似微信的联系人列表 能快速进入和 AI 的聊天
前端
- 列表样式(头像 + 名称 + 最近消息 + 时间)
- 默认只有一个联系人:
回忆录助手 - 点击进入聊天详情
后端
- 返回用户的 conversation 列表
- 按
updated_at排序
数据库
-
conversation- id
- user_id(可为空,MVP)
- title
- avatar_type(AI / 用户)
- last_message
- updated_at
US-1.2 查看新消息预览
User Story
作为用户 我希望在对话列表中看到最近一条消息 让我知道“书有没有在变厚”
前端
- 单行消息预览(省略)
- 时间戳显示(今天 / 昨天 / 日期)
后端
- 返回 conversation 的 last_message
- 在新消息生成后更新
数据库
conversation.last_messageconversation.updated_at
EPIC 2:聊天详情(chat)
US-2.1 进入全屏聊天
User Story
作为用户 我希望进入一个沉浸式聊天界面 就像在微信里和一个人聊天一样
前端
- 顶部栏:返回 + 回忆录助手 + 在线状态
- 无底部导航
- 消息列表支持滚动
后端
- 返回该 conversation 的消息列表(分页)
数据库
-
message- id
- conversation_id
- sender_type(user / ai)
- content_type(text / image / audio)
- content
- created_at
US-2.2 发送文字消息
User Story
作为用户 我希望能输入文字并发送 来讲述我的回忆
前端
- 文本输入框
- 有文字时显示发送按钮
- 发送后立即显示在聊天区(optimistic)
后端
- 接收用户消息
- 保存消息
- 触发 AI 回复流程
数据库
-
message- sender_type =
user - content_type =
text - content = 原始文本
- sender_type =
US-2.3 AI 自动回复并引导
User Story
作为用户 我希望 AI 能主动提问和追问 帮我把记忆说完整
前端
- 显示“正在输入…”
- AI 回复显示为左侧气泡
后端
- 将上下文消息发送给 AI
- 返回 AI 回复
- 回复内容偏引导式
数据库
-
message- sender_type =
ai - content_type =
text - metadata(可选:tag = 引导 / 追问)
- sender_type =
US-2.4 发送语音消息(占位)
User Story
作为用户 我希望能按住说话 像微信一样讲故事
前端
- 按住说话 / 上滑取消
- 本地生成音频文件
- 显示语音气泡(时长)
后端(MVP 可弱化)
- 接收音频文件
- 返回占位文本(或不转写)
数据库
-
message- content_type =
audio - content = 音频文件 URL
- duration
- content_type =
US-2.5 发送图片
User Story
作为用户 我希望能发老照片 帮助 AI 更好理解我的故事
前端
- 从相册选择 / 拍照
- 图片气泡展示
后端
- 接收图片
- 存储并返回 URL
数据库
-
message- content_type =
image - content = 图片 URL
- metadata(width / height)
- content_type =
EPIC 3:回忆录生成与阅读
US-3.1 自动生成回忆录结构
User Story
作为用户 我希望聊天内容能自动变成“书” 而不是只是一堆对话
前端
- 回忆录 Tab 显示目录页
- 即使内容不多,也能看到章节雏形
后端
- 定期 / 实时整理对话
- 生成章节结构
数据库
-
memoir- id
- user_id
- title
- subtitle
- updated_at
-
memoir_chapter- id
- memoir_id
- title
- order
- content
- progress
US-3.2 阅读章节内容
User Story
作为用户 我希望能像读电子书一样 阅读已经整理好的回忆
前端
- 章节标题 + 正文
- 舒适排版
- 插图内嵌展示
后端
- 返回章节内容(HTML / Markdown)
数据库
-
memoir_chapter.content -
memoir_asset(插图)- id
- chapter_id
- type
- url
US-3.3 显示“最近更新”
User Story
作为用户 我希望知道最近哪一章有新增内容 感觉“书在变厚”
前端
- 目录页显示「最近更新」
- 章节进度条
后端
- 计算章节更新时间
数据库
memoir_chapter.updated_at
EPIC 4:我的(个人页)
US-4.1 查看账户状态
User Story
作为用户 我希望在一个地方看到我的账户和套餐 不影响聊天体验
前端
- 头像 + 昵称
- 当前套餐(免费)
后端
- 返回用户信息
数据库
-
user- id
- nickname
- avatar
- plan_type
US-4.2 数据导出入口(占位)
User Story
作为用户 我希望知道我的数据是可以导出的 哪怕现在还不能用
前端
- 导出按钮(灰态)
- 提示说明
后端
- 返回状态:未开放
数据库
- 无新增(MVP)
MVP User Stories 总览(Checklist)
核心路径
- ☑ 对话列表
- ☑ 聊天(文字 + AI 引导)
- ☑ 回忆录自动生成
- ☑ 电子书阅读体验
增强体验
- ☑ 图片
- ⏳ 语音
- ⏳ PDF 导出
- ⏳ 登录 / 套餐