Skip to content

New Product Design Report

znnnnnnn-wil edited this page Jul 27, 2026 · 3 revisions

1. TimeFlow 是什么

TimeFlow 是一款以语音为主要操作方式的个人日程与待办管理产品。客户端采用单一首页结构:页面顶部展示当前月份,右上角提供设置入口;页面中部展示实体月历;用户选择某一天后,月历下方统一展示该日期对应的日程与待办;页面底部中央只有一个语音输入按钮,用于完成日程、待办和提醒规则的创建、查询、修改与删除。

TimeFlow 不是普通日历,也不是单纯的语音转文字工具,更不是持续采集用户位置的定位软件。它解决的核心问题是:

用户需要通过最少的操作快速记录、查询和调整日程与待办,并在真正需要执行事项的时间或地点收到提醒;同时,AI 不能未经用户确认直接修改业务事实。

与普通日历、待办和语音助手相比,TimeFlow 的关键差异有五个:

  • 单页完成查看:用户进入应用后直接看到月历,点击日期即可查看当日日程和待办,不需要在多个 Tab 之间切换。

  • 语音是统一操作入口:用户通过底部中央的语音按钮完成日程、待办和提醒规则的 CRUD,不需要理解复杂表单和功能入口。

  • 日程与待办统一按日期展示:Schedule 和 Todo 保留业务区别,但在选中日期下统一展示。

  • 提醒不仅依赖时间:除固定时间提醒外,支持用户进入指定地点时触发提醒。

  • 业务事实写入必须确认:AI 只负责意图识别、参数提取和生成候选,创建、修改、删除等写操作经用户确认后才落库。

例如用户说:

明天早上八点到公司打卡,到了公司提醒我。

系统需要生成以下操作候选:

  • 创建一个明天早上八点的 Schedule。

  • 标题为“到公司打卡”。

  • 地点关联用户已保存并确认的“公司”。

  • 创建一条进入公司地理围栏时触发的 Reminder。

  • 地点提醒具有明确生效时间、失效时间和触发次数。

  • 用户确认后才创建日程和提醒规则。

本期产品判断是:第一版不建设完整智能时间管理平台,而是验证以下闭环是否成立:

单页月历查看
→ 选择日期查看日程和待办
→ 语音输入
→ 意图与参数解析
→ 用户确认
→ Schedule / Todo / Reminder 落库
→ 客户端同步提醒
→ 时间或地点条件满足
→ 客户端触发通知

2. 背景与战略决策

2.1 背景与机会

现有日历和待办产品已经能够完成基础记录、查询和时间提醒,但用户通常仍需先判断应该进入日历还是待办页面,再手动填写标题、日期、开始时间、结束时间、地点和提醒方式。

这种方式在桌面场景中可以接受,但在以下场景中操作成本较高:

  • 通勤途中临时想到一件事。

  • 开会过程中需要快速记录后续事项。

  • 用户正在走路、做饭或整理物品。

  • 用户只想快速查询某一天的安排。

  • 用户需要修改已有事项,但不记得它位于哪个页面。

  • 用户希望到达某个地点后再收到提醒。

传统时间提醒也无法覆盖所有执行场景。例如“到公司提醒打卡”“到超市提醒买药”,真正有价值的触发条件不是某个固定时间,而是用户进入了指定地点。

这指向三个产品机会:

  1. 用单页月历降低查看日程与待办的入口成本。

  2. 用语音降低创建、查询、修改和删除事项的操作成本。

  3. 用地点提醒提升提醒与现实执行场景的相关性。

2.2 目标人群定义

TimeFlow 按行为条件而非身份标签定义本期目标用户:

  1. 日常需要管理多个日程或待办。

  2. 经常产生临时记录或修改需求。

  3. 不愿意频繁填写复杂表单。

  4. 经常在移动状态下操作手机。

  5. 有公司、家、学校、健身房或商场等稳定地点。

  6. 希望 AI 降低操作成本,但不希望 AI 未经确认修改数据。

用户类型 典型场景 主要痛点 本期匹配能力
职场用户 打卡、会议、提交报告、联系客户 临时事项多,手动录入步骤多 语音 CRUD、时间提醒、公司地点提醒
学生 上课、作业、考试、图书馆学习 日程和待办混合,容易遗忘 单页月历、待办管理、学校地点提醒
日常生活用户 买药、购物、取快递、缴费 事项需要在特定地点执行 到达地点提醒、待办管理
高频出行用户 到公司、客户现场、车站 移动中不方便操作表单 语音输入、地点提醒
普通日历用户 查看每天安排、临时改期 查询和修改入口分散 日期选择、日程待办统一展示

本期核心成功判据以“高频记录需求 + 移动使用场景 + 稳定地点提醒需求”的用户为主。

2.3 用户故事

场景小故事 功能 价值 模块 对应人群
我打开应用直接看到本月日历 单页月历 无需寻找日历入口 首页/月历 全部
我点击 7 月 27 日,下方立即展示当天日程和待办 日期联动 一处看清当天安排 首页/事项列表 全部
我点击底部语音按钮说“明天下午三点开项目会” 语音创建 Schedule 不必填写完整表单 语音输入/日程 全部
我说“明天有什么安排” 语音查询 快速查看指定日期内容 语音输入/查询 全部
我说“把明天的项目会改到四点” 语音修改 降低修改成本 语音输入/日程 全部
我说“取消明天的项目会” 语音删除 快速清理安排,删除前仍可确认 语音输入/确认 全部
我说“周五前提交产品设计报告” 语音创建 Todo 自然语言直接转成待办 语音输入/待办 全部
我在待办列表中勾选“提交产品设计报告” 完成 Todo 高频操作无需进入详情页 待办列表 全部
我给项目会议设置提前十分钟提醒 时间提醒 在事项开始前提醒 Reminder 全部
我说“明天到公司提醒我打卡” 到达地点提醒 在真正到达公司时提醒 Reminder/Place 职场用户
我给一个事项同时设置时间和地点提醒 多提醒规则 提高关键事项触达概率 Reminder 全部
我拒绝定位权限 权限降级 普通日历和时间提醒仍然可用 权限管理 全部
我修改或删除事项 提醒同步 旧通知和旧地理围栏自动失效 提醒执行 全部
我点击右上角设置 设置入口 管理常用地点、权限和默认提醒 设置 全部

