# 《岁月时书》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_message` * `conversation.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 = 原始文本 --- ### US-2.3 AI 自动回复并引导 **User Story** > 作为用户 > 我希望 AI 能主动提问和追问 > 帮我把记忆说完整 **前端** * 显示“正在输入…” * AI 回复显示为左侧气泡 **后端** * 将上下文消息发送给 AI * 返回 AI 回复 * 回复内容偏引导式 **数据库** * `message` * sender_type = `ai` * content_type = `text` * metadata(可选:tag = 引导 / 追问) --- ### US-2.4 发送语音消息(占位) **User Story** > 作为用户 > 我希望能按住说话 > 像微信一样讲故事 **前端** * 按住说话 / 上滑取消 * 本地生成音频文件 * 显示语音气泡(时长) **后端(MVP 可弱化)** * 接收音频文件 * 返回占位文本(或不转写) **数据库** * `message` * content_type = `audio` * content = 音频文件 URL * duration --- ### US-2.5 发送图片 **User Story** > 作为用户 > 我希望能发老照片 > 帮助 AI 更好理解我的故事 **前端** * 从相册选择 / 拍照 * 图片气泡展示 **后端** * 接收图片 * 存储并返回 URL **数据库** * `message` * content_type = `image` * content = 图片 URL * metadata(width / height) --- ## 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 导出 * ⏳ 登录 / 套餐