-
Notifications
You must be signed in to change notification settings - Fork 6
New Product Design Report
TimeFlow 是一款以语音为主要操作方式的个人日程与待办管理产品。客户端采用单一首页结构:页面顶部展示当前月份,右上角提供设置入口;页面中部展示实体月历;用户选择某一天后,月历下方统一展示该日期对应的日程与待办;页面底部中央只有一个语音输入按钮,用于完成日程、待办和提醒规则的创建、查询、修改与删除。
TimeFlow 不是普通日历,也不是单纯的语音转文字工具,更不是持续采集用户位置的定位软件。它解决的核心问题是:
用户需要通过最少的操作快速记录、查询和调整日程与待办,并在真正需要执行事项的时间或地点收到提醒;同时,AI 不能未经用户确认直接修改业务事实。
与普通日历、待办和语音助手相比,TimeFlow 的关键差异有五个:
-
单页完成查看:用户进入应用后直接看到月历,点击日期即可查看当日日程和待办,不需要在多个 Tab 之间切换。
-
语音是统一操作入口:用户通过底部中央的语音按钮完成日程、待办和提醒规则的 CRUD,不需要理解复杂表单和功能入口。
-
日程与待办统一按日期展示:Schedule 和 Todo 保留业务区别,但在选中日期下统一展示。
-
提醒不仅依赖时间:除固定时间提醒外,支持用户进入指定地点时触发提醒。
-
业务事实写入必须确认:AI 只负责意图识别、参数提取和生成候选,创建、修改、删除等写操作经用户确认后才落库。
例如用户说:
明天早上八点到公司打卡,到了公司提醒我。
系统需要生成以下操作候选:
-
创建一个明天早上八点的 Schedule。
-
标题为“到公司打卡”。
-
地点关联用户已保存并确认的“公司”。
-
创建一条进入公司地理围栏时触发的 Reminder。
-
地点提醒具有明确生效时间、失效时间和触发次数。
-
用户确认后才创建日程和提醒规则。
本期产品判断是:第一版不建设完整智能时间管理平台,而是验证以下闭环是否成立:
单页月历查看
→ 选择日期查看日程和待办
→ 语音输入
→ 意图与参数解析
→ 用户确认
→ Schedule / Todo / Reminder 落库
→ 客户端同步提醒
→ 时间或地点条件满足
→ 客户端触发通知
现有日历和待办产品已经能够完成基础记录、查询和时间提醒,但用户通常仍需先判断应该进入日历还是待办页面,再手动填写标题、日期、开始时间、结束时间、地点和提醒方式。
这种方式在桌面场景中可以接受,但在以下场景中操作成本较高:
-
通勤途中临时想到一件事。
-
开会过程中需要快速记录后续事项。
-
用户正在走路、做饭或整理物品。
-
用户只想快速查询某一天的安排。
-
用户需要修改已有事项,但不记得它位于哪个页面。
-
用户希望到达某个地点后再收到提醒。
传统时间提醒也无法覆盖所有执行场景。例如“到公司提醒打卡”“到超市提醒买药”,真正有价值的触发条件不是某个固定时间,而是用户进入了指定地点。
这指向三个产品机会:
-
用单页月历降低查看日程与待办的入口成本。
-
用语音降低创建、查询、修改和删除事项的操作成本。
-
用地点提醒提升提醒与现实执行场景的相关性。
TimeFlow 按行为条件而非身份标签定义本期目标用户:
-
日常需要管理多个日程或待办。
-
经常产生临时记录或修改需求。
-
不愿意频繁填写复杂表单。
-
经常在移动状态下操作手机。
-
有公司、家、学校、健身房或商场等稳定地点。
-
希望 AI 降低操作成本,但不希望 AI 未经确认修改数据。
| 用户类型 | 典型场景 | 主要痛点 | 本期匹配能力 |
|---|---|---|---|
| 职场用户 | 打卡、会议、提交报告、联系客户 | 临时事项多,手动录入步骤多 | 语音 CRUD、时间提醒、公司地点提醒 |
| 学生 | 上课、作业、考试、图书馆学习 | 日程和待办混合,容易遗忘 | 单页月历、待办管理、学校地点提醒 |
| 日常生活用户 | 买药、购物、取快递、缴费 | 事项需要在特定地点执行 | 到达地点提醒、待办管理 |
| 高频出行用户 | 到公司、客户现场、车站 | 移动中不方便操作表单 | 语音输入、地点提醒 |
| 普通日历用户 | 查看每天安排、临时改期 | 查询和修改入口分散 | 日期选择、日程待办统一展示 |
本期核心成功判据以“高频记录需求 + 移动使用场景 + 稳定地点提醒需求”的用户为主。
| 场景小故事 | 功能 | 价值 | 模块 | 对应人群 |
|---|---|---|---|---|
| 我打开应用直接看到本月日历 | 单页月历 | 无需寻找日历入口 | 首页/月历 | 全部 |
| 我点击 7 月 27 日,下方立即展示当天日程和待办 | 日期联动 | 一处看清当天安排 | 首页/事项列表 | 全部 |
| 我点击底部语音按钮说“明天下午三点开项目会” | 语音创建 Schedule | 不必填写完整表单 | 语音输入/日程 | 全部 |
| 我说“明天有什么安排” | 语音查询 | 快速查看指定日期内容 | 语音输入/查询 | 全部 |
| 我说“把明天的项目会改到四点” | 语音修改 | 降低修改成本 | 语音输入/日程 | 全部 |
| 我说“取消明天的项目会” | 语音删除 | 快速清理安排,删除前仍可确认 | 语音输入/确认 | 全部 |
| 我说“周五前提交产品设计报告” | 语音创建 Todo | 自然语言直接转成待办 | 语音输入/待办 | 全部 |
| 我在待办列表中勾选“提交产品设计报告” | 完成 Todo | 高频操作无需进入详情页 | 待办列表 | 全部 |
| 我给项目会议设置提前十分钟提醒 | 时间提醒 | 在事项开始前提醒 | Reminder | 全部 |
| 我说“明天到公司提醒我打卡” | 到达地点提醒 | 在真正到达公司时提醒 | Reminder/Place | 职场用户 |
| 我给一个事项同时设置时间和地点提醒 | 多提醒规则 | 提高关键事项触达概率 | Reminder | 全部 |
| 我拒绝定位权限 | 权限降级 | 普通日历和时间提醒仍然可用 | 权限管理 | 全部 |
| 我修改或删除事项 | 提醒同步 | 旧通知和旧地理围栏自动失效 | 提醒执行 | 全部 |
| 我点击右上角设置 | 设置入口 | 管理常用地点、权限和默认提醒 | 设置 | 全部 |
| 痛点 | 具体表现 | 调研/设计依据 | 对应人群 |
|---|---|---|---|
| 查看入口复杂 | 日历、待办和提醒位于不同页面 | 单页信息架构设计判断 | 全部 |
| 录入步骤多 | 用户需要填写多个字段 | 高频移动场景操作审查 | 全部 |
| 日程与待办割裂 | 用户难以一次看清某天全部事项 | 日期任务场景分析 | 全部 |
| 自然语言存在歧义 | “明天下午”“公司”“晚点”等信息不完整 | AI 输入的不确定性 | 全部 |
| AI 误操作风险 | ASR 或语义识别错误可能写入错误事项 | 用户控制与可信边界 | 全部 |
| 固定时间提醒不符合实际时机 | 到点时用户可能尚未到达执行地点 | 地点型任务场景 | 移动用户 |
| 地点名称不能直接执行 | “公司”可能没有坐标或存在多个地点 | 地点实体设计 | 地点提醒用户 |
| 定位权限敏感 | 用户担心应用持续追踪 | 隐私与权限边界 | 全部 |
| 修改后旧提醒残留 | 日程改期后旧通知仍可能触发 | 提醒生命周期设计 | 全部 |
| 网络或 AI 故障 | 语音能力不可用时影响基本使用 | 核心功能稳定性要求 | 全部 |
一句话价值主张:
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[通知与定位权限]
核心链路:
打开应用
→ 默认选中今天
→ 月历下方展示今天的日程和待办
→ 用户选择其他日期时更新事项列表
→ 用户点击底部语音按钮
→ 语音转写和意图解析
→ 参数不足时进行必要追问
→ 查询操作直接展示结果
→ 写操作生成候选
→ 用户确认
→ 调用确定性业务能力落库
→ 客户端同步 Reminder
→ 注册本地通知或系统地理围栏
→ 条件满足后触发本地通知
| 五个流程 | 市面上常见解决方案总结 |
|---|---|
| 捕获 | 手动表单、自然语言文字输入、语音输入、快捷指令、邮件或聊天内容转任务 |
| 组织 | 日历、清单、项目、标签、优先级、分类、日期和地点 |
| 查看 | 月视图、周视图、日视图、待办列表、搜索 |
| 提醒 | 固定时间、提前若干分钟、重复提醒、到达或离开地点提醒 |
| 调整 | 表单编辑、拖拽改期、自然语言修改、批量操作 |
| 流程环节 | 市场格局与代表方案 | 主要结论 |
|---|---|---|
| 捕获 | 传统日历依赖表单,部分产品支持自然语言或语音创建 | 捕获能力已较成熟,关键差异是能否覆盖完整 CRUD 和确认边界 |
| 组织 | 日历强调时间,待办强调完成状态 | 对象可以分开,但用户查看某天时需要统一呈现 |
| 查看 | 多数产品提供月、周、日和列表视图 | 第一版不需要堆叠多个视图,月历加日期事项区即可验证核心需求 |
| 提醒 | 固定时间提醒成熟,地点提醒通常不是主流程 | 地点提醒与 Schedule/Todo 统一绑定仍有产品机会 |
| AI 操作 | 部分产品只支持创建,修改和删除仍需手动 | TimeFlow 应覆盖查询、创建、修改、删除和提醒配置 |
| 用户控制 | AI 直接写入可以减少步骤,但误操作风险高 | 候选确认是语音 CRUD 的必要边界 |
| 信息架构 | 日历、待办、AI 常被拆成多个一级页面 | TimeFlow 使用单页月历和一个语音按钮,降低入口负担 |
| 市场空缺 | 用户需求 | 竞品不足 | 数据/设计支撑 | TimeFlow 机会 |
|---|---|---|---|---|
| 日程和待办查看割裂 | 用户希望一次查看某天全部事项 | 经常需要在日历和待办页面切换 | 单页原型和任务流程验证 | 点击日期后统一展示 Schedule 和 Todo |
| 语音只负责创建 | 用户还需要查询、修改和删除 | 创建后仍需手动维护 | 完整 CRUD 用户故事 | 单一语音入口覆盖完整 CRUD |
| AI 写入缺少控制 | 用户担心识别错误 | 直接写入不透明 | 可信 AI 设计边界 | 写操作生成候选并确认 |
| 提醒主要依赖时间 | 部分事项只有到达地点后才需要提醒 | 固定时间与现实执行时机不一致 | 打卡、购物、取件场景 | 支持 LOCATION_ENTER Reminder |
| 地点提醒与事项割裂 | 用户无法明确知道提醒属于哪个事项 | 地点提醒常作为独立提醒文本 | 数据对象关系设计 | Reminder 绑定 Schedule 或 Todo |
| 定位权限说明不清 | 用户担心连续轨迹被采集 | 权限范围不透明 | 隐私设计要求 | 不保存连续轨迹,仅处理必要围栏事件 |
| 提醒失败不可见 | 用户不知道提醒是否真正生效 | 通知注册状态不透明 | 可靠性要求 | 展示 pending_sync、active、failed 等状态 |
| 节点 | 深度 | 本期做法 | 理由 |
|---|---|---|---|
| 捕获/交互 | 深耕核心 | 单一语音按钮、语音转写、CRUD 意图识别、参数追问和确认 | 验证低摩擦输入价值 |
| 组织/展示 | 基础但完整 | 单页月历、日期选择、日程和待办统一展示 | 用最少页面承载主流程 |
| 日程/待办管理 | 基础但完整 | Schedule/Todo 手动和语音 CRUD | 保证产品独立可用 |
| 时间提醒 | 完整实现 | 开始、截止、提前和自定义时间提醒 | 提供基础可靠提醒 |
| 地点提醒 | 深耕差异化 | 进入保存地点时提醒,有效时间与一次性触发 | 验证场景提醒价值 |
| 权限与降级 | 完整实现 | 通知、定位和麦克风按需申请;失败可见 | 避免权限成为单点 |
| 多端与外部集成 | 不投入 | 当前设备执行提醒,不接第三方日历 | 控制第一版工程范围 |
| 智能排期与复盘 | 不投入 | 不做 Goal、Task 自动排期、重排和复盘 | 聚焦日历与提醒闭环 |
单页首页主链:
用户打开应用 → 默认选中今天并展示本月月历 → 下方同时展示今天的 Schedule 和 Todo → 用户点击其他日期后更新下方内容 → 用户可以点击事项手动查看或编辑 → 用户点击底部语音按钮完成查询或 CRUD → 写操作确认后落库 → 月历和事项列表同步刷新。
语音 CRUD 闭环:
用户点击底部语音按钮并说出需求 → 客户端完成语音转写 → 后端识别对象、意图、时间、地点和提醒参数 → 必要参数不足时进行最少量追问 → 查询操作直接返回 → 创建、修改和删除生成结构化候选 → 用户确认 → 调用确定性业务接口写入 Schedule、Todo、Place 或 Reminder。
时间提醒闭环:
用户通过语音或事项详情为 Schedule/Todo 设置提醒 → 后端保存 Reminder → 客户端同步规则 → 注册本地通知 → 条件满足时显示系统通知 → 客户端上报提醒执行结果。
地点提醒闭环:
用户选择或创建 Place → 为 Schedule/Todo 创建 LOCATION_ENTER Reminder → 用户确认地点、半径、生效时间、失效时间和触发次数 → 后端保存规则 → 客户端注册系统地理围栏 → 用户进入地点范围 → 客户端显示本地通知 → 一次性提醒转为 triggered。
设置闭环:
用户点击首页右上角设置按钮 → 管理常用地点、默认提醒偏好、通知权限、定位权限和隐私设置 → 设置变化后重新校验或同步相关 Reminder。
| 不做事项 | 理由 | 依据 |
|---|---|---|
| 底部多 Tab 导航 | 第一版主流程可以由单页首页承载 | 减少信息架构复杂度 |
| 独立 AI 页面或聊天首页 | 语音是快捷操作方式,不替代日历主界面 | 产品定位 |
| 语音记录和语音笔记 | 与日程管理主链无关 | 产品减法 |
| Goal、Task 和长期目标拆解 | 不属于当前版本核心问题 | 范围调整 |
| 自动排期与智能重排 | 工程和产品复杂度高 | 第一版资源约束 |
| Feedback 和即时复盘 | 当前先验证记录、查看和提醒 | 验证顺序 |
| 自动读取聊天、邮件和图片 | 接入与隐私风险高 | 工程和权限边界 |
| 第三方日历同步 | 非当前差异化重点 | 工程范围 |
| 离开地点和停留地点提醒 | 第一版先验证进入地点提醒 | 提醒范围 |
| 多地点或复杂条件组合 | 规则引擎复杂度高 | MVP 约束 |
| 天气、交通和设备状态提醒 | 依赖外部数据和更多权限 | MVP 约束 |
| 服务端持续获取位置 | 耗电、隐私和后台运行风险高 | 技术与隐私边界 |
| 连续位置轨迹 | 地点提醒不需要完整轨迹 | 最小数据原则 |
| 团队日历与多人协作 | 引入权限和共享语义 | 用户定位 |
| Web 与桌面端 | 第一版聚焦移动端 | 工程范围 |
| 多设备提醒去重 | 当前设备即可验证提醒价值 | 工程范围 |
| 服务端实时推送提醒 | 时间和地点提醒由客户端本地执行 | 本地提醒边界 |
| 能力 | 状态 | 本期关系 |
|---|---|---|
| 周视图和日视图 | P1 | 月视图验证后补充更细时间展示 |
| 未指定日期待办列表 | P1 | 补充没有 planned_date 的 Todo 管理 |
| LOCATION_EXIT | P1 | 扩展地点提醒触发类型 |
| LOCATION_DWELL | P1 | 支持停留一定时间后提醒 |
| 重复地点提醒 | P1 | 工作日或周期性场景 |
| 地点与时间组合规则 | P1 | 在规则模型上扩展 |
| 智能推荐提醒方式 | P1 | AI 只给建议,仍需确认 |
| 系统日历同步 | P2 | 需要独立同步和冲突方案 |
| 天气提醒 | P2 | 接入天气条件 |
| 交通时间提醒 | P2 | 接入路线和预计到达时间 |
| 蓝牙/Wi-Fi 状态提醒 | P2 | 扩展场景感知能力 |
| 多设备同步与去重 | 后续 Proposal | 需要统一执行权和状态同步 |
| 智能排期和冲突调整 | 后续 Proposal | 需要单独产品和架构设计 |
-
用户首次打开应用,系统默认展示当前月份并选中今天。
-
月历下方展示今天的 Schedule 和 Todo。
-
用户可以点击其他日期,查看对应日期的日程和待办。
-
用户点击日程或待办进入详情页,完成手动查看和编辑。
-
用户点击底部中央语音按钮,通过语音表达查询或操作意图。
-
客户端将语音转为文字;麦克风或 ASR 不可用时允许文字输入。
-
主 Agent 识别操作对象、CRUD 意图、时间、地点和提醒参数。
-
参数不足或对象不唯一时,主 Agent 在调用写能力前进行追问或要求选择。
-
查询操作直接读取事实并展示结果。
-
创建、修改和删除操作生成候选卡。
-
用户确认后,主 Agent 调用确定性业务能力写入。
-
首页月历和所选日期事项列表刷新。
-
创建或修改 Reminder 后,客户端同步最新规则。
-
时间提醒注册为本地通知。
-
地点提醒注册为系统地理围栏。
-
条件满足后,客户端显示通知。
-
用户点击通知进入对应 Schedule 或 Todo 详情。
-
客户端上报提醒注册、触发、失败、取消或过期状态。
-
事项修改或删除时,旧通知和旧地理围栏必须取消。
-
权限或系统能力失败时,不回滚业务事项,但提醒必须显示失败状态。
| # | 假设类型 | 核心假设 | 验证方式 | 通过标准 | 失败退路 |
|---|---|---|---|---|---|
| 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 名真实试用用户后统计。
功能边界:
-
平台:iOS/Android 手机端,Android 优先;客户端使用 React Native。
-
用户:单用户个人工具,不支持团队和多人协作。
-
语言:P0 仅支持中文。
-
一级结构:只有一个首页,不使用日程、AI、待办等底部 Tab。
-
首页:顶部月份、右上角设置、中部月历、下方日期事项区、底部中央语音按钮。
-
日历:P0 以月视图为主,不要求周视图和日视图。
-
Schedule:必须具有开始时间和结束时间。
-
Todo:可以具有计划日期、截止时间,也可以暂不指定日期。
-
首页只展示与所选日期有关的 Todo;未指定日期 Todo 的完整管理方式放后续或在设置/辅助入口中处理。
-
Reminder:必须绑定一个 Schedule 或 Todo。
-
一个事项可以绑定多个 Reminder。
-
P0 Reminder 类型只有
TIME和LOCATION_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 和已有提醒继续工作 |
| 网络不可用 | 已注册本地提醒继续执行,业务修改等待同步 |
| 提醒触发延迟 | 不展示虚假的精确触发承诺 |
| 决策点 | 备选方案 | 选择 | 理由 |
|---|---|---|---|
| 一级信息架构 | 多 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 支持 / 当前设备 | 当前设备 | 控制同步和去重复杂度 |
-
功能:一个首页承载月份、月历、所选日期、Schedule 列表、Todo 列表、设置入口和语音入口。用户进入应用后默认选中今天;点击其他日期时,下方事项区更新。
-
满足价值:用户无需理解多个 Tab,不需要分别寻找日历、待办或 AI 页面。
-
典型场景:用户进入应用后直接看到 7 月月历,点击 27 日,下方展示“08:00 到公司打卡”“15:00 项目会议”以及当天待办。
-
详细设计:首页顶部展示月份,右上角为设置按钮;中部展示完整月历;下方展示所选日期;底部中央固定单一语音按钮。
-
功能:展示当前月份、星期、日期、跨月灰色日期、今天状态、选中状态以及事项标记;支持左右切换月份和返回今天。
-
满足价值:用户可以快速理解整月安排密度,并通过选择日期查看具体内容。
-
典型场景:用户看到 27 日下方有蓝色和绿色标记,点击后查看日程和待办。
-
详细设计:
-
蓝色标记表示存在 Schedule。
-
绿色标记表示存在 Todo。
-
同时存在时展示多个标记。
-
选中日期使用明显背景高亮。
-
今天与选中日期需要能够同时表达。
-
日期标记不直接代表准确事项数量。
-
切换月份时默认保持合理选择;如果返回今天则自动切回当前月份。
-
-
功能:月历下方展示当前选中日期的 Schedule 和 Todo;Schedule 按开始时间排序;Todo 展示完成状态、截止信息和提醒状态。
-
满足价值:用户在一个页面中看清当天所有需要参加和完成的事情。
-
典型场景:7 月 27 日下方同时展示两条日程和两条待办。
-
详细设计:
-
顶部展示日期和星期。
-
日程和待办使用两个清晰分组。
-
日程显示时间、标题、地点和提醒标记。
-
Todo 显示勾选框、标题、截止时间和提醒标记。
-
点击勾选框可以直接完成 Todo。
-
点击事项主体进入详情。
-
当天无事项时展示空状态并提示使用语音按钮。
-
列表较长时允许纵向滚动,语音按钮保持固定。
-
-
功能:底部中央语音按钮是唯一语音入口,支持录音、语音转写、文字兜底、意图识别、参数补全、对象定位、候选展示和确认后写入。
-
满足价值:用户不用理解对象字段和页面结构,即可通过自然语言完成高频管理。
-
典型场景:用户说“把明天下午三点的项目会改到四点”,系统找到对应 Schedule,展示时间变更候选,确认后修改。
-
详细设计:
-
点击或长按语音按钮进入录音。
-
录音中展示波形、转写文本、取消和完成操作。
-
支持文字编辑转写结果。
-
查询操作直接展示。
-
创建、修改和删除操作生成候选。
-
参数不足时仅追问当前操作必需参数。
-
对象不唯一时展示候选对象。
-
删除必须强确认。
-
不设置“语音记录”“语音笔记”等其他入口。
-
-
功能:支持 Schedule 的创建、查询、修改、删除和详情查看;Schedule 必须具有完整开始时间和结束时间,可以绑定 Place 和多个 Reminder。
-
满足价值:用户可以管理会议、预约、上课、出行和其他明确占用时间的安排。
-
典型场景:用户创建“明天下午三点到四点项目会议”,并设置提前十分钟提醒。
-
详细设计:
-
必填:标题、开始时间、结束时间。
-
可选:地点、备注、全天状态、提醒。
-
创建时检查时间是否合法。
-
存在冲突时提示,但第一版不自动调整。
-
修改时间后,关联时间提醒需要重新计算和注册。
-
删除 Schedule 时取消全部 Reminder。
-
-
功能:支持 Todo 的创建、查询、修改、删除、完成和恢复;Todo 可以设置计划日期、截止时间、地点和多个 Reminder。
-
满足价值:用户能够管理不一定占用明确时间段、但需要完成的事项。
-
典型场景:用户说“周五前提交产品设计报告”,系统生成 Todo 候选。
-
详细设计:
-
必填:标题、完成状态。
-
可选:计划日期、截止时间、地点、优先级、备注和提醒。
-
有计划日期的 Todo 显示在对应日期下。
-
未指定日期的 Todo 不强行归入某一天。
-
完成 Todo 不自动删除 Reminder Execution 历史。
-
完成后未触发 Reminder 应取消。
-
Todo 恢复未完成时,由用户决定是否恢复提醒。
-
-
功能:为 Schedule 或 Todo 创建基于具体时间的 Reminder,支持开始时、截止时、提前若干分钟和自定义时间。
-
满足价值:覆盖常规会议、预约、截止任务等提醒场景。
-
典型场景:项目会议开始前十分钟收到通知。
-
详细设计:
-
Reminder 类型为
TIME。 -
后端保存统一时间和用户时区。
-
客户端同步后注册本地通知。
-
修改事项时间时旧通知必须取消。
-
时间已经过去时不注册无效提醒。
-
通知点击进入对应事项详情。
-
无网络时,已经注册的本地提醒仍可执行。
-
-
功能:为 Schedule 或 Todo 创建进入指定 Place 时触发的 Reminder;客户端使用系统地理围栏执行。
-
满足价值:让提醒在用户实际到达执行场所时出现。
-
典型场景:用户明天进入公司 200 米范围时收到“记得打卡”提醒。
-
详细设计:
-
Reminder 类型为
LOCATION_ENTER。 -
必须绑定 Place。
-
必须包含半径、生效时间、失效时间和触发次数。
-
默认半径 200 米。
-
默认只提醒一次。
-
用户确认后后端保存规则。
-
客户端注册系统地理围栏。
-
触发后显示本地通知并上报状态。
-
不上传连续位置轨迹。
-
系统延迟或定位误差需要在产品中明确说明。
-
用户已在围栏内部时,不承诺注册后立即触发。
-
-
功能:在设置中管理公司、家、学校等 Place;支持地图搜索、当前位置、拖动确认、编辑和删除。
-
满足价值:用户只需第一次确认地点,后续即可通过“公司”“家”等自然语言快速创建提醒。
-
典型场景:用户第一次说“到公司提醒我”,系统未找到公司地点,引导用户在地图中确认并保存。
-
详细设计:
-
Place 包含名称、地址、经纬度和默认半径。
-
名称允许重复,但语音匹配必须唯一。
-
删除 Place 时展示关联 Reminder。
-
地点坐标只能由用户确认,不由 AI 静默猜测。
-
Place 不保存实时位置和轨迹。
-
-
功能:同步后端 Reminder 与当前设备上的本地通知或地理围栏,记录注册、触发、失败、取消和过期状态。
-
满足价值:用户能够知道提醒是否真正生效,并避免修改后旧规则继续触发。
-
典型场景:用户把会议从三点改到四点,客户端取消原三点通知并注册新的三点五十分通知。
-
详细设计:
-
每个 Reminder 具有版本号。
-
客户端按版本删除旧注册并创建新注册。
-
App 启动或恢复前台时执行一致性检查。
-
权限变化后重新同步失败规则。
-
设备重启后按平台能力恢复。
-
注册失败不回滚事项。
-
用户可以看到 pending_sync、active 和 failed 状态。
-
-
功能:右上角设置入口承载常用地点、默认提醒、麦克风权限、通知权限、定位权限和隐私选项。
-
满足价值:低频配置不干扰主页面,同时权限状态清晰可见。
-
典型场景:用户发现公司提醒未生效,进入设置查看后台定位权限并跳转系统设置。
-
详细设计:
-
权限按使用场景申请。
-
首次语音输入时申请麦克风。
-
首次创建提醒时申请通知。
-
首次创建地点提醒时申请定位。
-
权限拒绝后提供降级能力。
-
默认不保存连续位置。
-
原始音频保存策略需要明确。
-
用户可以删除保存的地点和语音数据。
-
| 概念 | 定义 | 作用 | 边界 |
|---|---|---|---|
| Home | 产品唯一一级页面 | 展示月历和日期事项 | 不作为聊天页面 |
| Selected Date | 当前用户选中的日期 | 决定下方展示内容 | 不改变事项本身 |
| Schedule | 有完整起止时间的安排 | 表示明确时间占用 | 必须有开始和结束时间 |
| Todo | 需要完成的事项 | 表示完成型任务 | 时间和截止可选 |
| Place | 用户确认的地点 | 支持地点提醒复用 | 不表示实时位置 |
| Reminder | 绑定事项的提醒规则 | 描述时间或地点触发条件 | 不改变事项状态 |
| Voice Command | 一次语音或文字请求 | 承载查询或操作意图 | 转写文本不等于业务事实 |
| Operation Candidate | 待用户确认的写操作 | 防止 AI 直接写入 | 未确认不得落库 |
| Reminder Registration | 设备上的系统提醒注册 | 实际执行通知或围栏 | 与后端规则可能短暂不同步 |
| Reminder Execution | 提醒执行记录 | 追踪状态和排错 | 不保存连续轨迹 |
| Device | 当前移动设备 | 执行本地提醒 | P0 不做多设备去重 |
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 未确认时不能改变正式业务对象。
| 对比项 | Schedule | Todo |
|---|---|---|
| 核心语义 | 某段时间发生什么 | 有一件事需要完成 |
| 开始时间 | 必须 | 可选 |
| 结束时间 | 必须 | 可选 |
| 计划日期 | 由开始时间决定 | 可选 |
| 截止时间 | 通常不需要 | 可选 |
| 完成状态 | P0 不强调 | 未完成、已完成 |
| 首页展示 | 对应日期必然展示 | 有计划日期时展示 |
| 时间提醒 | 支持 | 支持 |
| 地点提醒 | 支持 | 支持 |
| 典型对象 | 会议、上课、预约 | 提交报告、买药、购物 |
| 对比项 | TIME | LOCATION_ENTER |
|---|---|---|
| 触发条件 | 到达具体时间 | 进入指定地理围栏 |
| 执行方 | 移动端操作系统 | 移动端操作系统 |
| 是否依赖 Place | 否 | 是 |
| 是否需要定位权限 | 否 | 是 |
| 有效时间 | 由 trigger_at 决定 | 必须有 active_from 和 expires_at |
| 默认触发次数 | 一次 | 一次 |
| 无网络时 | 已注册可执行 | 已注册可执行 |
| 典型场景 | 会议提前十分钟 | 到公司提醒打卡 |
| 页面区域 | 承载内容 | 作用 | 说明 |
|---|---|---|---|
| 顶部月份 | 当前年份和月份 | 表达当前日历范围 | 支持切换和返回今天 |
| 设置按钮 | 地点、权限、默认提醒、隐私 | 低频配置入口 | 位于右上角 |
| 月视图 | 日期和事项标记 | 选择日期、查看整月密度 | 首页主体 |
| 日期事项区 | Schedule 和 Todo | 查看所选日期具体内容 | 日期变化后联动 |
| 语音按钮 | 语音 CRUD 和查询 | 唯一智能操作入口 | 固定在底部中央 |
| 能力 | 出现位置 | 作用 | 说明 |
|---|---|---|---|
| 手动 CRUD | 事项列表和详情 | AI 不可用时兜底 | 调用同一确定性业务能力 |
| 语音 CRUD | 底部语音按钮 | 查询和管理事项 | 写操作需要确认 |
| 日期联动 | 月历和事项列表 | 更新当前查看范围 | 不改变业务数据 |
| 提醒配置 | 语音候选、事项详情 | 创建 TIME 或 LOCATION_ENTER | 一个事项可有多个规则 |
| 地点管理 | 设置、地点提醒流程 | 保存和复用 Place | 坐标必须确认 |
| 权限诊断 | 设置、提醒失败提示 | 修复麦克风、通知和定位问题 | 权限按需申请 |
| 提醒同步 | 客户端全局能力 | 保持后端规则与设备注册一致 | 启动和变化时校验 |
| 状态追踪 | 事项详情、设置 | 展示提醒是否生效 | 失败不回滚事项 |
统一用例:
用户需要在一个工作日内管理以下事项:
-
明天早上八点到公司打卡,到达公司时提醒。
-
明天下午三点到四点参加项目会议,提前十分钟提醒。
-
明天提交产品设计报告。
-
购买办公用品。
-
将项目会议改到下午四点。
-
查询明天全部安排。
-
完成“提交产品设计报告”待办。
-
删除“购买办公用品”。
说明:信息结构通过单页原型验证;语音 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、自动排期、重排、复盘、团队协作、第三方日历和多设备去重 |
| 模块 | 验收标准 | 详细设计 |
|---|---|---|
| 单页首页信息架构 | 首页只包含月份、设置、月历、日期事项和单一语音按钮 | 单页首页模块 |
| 月历与日期选择 | 正确展示月份、星期、日期、选中状态和事项标记 | 月历模块 |
| 日程与待办展示 | 所选日期下同时展示 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 与业务边界 |
| 可追踪性 | 请求、候选、业务对象和提醒版本可关联 | 日志与确认边界 |
| 用户需要能回答的问题 | 通过标准 |
|---|---|
| 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 理解可能受系统和定位环境影响 |
指标用于不少于 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% | 用户能说明单页月历、语音或地点提醒价值 |
| 失败信号 | 可能原因 | 收缩方案 |
|---|---|---|
| 用户看不懂单页结构 | 月历和事项区层级不清 | 强化日期标题和分组视觉 |
| 月历下方内容过多 | 同一天事项数量高 | 增加折叠和查看全部 |
| 用户很少使用语音 | 转写慢、候选不准、确认负担高 | 先聚焦创建和查询 |
| 语音修改错误率高 | 对象定位复杂 | 强制对象选择和前后值确认 |
| 语音删除风险高 | 同名对象过多 | 删除主要保留手动入口 |
| 候选确认完成率低 | 卡片字段太多 | 只展示标题、时间、地点和提醒 |
| 地点权限授权率低 | 用户不理解用途 | 地点提醒降级为可选实验能力 |
| 地点提醒误触发高 | 半径过大或时间窗口过长 | 缩小半径并缩短有效期 |
| 地点提醒漏触发高 | 系统限制或定位环境较差 | 建议同时设置时间提醒 |
| 修改后旧规则仍触发 | 版本同步不可靠 | App 启动时全量比对并重建 |
| React Native 地理围栏不稳定 | 跨平台封装能力不足 | 关键部分使用原生模块 |
| AI 延迟或成本过高 | 所有输入都依赖大模型 | 常见时间表达使用确定性解析优先 |
| 第一版范围仍然过大 | 双端、完整 CRUD 和地点能力并行 | Android 优先,先完成创建、查询和两类提醒 |