2.4 用户痛点

痛点 具体表现 调研/设计依据 对应人群
查看入口复杂 日历、待办和提醒位于不同页面 单页信息架构设计判断 全部
录入步骤多 用户需要填写多个字段 高频移动场景操作审查 全部
日程与待办割裂 用户难以一次看清某天全部事项 日期任务场景分析 全部
自然语言存在歧义 “明天下午”“公司”“晚点”等信息不完整 AI 输入的不确定性 全部
AI 误操作风险 ASR 或语义识别错误可能写入错误事项 用户控制与可信边界 全部
固定时间提醒不符合实际时机 到点时用户可能尚未到达执行地点 地点型任务场景 移动用户
地点名称不能直接执行 “公司”可能没有坐标或存在多个地点 地点实体设计 地点提醒用户
定位权限敏感 用户担心应用持续追踪 隐私与权限边界 全部
修改后旧提醒残留 日程改期后旧通知仍可能触发 提醒生命周期设计 全部
网络或 AI 故障 语音能力不可用时影响基本使用 核心功能稳定性要求 全部

2.5 解决方案

一句话价值主张:

TimeFlow 让用户在一个月历首页中查看日程和待办,通过底部单一语音入口完成管理,并在合适的时间或地点收到提醒。

产品结构:

flowchart TD
    HOME[单页首页] --> MONTH[月份与月历]
    HOME --> DAY[所选日期事项区]
    HOME --> VOICE[底部中央语音按钮]
    HOME --> SETTING[右上角设置]

    DAY --> SCHEDULE[日程列表]
    DAY --> TODO[待办列表]

    VOICE --> PARSE[意图与参数解析]
    PARSE --> CRUD[Schedule / Todo CRUD]
    PARSE --> REMINDER[Reminder CRUD]

    REMINDER --> TIME[时间提醒]
    REMINDER --> GEO[到达地点提醒]

    SETTING --> PLACE[常用地点]
    SETTING --> PERMISSION[通知与定位权限]
Loading

核心链路:

打开应用
→ 默认选中今天
→ 月历下方展示今天的日程和待办
→ 用户选择其他日期时更新事项列表
→ 用户点击底部语音按钮
→ 语音转写和意图解析
→ 参数不足时进行必要追问
→ 查询操作直接展示结果
→ 写操作生成候选
→ 用户确认
→ 调用确定性业务能力落库
→ 客户端同步 Reminder
→ 注册本地通知或系统地理围栏
→ 条件满足后触发本地通知

3. 市场调研和竞品分析

3.1 时间管理软件的主流流程和存在的解决方案

五个流程 市面上常见解决方案总结
捕获 手动表单、自然语言文字输入、语音输入、快捷指令、邮件或聊天内容转任务
组织 日历、清单、项目、标签、优先级、分类、日期和地点
查看 月视图、周视图、日视图、待办列表、搜索
提醒 固定时间、提前若干分钟、重复提醒、到达或离开地点提醒
调整 表单编辑、拖拽改期、自然语言修改、批量操作

3.2 竞争总结

流程环节 市场格局与代表方案 主要结论
捕获 传统日历依赖表单,部分产品支持自然语言或语音创建 捕获能力已较成熟,关键差异是能否覆盖完整 CRUD 和确认边界
组织 日历强调时间,待办强调完成状态 对象可以分开,但用户查看某天时需要统一呈现
查看 多数产品提供月、周、日和列表视图 第一版不需要堆叠多个视图,月历加日期事项区即可验证核心需求
提醒 固定时间提醒成熟,地点提醒通常不是主流程 地点提醒与 Schedule/Todo 统一绑定仍有产品机会
AI 操作 部分产品只支持创建,修改和删除仍需手动 TimeFlow 应覆盖查询、创建、修改、删除和提醒配置
用户控制 AI 直接写入可以减少步骤,但误操作风险高 候选确认是语音 CRUD 的必要边界
信息架构 日历、待办、AI 常被拆成多个一级页面 TimeFlow 使用单页月历和一个语音按钮,降低入口负担

3.3 市场空缺与机会判断

市场空缺 用户需求 竞品不足 数据/设计支撑 TimeFlow 机会
日程和待办查看割裂 用户希望一次查看某天全部事项 经常需要在日历和待办页面切换 单页原型和任务流程验证 点击日期后统一展示 Schedule 和 Todo
语音只负责创建 用户还需要查询、修改和删除 创建后仍需手动维护 完整 CRUD 用户故事 单一语音入口覆盖完整 CRUD
AI 写入缺少控制 用户担心识别错误 直接写入不透明 可信 AI 设计边界 写操作生成候选并确认
提醒主要依赖时间 部分事项只有到达地点后才需要提醒 固定时间与现实执行时机不一致 打卡、购物、取件场景 支持 LOCATION_ENTER Reminder
地点提醒与事项割裂 用户无法明确知道提醒属于哪个事项 地点提醒常作为独立提醒文本 数据对象关系设计 Reminder 绑定 Schedule 或 Todo
定位权限说明不清 用户担心连续轨迹被采集 权限范围不透明 隐私设计要求 不保存连续轨迹,仅处理必要围栏事件
提醒失败不可见 用户不知道提醒是否真正生效 通知注册状态不透明 可靠性要求 展示 pending_sync、active、failed 等状态

4. 产品定位与本期范围

4.1 功能主线与深度分配

节点 深度 本期做法 理由
捕获/交互 深耕核心 单一语音按钮、语音转写、CRUD 意图识别、参数追问和确认 验证低摩擦输入价值
组织/展示 基础但完整 单页月历、日期选择、日程和待办统一展示 用最少页面承载主流程
日程/待办管理 基础但完整 Schedule/Todo 手动和语音 CRUD 保证产品独立可用
时间提醒 完整实现 开始、截止、提前和自定义时间提醒 提供基础可靠提醒
地点提醒 深耕差异化 进入保存地点时提醒,有效时间与一次性触发 验证场景提醒价值
权限与降级 完整实现 通知、定位和麦克风按需申请;失败可见 避免权限成为单点
多端与外部集成 不投入 当前设备执行提醒,不接第三方日历 控制第一版工程范围
智能排期与复盘 不投入 不做 Goal、Task 自动排期、重排和复盘 聚焦日历与提醒闭环

4.2 本期做什么

单页首页主链:

用户打开应用 → 默认选中今天并展示本月月历 → 下方同时展示今天的 Schedule 和 Todo → 用户点击其他日期后更新下方内容 → 用户可以点击事项手动查看或编辑 → 用户点击底部语音按钮完成查询或 CRUD → 写操作确认后落库 → 月历和事项列表同步刷新。

语音 CRUD 闭环:

用户点击底部语音按钮并说出需求 → 客户端完成语音转写 → 后端识别对象、意图、时间、地点和提醒参数 → 必要参数不足时进行最少量追问 → 查询操作直接返回 → 创建、修改和删除生成结构化候选 → 用户确认 → 调用确定性业务接口写入 Schedule、Todo、Place 或 Reminder。

时间提醒闭环:

用户通过语音或事项详情为 Schedule/Todo 设置提醒 → 后端保存 Reminder → 客户端同步规则 → 注册本地通知 → 条件满足时显示系统通知 → 客户端上报提醒执行结果。

地点提醒闭环:

用户选择或创建 Place → 为 Schedule/Todo 创建 LOCATION_ENTER Reminder → 用户确认地点、半径、生效时间、失效时间和触发次数 → 后端保存规则 → 客户端注册系统地理围栏 → 用户进入地点范围 → 客户端显示本地通知 → 一次性提醒转为 triggered。

设置闭环:

用户点击首页右上角设置按钮 → 管理常用地点、默认提醒偏好、通知权限、定位权限和隐私设置 → 设置变化后重新校验或同步相关 Reminder。

4.3 明确不做

不做事项 理由 依据
底部多 Tab 导航 第一版主流程可以由单页首页承载 减少信息架构复杂度
独立 AI 页面或聊天首页 语音是快捷操作方式,不替代日历主界面 产品定位
语音记录和语音笔记 与日程管理主链无关 产品减法
Goal、Task 和长期目标拆解 不属于当前版本核心问题 范围调整
自动排期与智能重排 工程和产品复杂度高 第一版资源约束
Feedback 和即时复盘 当前先验证记录、查看和提醒 验证顺序
自动读取聊天、邮件和图片 接入与隐私风险高 工程和权限边界
第三方日历同步 非当前差异化重点 工程范围
离开地点和停留地点提醒 第一版先验证进入地点提醒 提醒范围
多地点或复杂条件组合 规则引擎复杂度高 MVP 约束
天气、交通和设备状态提醒 依赖外部数据和更多权限 MVP 约束
服务端持续获取位置 耗电、隐私和后台运行风险高 技术与隐私边界
连续位置轨迹 地点提醒不需要完整轨迹 最小数据原则
团队日历与多人协作 引入权限和共享语义 用户定位
Web 与桌面端 第一版聚焦移动端 工程范围
多设备提醒去重 当前设备即可验证提醒价值 工程范围
服务端实时推送提醒 时间和地点提醒由客户端本地执行 本地提醒边界

4.4 后续可拓展

能力 状态 本期关系
周视图和日视图 P1 月视图验证后补充更细时间展示
未指定日期待办列表 P1 补充没有 planned_date 的 Todo 管理
LOCATION_EXIT P1 扩展地点提醒触发类型
LOCATION_DWELL P1 支持停留一定时间后提醒
重复地点提醒 P1 工作日或周期性场景
地点与时间组合规则 P1 在规则模型上扩展
智能推荐提醒方式 P1 AI 只给建议,仍需确认
系统日历同步 P2 需要独立同步和冲突方案
天气提醒 P2 接入天气条件
交通时间提醒 P2 接入路线和预计到达时间
蓝牙/Wi-Fi 状态提醒 P2 扩展场景感知能力
多设备同步与去重 后续 Proposal 需要统一执行权和状态同步
智能排期和冲突调整 后续 Proposal 需要单独产品和架构设计

4.5 核心使用流程

  1. 用户首次打开应用,系统默认展示当前月份并选中今天。

  2. 月历下方展示今天的 Schedule 和 Todo。

  3. 用户可以点击其他日期,查看对应日期的日程和待办。

  4. 用户点击日程或待办进入详情页,完成手动查看和编辑。

  5. 用户点击底部中央语音按钮,通过语音表达查询或操作意图。

  6. 客户端将语音转为文字;麦克风或 ASR 不可用时允许文字输入。

  7. 主 Agent 识别操作对象、CRUD 意图、时间、地点和提醒参数。

  8. 参数不足或对象不唯一时,主 Agent 在调用写能力前进行追问或要求选择。

  9. 查询操作直接读取事实并展示结果。

  10. 创建、修改和删除操作生成候选卡。

  11. 用户确认后,主 Agent 调用确定性业务能力写入。

  12. 首页月历和所选日期事项列表刷新。

  13. 创建或修改 Reminder 后,客户端同步最新规则。

  14. 时间提醒注册为本地通知。

  15. 地点提醒注册为系统地理围栏。

  16. 条件满足后,客户端显示通知。

  17. 用户点击通知进入对应 Schedule 或 Todo 详情。

  18. 客户端上报提醒注册、触发、失败、取消或过期状态。

  19. 事项修改或删除时,旧通知和旧地理围栏必须取消。

  20. 权限或系统能力失败时,不回滚业务事项,但提醒必须显示失败状态。

4.6 MVP 核心假设

# 假设类型 核心假设 验证方式 通过标准 失败退路
1 单页首页 月历加日期事项列表可以承载核心查看需求 原型统一任务测试 ≥6/8 用户无需讲解完成日期查看 调整日期事项区信息密度
2 日程待办统一展示 用户希望一次看清某天全部事项 与分页面方案对照 ≥4/8 明确偏好统一展示 增加日程/待办筛选
3 单一语音入口 底部一个语音按钮可以降低操作成本 语音与手动操作对照 ≥4/8 认为语音更快或更省步骤 语音先收缩到创建和查询
4 完整语音 CRUD 用户需要的不只是语音创建 创建、查询、修改、删除用例 ≥4/8 主动使用修改或删除 删除和复杂修改保留手动
5 候选确认 写操作确认能降低误操作且负担可接受 直接写入与确认流程对照 ≥6/8 偏好确认后写入,误写入为 0 简化候选卡
6 时间提醒 本地通知可以覆盖基础提醒需求 多设备受控测试 标准用例注册和触发率达到目标 增加重新同步和权限诊断
7 地点提醒 到达地点提醒在部分场景优于时间提醒 公司、学校、商场用例 ≥4/8 认为至少一个场景有明显价值 地点提醒降级为实验能力
8 地点参数理解 用户能够理解地点、半径和有效时间 原型操作测试 ≥6/8 正确完成配置 使用默认半径和默认时间窗口
9 权限接受 用户在理解用途后愿意授予定位权限 首次创建地点提醒时申请 ≥4/8 完成授权 推荐改用时间提醒
10 权限降级 拒绝定位后核心产品仍然可用 权限拒绝测试 月历、CRUD、时间提醒可继续 保持地点提醒完全可选
11 提醒同步 事项变化后旧提醒能够正确失效 修改、删除、重启用例 不出现稳定复现的旧规则触发 App 启动时全量重建规则
12 隐私理解 不保存连续轨迹能够降低用户顾虑 权限说明访谈 ≥6/8 理解产品不记录轨迹 强化权限说明和地点规则列表
13 手动兜底 AI 不可用时产品仍然可独立使用 断网和模型异常测试 手动 CRUD 成功率达到目标 AI 不作为唯一入口

说明:5—8 人原型测试使用实际完成人数报告,不把小样本比例解释为统计显著;运营指标需要在不少于 30 名真实试用用户后统计。

4.7 产品边界与异常处理

产品边界

功能边界:

  • 平台:iOS/Android 手机端,Android 优先;客户端使用 React Native。

  • 用户:单用户个人工具,不支持团队和多人协作。

  • 语言:P0 仅支持中文。

  • 一级结构:只有一个首页,不使用日程、AI、待办等底部 Tab。

  • 首页:顶部月份、右上角设置、中部月历、下方日期事项区、底部中央语音按钮。

  • 日历:P0 以月视图为主,不要求周视图和日视图。

  • Schedule:必须具有开始时间和结束时间。

  • Todo:可以具有计划日期、截止时间,也可以暂不指定日期。

  • 首页只展示与所选日期有关的 Todo;未指定日期 Todo 的完整管理方式放后续或在设置/辅助入口中处理。

  • Reminder:必须绑定一个 Schedule 或 Todo。

  • 一个事项可以绑定多个 Reminder。

  • P0 Reminder 类型只有 TIMELOCATION_ENTER

  • LOCATION_ENTER Reminder 必须绑定用户确认过的 Place。

  • 地点提醒默认一次性触发。

  • 地点提醒必须有明确生效时间和失效时间。

  • 语音查询可以直接展示,不需要确认。

  • 语音创建、修改和删除必须经过候选确认。

  • 手动表单的保存操作本身视为确认。

  • 删除等高风险操作必须展示影响范围。

  • 不保存连续位置轨迹。

  • 不通过服务端高频轮询用户位置。

  • 当前设备负责执行本地提醒。

  • 不承诺第一版多设备提醒去重。

  • 提醒失败不回滚 Schedule 或 Todo,但必须显示失败状态。

  • 系统可能延迟位置事件,不承诺精确到秒。

数据与权限边界:

  • 主 Agent 负责意图识别、参数解析、参数补全、对象定位、上下文聚合和确认流程。

  • 主 Agent 通过公共数据能力读取 Schedule、Todo、Place 和 Reminder。

  • AI 不直接绕过业务接口写库。

  • 用户确认后,主 Agent 调用确定性业务能力。

  • 确定性业务能力负责权限、版本、冲突、事务和对象归属校验。

  • 一个请求优先处理一个明确业务动作。

  • 多对象删除或批量修改不在第一版自动执行。

  • 语音转写文本可以作为交互记录保存;原始音频是否保存由隐私设置决定。

  • Place 保存的是用户确认的地点坐标,不表示用户当前实时位置。

  • Reminder Execution 只记录必要的注册和触发状态,不保存移动轨迹。

  • 客户端只有在实现地点提醒时使用系统定位与地理围栏能力。

架构术语映射:

架构基准用语 产品统一用语 本期解释
Event Schedule 具有完整起止时间的日程
Task/Todo Todo 以完成状态为核心的事项
Location Rule LOCATION_ENTER Reminder 进入指定地点时触发的提醒
Geofence 地理围栏 由客户端向操作系统注册的地点范围
Write Request 操作候选 用户确认前待执行的结构化写操作
Reminder Registration 提醒注册 当前设备上的本地通知或地理围栏
Reminder Execution 提醒执行记录 注册、触发、失败、取消和过期状态

通知边界:

  • P0 只做当前设备本地通知。

  • 时间提醒由客户端向操作系统注册本地通知。

  • 地点提醒由客户端向操作系统注册地理围栏。

  • 通知点击进入对应 Schedule 或 Todo 详情。

  • 通知不自动改变 Todo 完成状态。

  • 用户可以分别关闭时间提醒和地点提醒。

  • 用户可以关闭声音或震动。

  • 通知权限关闭后,业务事项仍然保留。

  • 地点权限关闭后,只影响地点提醒。

  • 系统杀后台、设备重启和厂商后台策略可能影响送达,不承诺 100%。

  • 客户端需要在启动、登录恢复、权限变化和设备重启后校验 Reminder 注册状态。

提醒状态:

draft
pending_sync
active
triggered
failed
cancelled
expired
状态 说明
draft 操作尚未确认
pending_sync 后端已保存,等待客户端同步
active 客户端已成功注册
triggered 提醒已经触发
failed 注册或执行失败
cancelled 用户或事项变更导致取消
expired 超过有效期且未触发

异常处理:

场景 系统必须如何处理
语音无法识别 提示重新说或切换文字输入
无法区分 Schedule 和 Todo 要求用户选择,不自行猜测
Schedule 缺少开始或结束时间 追问必要时间,不创建正式 Schedule
时间表达模糊 生成明确时间候选供确认
查询对象不存在 明确告知未找到
修改对象不唯一 展示匹配对象供用户选择
删除对象不唯一 不执行删除
Place 不存在 引导用户搜索或地图确认
Place 存在多个同名项 要求用户选择
通知权限被拒绝 保存事项,Reminder 标记 failed
定位权限被拒绝 不注册地点提醒,可切换为时间提醒
后台定位权限不足 提示授权原因并提供设置入口
地理围栏注册失败 Reminder 标记 failed,不持续轮询位置
时间提醒已经过期 不注册,提示用户修改时间
用户注册时已在地点范围内 不承诺立即触发,提示可以同时设置时间提醒
Schedule/Todo 被修改 取消旧 Reminder Registration,注册新版本
Schedule/Todo 被删除 取消全部关联 Reminder
Place 被删除 展示受影响 Reminder,不能静默删除
App 长期未同步 状态保持 pending_sync,并提示打开 App
AI 服务不可用 手动 CRUD 和已有提醒继续工作
网络不可用 已注册本地提醒继续执行,业务修改等待同步
提醒触发延迟 不展示虚假的精确触发承诺

5. 产品级关键决策与依据

决策点 备选方案 选择 理由
一级信息架构 多 Tab / 单页 单页首页 当前核心查看与操作可以由一个页面承载
首页主内容 待办列表 / AI 对话 / 月历 月视图日历 日历是产品的主要信息载体
日期详情 独立详情页 / 月历下方联动 月历下方联动 点击日期即可查看当日完整内容
Schedule 和 Todo 展示 完全分开 / 日期下统一展示 统一展示、保留对象区别 用户查看当天时不需要切换
语音入口 独立 AI Tab / 悬浮按钮 / 多个语音功能 底部中央单一语音按钮 强化统一、低成本入口
语音记录和语音笔记 保留 / 删除 删除 不属于日程管理核心闭环
设置入口 底部 Tab / 首页右上角 首页右上角 设置低频,不占用一级导航
AI 写入 直接写入 / 候选确认 候选确认 降低 ASR 和语义识别误操作风险
AI 查询 也需确认 / 直接展示 直接展示 查询不改变业务事实
手动表单确认 二次确认 / 保存即确认 保存即确认,高风险强确认 避免重复打断
日程与待办模型 统一万能对象 / 分开建模 Schedule 与 Todo 分开 两者时间和状态语义不同
提醒模型 事项表固定字段 / 独立 Reminder 独立 Reminder 支持一个事项多个提醒
地点模型 提醒中直接存文本 / 独立 Place 独立 Place 坐标确认、复用和删除影响可管理
时间提醒执行 服务端推送 / 客户端本地通知 客户端本地通知 无网时仍可执行
地点提醒执行 服务端轮询 / 客户端地理围栏 客户端地理围栏 降低耗电、网络和隐私成本
地点提醒有效期 永久 / 明确时间窗口 明确时间窗口 避免未来误触发
地点提醒次数 每次进入 / 默认一次 默认一次 防止重复打扰
地点半径 固定 / 默认值可调整 默认 200 米,可调整 兼顾简单与场景差异
权限申请 启动时全部申请 / 使用时申请 使用时申请 让用户理解授权价值
提醒失败 回滚事项 / 保留事项并提示 保留事项并标记失败 业务数据不因权限问题丢失
客户端技术 原生双端 / React Native React Native 提高业务代码复用
地理围栏实现 纯 JS / 原生能力桥接 原生能力桥接 地理围栏和后台能力依赖系统 API
后端技术 Java / Node.js / Python Python 适合语音语义处理和当前团队方案
多设备执行 P0 支持 / 当前设备 当前设备 控制同步和去重复杂度

6. 功能模块设计

6.1 单页首页信息架构

  • 功能:一个首页承载月份、月历、所选日期、Schedule 列表、Todo 列表、设置入口和语音入口。用户进入应用后默认选中今天;点击其他日期时,下方事项区更新。

  • 满足价值:用户无需理解多个 Tab,不需要分别寻找日历、待办或 AI 页面。

  • 典型场景:用户进入应用后直接看到 7 月月历,点击 27 日,下方展示“08:00 到公司打卡”“15:00 项目会议”以及当天待办。

  • 详细设计:首页顶部展示月份,右上角为设置按钮;中部展示完整月历;下方展示所选日期;底部中央固定单一语音按钮。

6.2 月历与日期选择

  • 功能:展示当前月份、星期、日期、跨月灰色日期、今天状态、选中状态以及事项标记;支持左右切换月份和返回今天。

  • 满足价值:用户可以快速理解整月安排密度,并通过选择日期查看具体内容。

  • 典型场景:用户看到 27 日下方有蓝色和绿色标记,点击后查看日程和待办。

  • 详细设计

    • 蓝色标记表示存在 Schedule。

    • 绿色标记表示存在 Todo。

    • 同时存在时展示多个标记。

    • 选中日期使用明显背景高亮。

    • 今天与选中日期需要能够同时表达。

    • 日期标记不直接代表准确事项数量。

    • 切换月份时默认保持合理选择;如果返回今天则自动切回当前月份。

6.3 所选日期日程与待办

  • 功能:月历下方展示当前选中日期的 Schedule 和 Todo;Schedule 按开始时间排序;Todo 展示完成状态、截止信息和提醒状态。

  • 满足价值:用户在一个页面中看清当天所有需要参加和完成的事情。

  • 典型场景:7 月 27 日下方同时展示两条日程和两条待办。

  • 详细设计

    • 顶部展示日期和星期。

    • 日程和待办使用两个清晰分组。

    • 日程显示时间、标题、地点和提醒标记。

    • Todo 显示勾选框、标题、截止时间和提醒标记。

    • 点击勾选框可以直接完成 Todo。

    • 点击事项主体进入详情。

    • 当天无事项时展示空状态并提示使用语音按钮。

    • 列表较长时允许纵向滚动,语音按钮保持固定。

6.4 语音入口、输入与确认

  • 功能:底部中央语音按钮是唯一语音入口,支持录音、语音转写、文字兜底、意图识别、参数补全、对象定位、候选展示和确认后写入。

  • 满足价值:用户不用理解对象字段和页面结构,即可通过自然语言完成高频管理。

  • 典型场景:用户说“把明天下午三点的项目会改到四点”,系统找到对应 Schedule,展示时间变更候选,确认后修改。

  • 详细设计

    • 点击或长按语音按钮进入录音。

    • 录音中展示波形、转写文本、取消和完成操作。

    • 支持文字编辑转写结果。

    • 查询操作直接展示。

    • 创建、修改和删除操作生成候选。

    • 参数不足时仅追问当前操作必需参数。

    • 对象不唯一时展示候选对象。

    • 删除必须强确认。

    • 不设置“语音记录”“语音笔记”等其他入口。

6.5 日程模块

  • 功能:支持 Schedule 的创建、查询、修改、删除和详情查看;Schedule 必须具有完整开始时间和结束时间,可以绑定 Place 和多个 Reminder。

  • 满足价值:用户可以管理会议、预约、上课、出行和其他明确占用时间的安排。

  • 典型场景:用户创建“明天下午三点到四点项目会议”,并设置提前十分钟提醒。

  • 详细设计

    • 必填:标题、开始时间、结束时间。

    • 可选:地点、备注、全天状态、提醒。

    • 创建时检查时间是否合法。

    • 存在冲突时提示,但第一版不自动调整。

    • 修改时间后,关联时间提醒需要重新计算和注册。

    • 删除 Schedule 时取消全部 Reminder。

6.6 待办模块

  • 功能:支持 Todo 的创建、查询、修改、删除、完成和恢复;Todo 可以设置计划日期、截止时间、地点和多个 Reminder。

  • 满足价值:用户能够管理不一定占用明确时间段、但需要完成的事项。

  • 典型场景:用户说“周五前提交产品设计报告”,系统生成 Todo 候选。

  • 详细设计

    • 必填:标题、完成状态。

    • 可选:计划日期、截止时间、地点、优先级、备注和提醒。

    • 有计划日期的 Todo 显示在对应日期下。

    • 未指定日期的 Todo 不强行归入某一天。

    • 完成 Todo 不自动删除 Reminder Execution 历史。

    • 完成后未触发 Reminder 应取消。

    • Todo 恢复未完成时,由用户决定是否恢复提醒。

6.7 时间提醒

  • 功能:为 Schedule 或 Todo 创建基于具体时间的 Reminder,支持开始时、截止时、提前若干分钟和自定义时间。

  • 满足价值:覆盖常规会议、预约、截止任务等提醒场景。

  • 典型场景:项目会议开始前十分钟收到通知。

  • 详细设计

    • Reminder 类型为 TIME

    • 后端保存统一时间和用户时区。

    • 客户端同步后注册本地通知。

    • 修改事项时间时旧通知必须取消。

    • 时间已经过去时不注册无效提醒。

    • 通知点击进入对应事项详情。

    • 无网络时,已经注册的本地提醒仍可执行。

6.8 到达地点提醒

  • 功能:为 Schedule 或 Todo 创建进入指定 Place 时触发的 Reminder;客户端使用系统地理围栏执行。

  • 满足价值:让提醒在用户实际到达执行场所时出现。

  • 典型场景:用户明天进入公司 200 米范围时收到“记得打卡”提醒。

  • 详细设计

    • Reminder 类型为 LOCATION_ENTER

    • 必须绑定 Place。

    • 必须包含半径、生效时间、失效时间和触发次数。

    • 默认半径 200 米。

    • 默认只提醒一次。

    • 用户确认后后端保存规则。

    • 客户端注册系统地理围栏。

    • 触发后显示本地通知并上报状态。

    • 不上传连续位置轨迹。

    • 系统延迟或定位误差需要在产品中明确说明。

    • 用户已在围栏内部时,不承诺注册后立即触发。

6.9 常用地点

  • 功能:在设置中管理公司、家、学校等 Place;支持地图搜索、当前位置、拖动确认、编辑和删除。

  • 满足价值:用户只需第一次确认地点,后续即可通过“公司”“家”等自然语言快速创建提醒。

  • 典型场景:用户第一次说“到公司提醒我”,系统未找到公司地点,引导用户在地图中确认并保存。

  • 详细设计

    • Place 包含名称、地址、经纬度和默认半径。

    • 名称允许重复,但语音匹配必须唯一。

    • 删除 Place 时展示关联 Reminder。

    • 地点坐标只能由用户确认,不由 AI 静默猜测。

    • Place 不保存实时位置和轨迹。

6.10 提醒同步与执行状态

  • 功能:同步后端 Reminder 与当前设备上的本地通知或地理围栏,记录注册、触发、失败、取消和过期状态。

  • 满足价值:用户能够知道提醒是否真正生效,并避免修改后旧规则继续触发。

  • 典型场景:用户把会议从三点改到四点,客户端取消原三点通知并注册新的三点五十分通知。

  • 详细设计

    • 每个 Reminder 具有版本号。

    • 客户端按版本删除旧注册并创建新注册。

    • App 启动或恢复前台时执行一致性检查。

    • 权限变化后重新同步失败规则。

    • 设备重启后按平台能力恢复。

    • 注册失败不回滚事项。

    • 用户可以看到 pending_sync、active 和 failed 状态。

6.11 设置、权限与隐私

  • 功能:右上角设置入口承载常用地点、默认提醒、麦克风权限、通知权限、定位权限和隐私选项。

  • 满足价值:低频配置不干扰主页面,同时权限状态清晰可见。

  • 典型场景:用户发现公司提醒未生效,进入设置查看后台定位权限并跳转系统设置。

  • 详细设计

    • 权限按使用场景申请。

    • 首次语音输入时申请麦克风。

    • 首次创建提醒时申请通知。

    • 首次创建地点提醒时申请定位。

    • 权限拒绝后提供降级能力。

    • 默认不保存连续位置。

    • 原始音频保存策略需要明确。

    • 用户可以删除保存的地点和语音数据。

7. 全局基本概念与信息结构

7.1 基本概念总览

概念 定义 作用 边界
Home 产品唯一一级页面 展示月历和日期事项 不作为聊天页面
Selected Date 当前用户选中的日期 决定下方展示内容 不改变事项本身
Schedule 有完整起止时间的安排 表示明确时间占用 必须有开始和结束时间
Todo 需要完成的事项 表示完成型任务 时间和截止可选
Place 用户确认的地点 支持地点提醒复用 不表示实时位置
Reminder 绑定事项的提醒规则 描述时间或地点触发条件 不改变事项状态
Voice Command 一次语音或文字请求 承载查询或操作意图 转写文本不等于业务事实
Operation Candidate 待用户确认的写操作 防止 AI 直接写入 未确认不得落库
Reminder Registration 设备上的系统提醒注册 实际执行通知或围栏 与后端规则可能短暂不同步
Reminder Execution 提醒执行记录 追踪状态和排错 不保存连续轨迹
Device 当前移动设备 执行本地提醒 P0 不做多设备去重

7.2 对象关系

User
├─ Device
├─ Place
├─ Schedule
│  └─ Reminder
├─ Todo
│  └─ Reminder
├─ Voice Command
├─ Operation Candidate
└─ Reminder Execution

约束:

  • Reminder 必须且只能绑定一个 Schedule 或 Todo。

  • 一个 Schedule 或 Todo 可以绑定零个或多个 Reminder。

  • LOCATION_ENTER Reminder 必须绑定 Place。

  • TIME Reminder 不要求绑定 Place。

  • Reminder Execution 必须关联原 Reminder 和执行 Device。

  • 删除事项时取消其全部 Reminder。

  • 删除 Place 前必须处理关联地点提醒。

  • Operation Candidate 未确认时不能改变正式业务对象。

7.3 Schedule 与 Todo

对比项 Schedule Todo
核心语义 某段时间发生什么 有一件事需要完成
开始时间 必须 可选
结束时间 必须 可选
计划日期 由开始时间决定 可选
截止时间 通常不需要 可选
完成状态 P0 不强调 未完成、已完成
首页展示 对应日期必然展示 有计划日期时展示
时间提醒 支持 支持
地点提醒 支持 支持
典型对象 会议、上课、预约 提交报告、买药、购物

7.4 Reminder 类型

对比项 TIME LOCATION_ENTER
触发条件 到达具体时间 进入指定地理围栏
执行方 移动端操作系统 移动端操作系统
是否依赖 Place
是否需要定位权限
有效时间 由 trigger_at 决定 必须有 active_from 和 expires_at
默认触发次数 一次 一次
无网络时 已注册可执行 已注册可执行
典型场景 会议提前十分钟 到公司提醒打卡

7.5 首页信息结构

页面区域 承载内容 作用 说明
顶部月份 当前年份和月份 表达当前日历范围 支持切换和返回今天
设置按钮 地点、权限、默认提醒、隐私 低频配置入口 位于右上角
月视图 日期和事项标记 选择日期、查看整月密度 首页主体
日期事项区 Schedule 和 Todo 查看所选日期具体内容 日期变化后联动
语音按钮 语音 CRUD 和查询 唯一智能操作入口 固定在底部中央

7.6 跨模块全局能力

能力 出现位置 作用 说明
手动 CRUD 事项列表和详情 AI 不可用时兜底 调用同一确定性业务能力
语音 CRUD 底部语音按钮 查询和管理事项 写操作需要确认
日期联动 月历和事项列表 更新当前查看范围 不改变业务数据
提醒配置 语音候选、事项详情 创建 TIME 或 LOCATION_ENTER 一个事项可有多个规则
地点管理 设置、地点提醒流程 保存和复用 Place 坐标必须确认
权限诊断 设置、提醒失败提示 修复麦克风、通知和定位问题 权限按需申请
提醒同步 客户端全局能力 保持后端规则与设备注册一致 启动和变化时校验
状态追踪 事项详情、设置 展示提醒是否生效 失败不回滚事项

8. 验收标准

8.1 统一用例

统一用例:

用户需要在一个工作日内管理以下事项:

  1. 明天早上八点到公司打卡,到达公司时提醒。

  2. 明天下午三点到四点参加项目会议,提前十分钟提醒。

  3. 明天提交产品设计报告。

  4. 购买办公用品。

  5. 将项目会议改到下午四点。

  6. 查询明天全部安排。

  7. 完成“提交产品设计报告”待办。

  8. 删除“购买办公用品”。

说明:信息结构通过单页原型验证;语音 CRUD、时间提醒、地点提醒、权限和同步通过统一用例实测。

统一输入:

输入项 内容
首页 当前月份月历,默认选中今天
Schedule 1 明天 08:00 到公司打卡
Place 公司,地图确认,半径 200 米
地点提醒 明天 06:00—10:00 进入公司时提醒一次
Schedule 2 明天 15:00—16:00 项目会议
时间提醒 提前十分钟
Todo 1 明天提交产品设计报告
Todo 2 明天购买办公用品
修改 项目会议改到 16:00—17:00
查询 明天有什么安排
完成 完成提交产品设计报告
删除 删除购买办公用品
验证目标 单页首页、日期联动、语音 CRUD、时间提醒、地点提醒、权限和同步

现状:

  • 用户需要分别进入日历和待办页面。

  • 用户需要填写多个字段。

  • 用户难以在一个页面查看某一天全部事项。

  • “到公司提醒”难以通过固定时间表达。

  • 修改事项后需要人工检查旧提醒。

  • 语音助手通常只支持部分创建能力。

提议后形态:

验收项 通过标准 说明
全流程 ≥4/8 用户无需讲解完成“查看→语音创建→提醒→修改→完成→删除” 主链可运行
单页首页 ≥6/8 能理解月份、月历、日期事项、设置和语音按钮 信息结构可理解
日期选择 点击日期后正确更新日程与待办 查看逻辑稳定
无底部 Tab 首页不存在额外一级导航 保持单页心智
单一语音入口 只存在底部中央一个语音按钮 统一操作入口
语音创建 正确生成 Schedule 或 Todo 候选 捕获有效
语音查询 查询结果与数据库事实一致 查询可信
语音修改 正确定位对象并展示前后变化 修改可控
语音删除 未确认前不删除 高风险边界
时间提醒 正确注册本地通知 基础提醒有效
地点提醒 正确注册公司地理围栏 差异化能力有效
多提醒规则 同一事项可同时绑定多个 Reminder 模型可扩展
提醒同步 修改和删除后旧规则失效 生命周期一致
权限降级 拒绝定位后普通功能和时间提醒继续使用 核心不中断
AI 故障 手动 CRUD 继续可用 AI 非单点
隐私 不上传连续位置轨迹 权限边界明确
可追踪性 写入、同步和执行可通过对象 ID 与版本关联 问题可排查

边界与非法情况:

场景 系统必须如何处理
Schedule 没有完整起止时间 不允许创建正式 Schedule
Todo 没有计划日期 允许创建,但不强行显示在某天
时间表达存在歧义 生成明确候选供确认
修改对象不唯一 要求选择
删除对象不唯一 不执行删除
Place 未保存 要求地图确认
Place 有多个同名地点 要求选择
通知权限拒绝 保存事项,Reminder 标记失败
定位权限拒绝 地点提醒不可用,可改为时间提醒
提醒规则未同步 显示 pending_sync
事项改期 取消旧注册并注册新规则
事项删除 取消全部关联 Reminder
Place 删除 展示并处理关联地点提醒
用户已在围栏内 不承诺注册后立即触发
位置事件延迟 不承诺精确到秒
AI 服务不可用 手动 CRUD 继续
网络中断 已注册本地提醒继续
本期不验收 多 Tab、语音笔记、Goal、自动排期、重排、复盘、团队协作、第三方日历和多设备去重

8.2 分模块验收标准

模块 验收标准 详细设计
单页首页信息架构 首页只包含月份、设置、月历、日期事项和单一语音按钮 单页首页模块
月历与日期选择 正确展示月份、星期、日期、选中状态和事项标记 月历模块
日程与待办展示 所选日期下同时展示 Schedule 和 Todo,排序正确 日期事项模块
语音入口与输入确认 单一语音按钮、语音转写、参数补全、对象定位、候选确认 语音输入模块
Schedule 支持手动和语音 CRUD,正式对象具有完整起止时间 日程模块
Todo 支持 CRUD、完成和恢复,计划日期和截止时间可选 待办模块
TIME Reminder 支持开始、截止、提前和自定义时间提醒 时间提醒模块
LOCATION_ENTER Reminder 支持进入一个确认 Place 时提醒一次 地点提醒模块
Place 支持地图搜索、当前位置、坐标确认和常用地点管理 常用地点模块
提醒同步 新建、修改和删除后设备注册与后端规则一致 提醒同步模块
提醒状态 展示 pending_sync、active、triggered、failed、cancelled、expired 状态模块
设置与权限 右上角入口可查看和管理权限、地点和默认提醒 设置模块
权限降级 麦克风、通知或定位拒绝后有明确替代路径 权限模块
隐私 不保存或上传连续位置轨迹 隐私模块
手动兜底 AI 或 ASR 不可用时手动 CRUD 正常工作 全局业务能力
数据边界 AI 不直接写库,确认后调用确定性业务能力 Agent 与业务边界
可追踪性 请求、候选、业务对象和提醒版本可关联 日志与确认边界

8.3 用户理解验收

用户需要能回答的问题 通过标准
TimeFlow 和普通日历有什么区别? ≥4/8 能说出语音 CRUD 或地点提醒
打开应用后首先看到什么? ≥6/8 能说出月历和当天事项
如何查看其他日期? ≥6/8 知道点击月历日期
日程和待办显示在哪里? ≥6/8 知道位于月历下方
如何使用 AI? ≥6/8 能找到底部中央语音按钮
是否有语音记录或语音笔记? 8/8 知道没有这些独立功能
AI 会不会直接修改日程? 8/8 知道写操作需要确认
到公司提醒如何工作? ≥6/8 知道需要保存公司地点和定位权限
App 是否持续记录位置? ≥6/8 知道不保存连续轨迹
拒绝定位后还能用吗? ≥6/8 知道月历、CRUD 和时间提醒仍可用
日程改期后旧提醒怎么办? ≥4/8 知道系统会取消旧规则
地点提醒是否保证精确到秒? ≥6/8 理解可能受系统和定位环境影响

8.4 数据指标验收

指标用于不少于 30 名真实试用用户;5—8 人原型测试只报告完成情况和失败原因。

指标 目标值 说明
首页日期查看成功率 ≥95% 用户正确选择日期并看到对应事项
语音输入到候选完成率 ≥70% 从开始语音到生成有效候选
标准意图识别准确率 ≥90% 标准 CRUD 和提醒表达
语音 CRUD 任务成功率 ≥85% 用户最终完成目标操作
查询事实一致率 100% 查询结果与数据库一致
未确认写入率 0 未确认不得改变业务事实
错误对象修改率 ≤2% 修改不作用于错误对象
时间提醒注册成功率 ≥95% 权限和系统能力正常设备
时间提醒受控触发率 ≥95% 测试环境中的有效规则
地理围栏注册成功率 ≥90% 权限和设备能力正常
地点提醒受控触发率 ≥85% 考虑平台与定位环境
重复地点提醒率 ≤5% 一次性规则不应反复提醒
过期地点提醒误触发率 0 超出有效期不得触发
提醒更新一致率 ≥95% 修改后旧规则正确失效
提醒删除一致率 ≥95% 删除事项后旧规则不触发
提醒失败可见率 100% 注册失败必须显示
手动兜底成功率 ≥95% AI 不可用时完成 CRUD
连续位置轨迹上传量 0 P0 不上传连续轨迹
核心价值识别率 ≥60% 用户能说明单页月历、语音或地点提醒价值

8.5 不通过时的收缩路径

失败信号 可能原因 收缩方案
用户看不懂单页结构 月历和事项区层级不清 强化日期标题和分组视觉
月历下方内容过多 同一天事项数量高 增加折叠和查看全部
用户很少使用语音 转写慢、候选不准、确认负担高 先聚焦创建和查询
语音修改错误率高 对象定位复杂 强制对象选择和前后值确认
语音删除风险高 同名对象过多 删除主要保留手动入口
候选确认完成率低 卡片字段太多 只展示标题、时间、地点和提醒
地点权限授权率低 用户不理解用途 地点提醒降级为可选实验能力
地点提醒误触发高 半径过大或时间窗口过长 缩小半径并缩短有效期
地点提醒漏触发高 系统限制或定位环境较差 建议同时设置时间提醒
修改后旧规则仍触发 版本同步不可靠 App 启动时全量比对并重建
React Native 地理围栏不稳定 跨平台封装能力不足 关键部分使用原生模块
AI 延迟或成本过高 所有输入都依赖大模型 常见时间表达使用确定性解析优先
第一版范围仍然过大 双端、完整 CRUD 和地点能力并行 Android 优先,先完成创建、查询和两类提醒

Clone this wiki locally