Skip to content

New Product Design Report

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

1. TimeFlow 是什么

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

TimeFlow 当前只管理 Schedule,不再提供独立待办对象。系统中只有一个 Agent,负责理解用户表达、通过有限多轮对话补全必要参数、定位目标日程,并在执行条件满足后调用确定性业务能力直接完成操作;不存在主 Agent、子 Agent 或多 Agent 编排。

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

用户需要通过最少的操作快速记录、查询和调整日程,并在时间临近、位置临近或完成前置到达动作后收到符合执行场景的提醒;当用户表达缺少必要参数或目标不唯一时,Agent 通过有限多轮对话补全和消歧,条件满足后直接执行并返回明确结果。

与普通日历和通用语音助手相比,TimeFlow 的关键差异有六个:

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

  • 语音是统一操作入口:用户通过底部中央的语音按钮完成日程和提醒规则的查询、创建、修改与删除,不需要理解复杂表单和功能入口。

  • 系统只有一个 Agent:同一个 Agent 负责日程相关意图识别、有限多轮补参、对象定位、消歧和执行请求生成,不引入主从 Agent 或多 Agent 协作。

  • 提醒覆盖三个执行阶段:支持时间临近提醒、位置临近提醒,以及先进入指定区域、再离开该区域时触发的两阶段位置提醒。

  • 通知按客户端状态分层触达:应用前台可交互时使用应用内弹窗与本地 TTS;应用在后台或进程被系统回收时,由操作系统本地通知、声音和震动兜底。

  • 有限多轮后直接执行:信息完整且目标唯一时不再增加独立确认步骤,Agent 直接调用受控业务能力执行创建、修改或删除,并展示执行结果;可撤销操作提供撤销入口。

例如用户说:

明天早上八点到公司打卡,快到公司时提醒我;如果我先进入公司停车区,就在我离开停车区时再提醒一次。

系统需要识别并补全以下执行信息:

  • 创建一个明天早上八点开始的 Schedule;若结束时间缺失,Agent 只追问结束时间。

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

  • 日程地点关联用户已经保存或明确选择的“公司”。

  • 创建一条 LOCATION_APPROACH Reminder,在进入“公司”的临近范围时触发。

  • 创建一条 LOCATION_ARRIVE_EXIT Reminder,先等待用户进入“公司停车区”,满足最短停留条件后,再等待用户离开停车区并触发。

  • 两条地点提醒都具有明确的生效时间、失效时间、地点、半径和触发次数。

  • 必要信息完整、地点唯一且业务校验通过后,系统直接创建日程和提醒规则,并返回创建结果及可用的撤销入口。

对应的有限多轮交互示例:

用户:明天早上八点到公司打卡,快到公司时提醒我。
Agent:这个日程几点结束?
用户:九点。
系统:已创建明天 08:00—09:00 的“到公司打卡”,并设置快到公司时提醒。

这里第二轮只用于补全结束时间;补全后系统直接执行,不再追加“是否确认创建”的步骤。

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

单页月历查看
→ 选择日期查看日程
→ 语音或手动输入
→ 单 Agent 识别意图与必要参数
→ 信息不足时进行有限追问,对象不唯一时要求选择
→ 参数完整且目标唯一后直接执行
→ Schedule / Place / Reminder 写入并返回结果
→ 客户端同步提醒规则
→ 时间临近、位置临近或到达后离开条件满足
→ 前台弹窗 + TTS,或系统本地通知兜底

2. 背景与战略决策

2.1 背景与机会

现有日历产品已经能够完成基础记录、查询和固定时间提醒,但用户通常仍需手动填写标题、日期、开始时间、结束时间、地点和提醒方式。在以下场景中,这种方式的操作成本较高:

  • 通勤途中临时想到一项安排。

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

  • 用户正在走路、做饭、整理物品或驾驶途中,不方便填写表单。

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

  • 用户需要修改已有日程,但不记得具体时间或入口。

  • 用户希望在日程时间快到时,而不是到点以后才收到提醒。

  • 用户希望在接近公司、学校、商场等地点时提前收到提醒。

  • 用户到达目的地后还需要先停车、取物或办理前置事项,希望完成“先到达”动作并离开特定区域后再提醒。

传统时间提醒无法覆盖所有执行场景。例如“会议前十分钟提醒”“快到公司提醒打卡”“进入停车区后,离开停车区再提醒打卡”,分别对应时间临近、位置临近和两阶段地点状态。单一的“到点”或“进入地点”无法准确表达这些差异。

通知送达也存在运行状态差异。应用在前台时可以主动弹窗并朗读内容;应用在后台或进程被系统回收时,不能把提醒可靠性建立在应用进程持续存活或服务端实时推送上。提醒规则应提前同步并注册到移动操作系统,使已经注册的提醒在断网或进程死亡时仍有本地兜底。

这指向四个产品机会:

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

  2. 用一个 Agent 和一个语音入口降低日程完整 CRUD 的操作成本。

  3. 用三类提醒覆盖时间、接近地点和到达后离开的真实执行场景。

  4. 用客户端本地注册和分层通知提高断网、后台和进程死亡情况下的提醒可用性。

2.2 目标人群定义

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

  1. 日常需要管理多个明确时间段的日程。

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

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

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

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

  6. 对固定时间提醒不满足实际执行时机的场景有明确需求。

  7. 希望 Agent 降低操作成本,同时通过必要追问、对象消歧和执行后撤销降低误操作风险。

用户类型 典型场景 主要痛点 本期匹配能力
职场用户 打卡、会议、提交汇报、拜访客户 临时日程多,手动录入步骤多 语音 CRUD、时间临近、公司临近和停车区离开提醒
学生 上课、考试、答辩、图书馆学习 课程和活动多,查看与修改频繁 单页月历、语音日程、学校地点提醒
高频出行用户 到公司、客户现场、车站、机场 移动中不方便操作表单 语音输入、位置临近提醒、到达后离开提醒
规律生活用户 健身、取快递、就医、购物预约 提醒时机与实际位置相关 多类型 Reminder、常用地点
普通日历用户 查看每天安排、临时改期 查询、修改和提醒配置入口分散 日期选择、语音完整 CRUD、有限多轮直接执行

本期核心成功判据以“高频日程记录 + 移动使用场景 + 智能提醒需求”的用户为主。

2.3 用户故事

场景小故事 功能 价值 模块 对应人群
我打开应用直接看到本月日历 单页月历 无需寻找日历入口 首页/月历 全部
我点击 7 月 30 日,下方立即展示当天日程 日期联动 一处看清当天安排 首页/日程列表 全部
我点击底部语音按钮说“明天下午三点到四点开项目会” 语音创建 Schedule 不必填写完整表单 语音输入/日程 全部
我只说“明天下午开项目会” 有限多轮补参 只追问缺失的开始和结束时间,信息完整后直接创建 语音输入/Agent 全部
我说“明天有什么安排” 语音查询 快速查看指定日期内容 语音输入/查询 全部
我说“把明天的项目会改到四点” 语音修改 降低修改成本 语音输入/日程 全部
我说“取消明天的项目会” 语音删除 目标唯一时直接软删除,并提供撤销入口 语音输入/日程 全部
我给项目会议设置提前十分钟提醒 时间临近提醒 在事项开始前提醒 Reminder 全部
我说“快到公司时提醒我打卡” 位置临近提醒 在到达前提醒用户准备执行 Reminder/Place 移动用户
我说“进入公司停车区后,离开停车区时提醒我打卡” 到达后离开提醒 覆盖停车后再步行到公司的场景 Reminder/Place 职场用户
我给一个日程同时设置时间和地点提醒 多提醒规则 提高关键日程触达概率 Reminder 全部
提醒触发时应用正在前台 弹窗 + TTS 无需查看通知栏即可感知 通知触达 全部
提醒触发时应用进程已被系统回收 系统通知兜底 不依赖应用持续运行 通知触达 全部
手机断网但提醒已同步 离线本地执行 网络异常时仍能收到提醒 提醒执行 全部
我拒绝定位权限 权限降级 月历、日程和时间提醒仍然可用 权限管理 全部
我修改或删除日程 提醒同步 旧通知和旧地理围栏自动失效 提醒执行 全部
我点击右上角设置 设置入口 管理地点、权限、TTS 和默认提醒 设置 全部

2.4 用户痛点

痛点 具体表现 调研/设计依据 对应人群
查看入口复杂 不同视图和功能入口分散 单页信息架构设计判断 全部
录入步骤多 用户需要填写多个字段 高频移动场景操作审查 全部
自然语言存在歧义 “明天下午”“公司”“快到”等信息不完整 Agent 输入的不确定性 全部
Agent 误操作风险 ASR 或语义识别错误可能写入错误日程 用户控制与可信边界 全部
固定时间提醒不符合实际时机 到点时用户可能尚未到达执行地点 地点型执行场景 移动用户
进入地点提醒仍可能过早 用户进入停车区后还需要停车、下车和步行 停车与前置动作场景 职场用户
地点名称不能直接执行 “公司”可能没有坐标或存在多个地点 地点实体设计 地点提醒用户
位置临近语义不明确 不同场景对“快到”的距离理解不同 提醒参数设计 地点提醒用户
定位权限敏感 用户担心应用持续追踪 隐私与权限边界 全部
修改后旧提醒残留 日程改期后旧通知仍可能触发 提醒生命周期设计 全部
后台或进程死亡导致通知失效 应用内逻辑无法保证一直运行 移动操作系统限制 全部
断网导致规则不能更新 新建或修改提醒未同步到当前设备 端云一致性边界 全部
TTS 无法在所有状态可靠运行 后台和进程死亡时无法保证主动朗读 系统能力边界 全部
网络或 Agent 故障 智能能力不可用时影响基本使用 核心功能稳定性要求 全部

2.5 解决方案

一句话价值主张:

TimeFlow 让用户在一个月历首页中查看和管理日程,通过底部单一语音入口与一个 Agent 完成操作;信息不足时进行有限多轮补参和消歧,条件满足后直接执行,并在时间临近、位置临近或到达后离开指定区域时获得分层通知。

产品结构:

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

    VOICE --> ASR[语音转写与文本校正]
    ASR --> AGENT[单 Agent]
    AGENT --> QUERY[查询日程]
    AGENT --> DIALOGUE[有限多轮补参与消歧]
    DIALOGUE --> EXECUTE[执行条件校验]
    EXECUTE --> SERVICE[确定性业务能力]
    SERVICE --> RESULT[执行结果与撤销入口]

    SERVICE --> SCHEDULE[Schedule]
    SERVICE --> PLACE[Place]
    SERVICE --> REMINDER[Reminder]

    REMINDER --> TIME[TIME 时间临近]
    REMINDER --> GEO_APPROACH[LOCATION_APPROACH 位置临近]
    REMINDER --> GEO_ARRIVE_EXIT[LOCATION_ARRIVE_EXIT 到达后离开]

    TIME --> DELIVERY[通知触达]
    GEO_APPROACH --> DELIVERY
    GEO_ARRIVE_EXIT --> DELIVERY
    DELIVERY --> FOREGROUND[前台弹窗 + 本地 TTS]
    DELIVERY --> SYSTEM[系统本地通知 + 声音/震动]

    SETTING --> PLACE
    SETTING --> PERMISSION[麦克风、通知、定位、TTS]
Loading

核心链路:

打开应用
→ 默认选中今天
→ 月历下方展示今天的日程
→ 用户选择其他日期时更新日程列表
→ 用户点击底部语音按钮或使用手动入口
→ 语音转写并允许用户校正文本
→ 单 Agent 识别意图、对象、时间、地点和提醒参数
→ 查询操作直接展示结果
→ 写操作参数不足时进行有限追问,对象不唯一时要求选择
→ 参数完整、目标唯一且校验通过后直接调用确定性业务能力
→ 展示执行结果、影响范围和可用的撤销入口
→ 客户端同步 Reminder
→ 注册本地时间通知或系统地理围栏
→ 条件满足后选择前台弹窗 + TTS 或系统通知兜底

3. 市场调研和竞品分析

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

七个流程 市面上常见解决方案总结
捕获 手动表单、自然语言文字输入、语音输入、快捷指令、聊天内容转日程
组织 日历、分类、标签、地点、参与人、重复规则
查看 月视图、周视图、日视图、议程列表、搜索
提醒 固定时间、提前若干分钟、重复提醒、进入或离开地点提醒
执行 通知跳转详情、延后、忽略、手动标记结果
调整 表单编辑、拖拽改期、自然语言修改、批量操作

3.2 竞争总结

流程环节 市场格局与代表方案 主要结论
捕获 传统日历依赖表单,部分产品支持自然语言或语音创建 捕获能力较成熟,关键差异是能否覆盖完整 CRUD、有限多轮补参和执行反馈
组织 日历产品以明确时间占用为核心 本期只保留 Schedule,避免日程与其他事项模型混杂
查看 多数产品提供月、周、日和列表视图 第一版不需要堆叠多个视图,月历加日期日程区即可验证核心需求
提醒 固定时间提醒成熟,地点提醒通常只支持简单进入或离开 位置临近和“先进入再离开”的状态提醒仍有差异化空间
通知 系统通知成熟,应用内弹窗和语音朗读通常不是统一策略 需要按前台、后台、进程死亡和断网状态设计触达降级
Agent 操作 部分产品只支持创建,修改和删除仍需手动 TimeFlow 应覆盖查询、创建、修改、删除和提醒配置
用户控制 Agent 直接执行可以减少步骤,但误操作风险高 通过必要追问、对象唯一性校验、结果回显、软删除和撤销控制风险
信息架构 日历、AI 和统计常被拆成多个一级页面 TimeFlow 使用单页月历和一个语音按钮,降低入口负担

3.3 市场空缺与机会判断

市场空缺 用户需求 竞品不足 数据/设计支撑 TimeFlow 机会
语音只负责创建 用户还需要查询、修改和删除 创建后仍需手动维护 完整 CRUD 用户故事 单一语音入口覆盖完整日程 CRUD
Agent 直接执行缺少控制 用户担心识别错误 缺参、同名对象和 ASR 错误可能导致误操作 可信 Agent 设计边界 有限多轮补参和消歧,执行后展示结果并提供撤销
提醒主要依赖固定时间 部分日程的执行时机取决于实际移动进度 固定时间与现实位置不一致 通勤和到店场景 支持 LOCATION_APPROACH
简单进入围栏仍过早 用户到达停车区后还有前置步骤 单次进入事件不能表达两阶段行为 停车后步行场景 支持 LOCATION_ARRIVE_EXIT 状态机
提醒送达依赖应用状态 前台、后台和进程死亡能力不同 只做应用内弹窗会漏提醒 移动端运行边界 前台弹窗 + TTS,系统通知兜底
断网时提醒可靠性不清 用户希望已设置提醒继续执行 依赖服务端实时推送时会失败 本地规则执行边界 已同步规则离线执行,变更等待同步
地点提醒参数难理解 用户无法准确配置半径和有效期 专业参数暴露过多 用户理解测试 提供场景默认值,并在有限多轮中仅追问必要参数
提醒失败不可见 用户不知道提醒是否真正生效 设备注册状态不透明 可靠性要求 展示 pending_sync、active、failed 等状态
复杂 Agent 架构超出当前需要 核心业务动作有限 主从或多 Agent 会增加链路和调试成本 当前能力范围 一个 Agent + 确定性业务能力
定位权限说明不清 用户担心连续轨迹被采集 权限范围不透明 隐私设计要求 不保存连续轨迹,仅处理必要围栏事件

4. 产品定位与本期范围

4.1 功能主线与深度分配

节点 深度 本期做法 理由
捕获/交互 深耕核心 单一语音按钮、语音转写、一个 Agent、有限多轮补参、消歧和直接执行 验证低摩擦输入价值
组织/展示 基础但完整 单页月历、日期选择、日程列表 用最少页面承载主流程
日程管理 基础但完整 Schedule 手动和语音 CRUD 保证产品独立可用
时间提醒 完整实现 时间临近、提前若干分钟和自定义触发时间 提供基础可靠提醒
位置临近提醒 深耕差异化 进入保存地点的临近区域时提醒 验证“快到”场景价值
到达后离开提醒 实验性深耕 先进入目标区域,再离开时触发 验证停车等两阶段场景
通知触达 完整实现 前台弹窗 + TTS,后台/进程死亡系统通知兜底 不把可靠性建立在进程常驻上
权限与降级 完整实现 通知、定位和麦克风按需申请;失败可见 避免权限成为单点
多端与外部集成 不投入 当前设备执行提醒,不接第三方日历 控制第一版工程范围
复杂智能规划 不投入 不做自动排期、任务拆解和多 Agent 编排 聚焦日程与提醒闭环

4.2 本期做什么

单页首页主链:

用户打开应用 → 默认选中今天并展示本月月历 → 下方展示今天的 Schedule → 用户点击其他日期后更新下方内容 → 用户可以点击日程手动查看或编辑 → 用户点击底部语音按钮完成查询或 CRUD → 必要信息完整后直接执行写操作 → 返回执行结果并刷新月历和日程列表。

单 Agent 语音闭环:

用户点击底部语音按钮并说出需求 → 客户端完成语音转写 → 转写文本进入一个 Agent → Agent 识别日程操作、时间、地点和提醒参数 → 必要参数不足时进行最少量追问 → 对象不唯一时要求用户选择 → 查询操作直接返回 → 创建、修改和删除在参数完整、目标唯一且校验通过后直接调用确定性业务接口 → 返回执行结果、影响范围和可用撤销入口。

时间临近提醒闭环:

用户通过语音或日程详情设置提前时间 → 后端保存 TIME Reminder → 客户端同步规则 → 向操作系统注册本地通知 → 触发时间到达 → 应用前台时弹窗并 TTS,其他状态由系统通知兜底 → 客户端记录触达结果。

位置临近提醒闭环:

用户选择或创建 Place → 为 Schedule 创建 LOCATION_APPROACH Reminder → Agent 补全地点、临近半径、生效时间、失效时间和触发次数等必要参数 → 参数完整后后端直接保存规则 → 客户端注册地理围栏或等价系统位置能力 → 用户进入临近区域 → 触发通知 → 一次性提醒转为 triggered。

到达后离开提醒闭环:

用户选择或创建代表前置区域的 Place,例如“公司停车区” → 为 Schedule 创建 LOCATION_ARRIVE_EXIT Reminder → Agent 补全进入半径、离开半径、最短停留时间、生效时间和失效时间等必要参数 → 参数完整后客户端注册相关地理围栏 → 用户先进入区域 → 状态变为 inside → 满足最短停留后等待离开 → 用户离开区域 → 触发通知 → 提醒转为 triggered。

通知触达闭环:

提醒条件满足 → 客户端判断应用是否在前台且可交互 → 若可交互,展示应用内弹窗并调用本地 TTS;若在后台、进程被系统回收或不具备前台展示条件,由操作系统本地通知、声音和震动兜底 → 用户点击通知进入日程详情 → 客户端记录触达渠道和结果。

断网处理闭环:

设备断网 → 已同步并注册的 Reminder 继续由本地操作系统执行 → 新建或修改的数据保存本地待同步状态 → 网络恢复后重新同步和校验版本 → 若规则尚未注册则显示 pending_sync,不伪装为已生效。

设置闭环:

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

4.3 明确不做

不做事项 理由 依据
独立待办或任务清单 当前产品对象只保留 Schedule 最新产品范围
主 Agent、子 Agent 或多 Agent 编排 当前业务由一个 Agent 即可覆盖,避免额外链路复杂度 新版架构边界
日程完成状态、完成统计与复盘 当前版本只验证日程管理和智能提醒,不采集或总结日程完成情况 最新产品范围
底部多 Tab 导航 第一版主流程可以由单页首页承载 减少信息架构复杂度
独立 AI 页面或聊天首页 语音是快捷操作方式,不替代日历主界面 产品定位
语音记录和语音笔记 与日程管理主链无关 产品减法
Goal、Task、长期目标拆解 不属于当前版本核心问题 范围调整
自动排期与智能重排 工程和产品复杂度高 第一版资源约束
自动识别用户已停车或已经下车 地理围栏只能判断区域事件,不能可靠识别真实动作 能力边界
自动读取聊天、邮件和图片 接入与隐私风险高 工程和权限边界
第三方日历同步 非当前差异化重点 工程范围
多地点任意布尔条件组合 规则引擎复杂度高 MVP 约束
天气、交通和设备状态提醒 依赖外部数据和更多权限 MVP 约束
服务端持续获取位置 耗电、隐私和后台运行风险高 技术与隐私边界
连续位置轨迹 地点提醒不需要完整轨迹 最小数据原则
后台或进程死亡时强制 TTS 移动操作系统无法稳定保证主动朗读 系统能力边界
团队日历与多人协作 引入权限和共享语义 用户定位
Web 与桌面端 第一版聚焦移动端 工程范围
多设备提醒去重 当前设备即可验证提醒价值 工程范围
服务端实时推送作为唯一提醒方式 断网和进程状态会影响可靠性 本地提醒边界

4.4 后续可拓展

能力 状态 本期关系
周视图和日视图 P1 月视图验证后补充更细时间展示
重复日程 P1 在 Schedule 模型上扩展周期规则
延后提醒和再次提醒 P1 在通知交互上扩展
动态临近半径 P1 根据步行、驾车或用户偏好调整
更精细的停留提醒 P1 在到达后离开状态机上扩展
地点与时间组合规则 P1 在现有 Reminder 模型上扩展
智能推荐提醒方式 P1 Agent 给出建议;用户继续补充或调整时进入同一有限多轮任务
系统日历同步 P2 需要独立同步和冲突方案
天气提醒 P2 接入天气条件
交通时间提醒 P2 接入路线和预计到达时间
蓝牙/Wi-Fi 状态提醒 P2 扩展场景感知能力
多设备同步与去重 后续 Proposal 需要统一执行权和状态同步
智能排期和冲突调整 后续 Proposal 需要单独产品和架构设计
多 Agent 架构 仅在出现真实复杂协作需求后评估 当前明确不引入

4.5 核心使用流程

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

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

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

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

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

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

  7. 转写文本进入系统中唯一的 Agent。

  8. Agent 识别操作类型、目标 Schedule、时间、地点和 Reminder 参数。

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

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

  11. 参数完整、目标唯一且确定性校验通过后,Agent 直接调用业务能力执行创建、修改或删除。

  12. 系统展示执行结果、字段变化、受影响 Reminder 和可用撤销入口。

  13. 首页月历和所选日期日程列表刷新。

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

  15. TIME Reminder 注册为本地时间通知。

  16. LOCATION_APPROACH Reminder 注册为临近区域地理围栏或等价系统规则。

  17. LOCATION_ARRIVE_EXIT Reminder 注册进入与离开事件,并维护本地状态机。

  18. 时间或位置条件满足后,客户端选择触达渠道。

  19. 应用前台可交互时展示弹窗并使用本地 TTS。

  20. 应用后台或进程被系统回收时,由操作系统通知、声音和震动兜底。

  21. 用户点击通知进入对应 Schedule 详情。

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

  23. 日程修改或删除时,旧通知和旧地理围栏必须取消。

  24. 权限或系统能力失败时,不回滚 Schedule,但 Reminder 必须显示失败或未生效状态。

4.6 MVP 核心假设

# 假设类型 核心假设 验证方式 通过标准 失败退路
1 单页首页 月历加日期日程列表可以承载核心查看需求 原型统一任务测试 ≥6/8 用户无需讲解完成日期查看 调整日期日程区信息密度
2 单一事项模型 只保留 Schedule 能覆盖本期目标场景 标准场景归类测试 ≥7/8 场景无需额外对象即可表达 重新审查对象边界,不直接恢复复杂模型
3 单一语音入口 底部一个语音按钮可以降低操作成本 语音与手动操作对照 ≥4/8 认为语音更快或更省步骤 语音先收缩到创建和查询
4 单 Agent 一个 Agent 能稳定完成本期意图和参数处理 标准意图集与回归测试 核心意图准确率达到目标且链路可排查 减少意图范围,不引入多 Agent 作为第一退路
5 完整语音 CRUD 用户需要的不只是语音创建 创建、查询、修改、删除用例 ≥4/8 主动使用修改或删除 删除和复杂修改保留手动
6 有限多轮直接执行 必要追问和消歧能够在不增加独立确认步骤的情况下控制误操作 缺参、同名对象、修改和删除任务测试 ≥6/8 能理解追问原因并成功完成操作;独立确认步骤出现率为 0 缩小可直接执行的语音操作范围,加强结果回显和撤销
7 时间临近提醒 本地通知可以覆盖基础提醒需求 多设备受控测试 标准用例注册和触发率达到目标 增加重新同步和权限诊断
8 位置临近提醒 “快到地点”在部分场景优于固定时间 公司、学校、商场用例 ≥4/8 认为至少一个场景有明显价值 降级为实验能力
9 到达后离开提醒 停车等场景需要两阶段触发 停车区实地测试 目标场景下误触发和漏触发可接受 收缩为普通离开提醒或手动设置
10 地点参数理解 用户能够理解地点、半径和有效时间 原型操作测试 ≥6/8 正确完成配置 使用默认半径和默认时间窗口
11 前台弹窗 + TTS 前台语音触达比普通通知更容易感知 受控对照测试 ≥4/8 明确偏好且无明显打扰 默认关闭 TTS 或只保留弹窗
12 系统通知兜底 进程死亡时本地注册仍能提供基本通知 后台、杀进程和重启测试 受支持设备达到目标触发率 加强权限诊断和启动重建
13 离线执行 已同步提醒在断网时仍可执行 飞行模式测试 标准时间提醒和围栏提醒按平台能力触发 明确显示仅支持已同步规则
14 权限接受 用户在理解用途后愿意授予定位权限 首次创建地点提醒时申请 ≥4/8 完成授权 推荐改用时间提醒
15 权限降级 拒绝定位后核心产品仍然可用 权限拒绝测试 月历、CRUD、时间提醒可继续 保持地点提醒完全可选
16 提醒同步 日程变化后旧提醒能够正确失效 修改、删除、重启用例 不出现稳定复现的旧规则触发 App 启动时全量重建规则
17 隐私理解 不保存连续轨迹能够降低用户顾虑 权限说明访谈 ≥6/8 理解产品不记录轨迹 强化权限说明和规则列表
18 手动兜底 Agent 不可用时产品仍然可独立使用 断网和模型异常测试 手动 CRUD 成功率达到目标 Agent 不作为唯一入口

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

4.7 产品边界与异常处理

产品边界

功能边界:

  • 平台:移动端,Android 优先;具体客户端技术实现以架构文档为准。

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

  • 语言:P0 仅支持中文。

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

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

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

  • 事项对象:P0 只有 Schedule,没有独立 Todo、Task 或 Goal 对象。

  • Schedule:正式对象必须具有标题、开始时间和结束时间。

  • Schedule 可以绑定 Place 和零个或多个 Reminder。

  • Schedule 的时间状态由系统计算,例如未开始、进行中和已结束,用于展示和提醒生命周期判断。

  • Reminder 必须绑定一个 Schedule。

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

  • P0 Reminder 类型为 TIMELOCATION_APPROACHLOCATION_ARRIVE_EXIT

  • LOCATION_APPROACH 必须绑定用户已经保存或明确选择的 Place,并具有临近半径。

  • LOCATION_ARRIVE_EXIT 必须绑定用户已经保存或明确选择的前置区域 Place,例如停车区。

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

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

  • 位置提醒只能判断进入或离开地理区域,不能声称识别“停车完成”“已经下车”或其他真实世界动作。

  • 语音查询直接展示结果。

  • 语音创建、修改和删除不设置独立确认步骤;在必要参数完整、目标唯一且业务校验通过后直接执行。

  • 手动表单保存后直接执行;单对象删除采用软删除并展示影响范围和撤销入口,批量删除与大范围修改不在 P0 自动执行。

  • 不保存连续位置轨迹。

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

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

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

  • Reminder 失败不回滚 Schedule,但必须显示失败状态。

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

单 Agent 与数据边界

  • 系统中只有一个 Agent,不区分主 Agent、子 Agent 或专项 Agent。

  • Agent 负责意图识别、参数解析、必要追问、对象定位、有限多轮上下文维护和结构化执行请求生成。

  • Agent 可以通过受控查询能力读取 Schedule、Place 和 Reminder。

  • Agent 不直接生成 SQL,不绕过业务接口写数据库。

  • 当必要参数完整、目标唯一且校验通过后,Agent 调用确定性业务能力直接执行写操作。

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

  • 查询结果由数据库事实和确定性逻辑产生;Agent 只负责理解用户请求和组织展示内容。

  • 一个有限多轮任务只处理一个明确业务动作;创建、修改、删除、取消、执行完成或超时后结束当前任务。

  • 多对象批量修改和删除不在第一版自动执行,避免在没有独立确认步骤时扩大误操作影响。

  • Agent 的多轮上下文只保存完成当前任务所需的意图、槽位、匹配对象和最近回答,不作为开放聊天记忆。

  • 用户回答必须优先补充当前任务;若用户明确提出新的业务动作,系统结束或挂起原任务,并以新动作开始新的有限多轮任务。

  • 用户可以在执行前说“取消”结束当前任务;这属于取消未完成交互,不是写操作确认。

  • ASR 负责把语音转换为文本,不负责决定业务意图,也不属于另一个 Agent。

  • 提醒执行模块和通知模块是确定性业务模块,不是 Agent。

架构术语映射

架构或实现用语 产品统一用语 本期解释
Event Schedule 具有完整起止时间的日程
Agent Agent 系统中唯一的自然语言业务处理单元
Speech-to-Text / ASR 语音转写 把音频转换为可校正文本,不做业务决策
Action Request 执行请求 有限多轮补参和消歧完成后,由 Agent 生成并立即交给确定性业务能力校验执行
Location Rule 地点 Reminder 基于用户已保存或明确选择的 Place 和围栏事件的提醒规则
Geofence 地理围栏 由客户端向操作系统注册的地点范围
Reminder Registration 提醒注册 当前设备上的本地通知或地理围栏
Reminder Execution 提醒执行记录 注册、触发、触达、失败、取消和过期状态

通知边界

  • P0 只做当前设备本地触达。

  • 应用在前台且界面可交互时,优先展示应用内弹窗,并按用户设置调用本地 TTS。

  • 网络不是前台弹窗和本地 TTS 的必要条件;只要规则已同步且本地数据可用,断网时仍可触达。

  • 应用在后台、进程被系统回收或无法展示应用内弹窗时,由操作系统本地通知、声音和震动兜底。

  • P0 不承诺进程死亡时执行 TTS,因为系统通常不允许应用稳定主动朗读。

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

  • 地点提醒由客户端向操作系统注册地理围栏或平台等价能力。

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

  • 用户可以关闭 TTS、声音或震动,但应保留至少一种可见通知方式提示风险。

  • 通知权限关闭后,Schedule 仍然保留,Reminder 标记 failed 或 disabled。

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

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

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

提醒状态

pending_sync
registered
active
inside
waiting_exit
triggered
delivery_failed
failed
cancelled
expired
状态 说明
pending_sync 后端或本地业务数据已保存,等待当前设备同步
registered 规则已经在当前设备完成系统注册
active 规则处于有效时间内并等待触发
inside 两阶段地点提醒已经检测到进入目标区域
waiting_exit 已满足最短停留条件,正在等待离开区域
triggered 触发条件已经满足
delivery_failed 条件已触发,但用户可见通知或 TTS 触达失败
failed 规则注册或位置能力执行失败
cancelled 用户、日程或规则变更导致取消
expired 超过有效期且未触发

到达后离开状态机

waiting_enter
→ inside
→ waiting_exit
→ triggered

状态约束:

  • waiting_enter:等待用户首次进入目标区域。

  • inside:检测到进入,但尚未满足最短停留或稳定性条件。

  • waiting_exit:已检测到稳定进入并满足停留条件,等待离开区域。

  • triggered:检测到离开并完成一次提醒触发。

  • 为减少 GPS 漂移,进入半径和离开半径可以不同,并设置最短停留时间和事件去抖。

  • 若提醒超过 expires_at 仍未完成状态迁移,则转为 expired。

  • 修改 Place、半径、有效期或绑定日程后,旧状态机必须取消并重新注册。

异常处理

场景 系统必须如何处理
语音无法识别 提示重新说或切换文字输入
转写文本有误 允许用户编辑后再提交给 Agent
Schedule 缺少开始或结束时间 追问必要时间,不创建正式 Schedule
时间表达模糊 通过有限多轮追问获得明确时间;未补全前不执行
查询对象不存在 明确告知未找到
修改对象不唯一 展示匹配 Schedule 供用户选择
删除对象不唯一 不执行删除
Place 不存在 引导用户搜索、地图选点并保存 Place
Place 存在多个同名项 要求用户选择
“快到”未给半径 使用可见的场景默认值并直接执行;用户可以继续说“改成 300 米”或手动修改
停车区未保存 要求用户单独搜索或选择停车区 Place,不把公司中心点自动当作停车区
通知权限被拒绝 保存 Schedule,Reminder 标记 failed,并提供设置入口
定位权限被拒绝 不注册地点提醒,可切换为 TIME Reminder
后台定位权限不足 提示授权原因并提供系统设置入口
TTS 不可用或被关闭 保留弹窗或系统通知,不阻塞 Reminder
应用前台但断网 已同步规则仍使用弹窗和本地 TTS;新变更保持 pending_sync
应用后台或进程死亡 依赖系统本地通知兜底,不承诺 TTS
地理围栏注册失败 Reminder 标记 failed,不持续高频轮询位置
时间提醒已经过期 不注册,提示用户修改时间
注册地点提醒时用户已在临近范围内 不承诺立即触发;执行结果中说明,并允许用户继续增加 TIME Reminder
两阶段规则注册时用户已在区域内 默认从 inside 或待用户离开后重新进入开始,具体策略必须可见
GPS 漂移导致频繁进出 使用不同进出半径、最短停留和事件去抖
Schedule 被修改 取消旧 Reminder Registration,注册新版本
Schedule 被删除 取消全部关联 Reminder
Place 被删除 若存在关联 Reminder,先通过有限多轮让用户选择取消相关提醒或保留地点;选择完成后直接执行
App 长期未同步 状态保持 pending_sync,并提示打开 App 或联网
Agent 服务不可用 手动 CRUD 和已有提醒继续工作
网络不可用 已注册本地提醒继续执行,业务修改等待同步
提醒触发延迟 不展示虚假的精确触发承诺

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

决策点 备选方案 选择 理由
一级信息架构 多 Tab / 单页 单页首页 当前核心查看与操作可以由一个页面承载
首页主内容 Agent 对话 / 列表 / 月历 月视图日历 日历是产品的主要信息载体
日期详情 独立详情页 / 月历下方联动 月历下方联动 点击日期即可查看当日日程
事项模型 Schedule + Todo + Task / 仅 Schedule 仅 Schedule 当前范围只管理明确起止时间的日程,减少对象歧义
Agent 架构 主从 Agent / 多 Agent / 单 Agent 单 Agent 当前意图范围有限,单 Agent 更简单、更易观测和测试
语音入口 独立 Agent Tab / 悬浮按钮 / 多个语音功能 底部中央单一语音按钮 强化统一、低成本入口
语音记录和语音笔记 保留 / 删除 删除 不属于日程管理核心闭环
设置入口 底部 Tab / 首页右上角 首页右上角 设置低频,不占用一级导航
Agent 写入 独立确认 / 有限多轮后直接执行 有限多轮后直接执行 减少无意义确认步骤;通过补参、消歧、校验、结果回显和撤销控制风险
对话形态 严格单轮 / 开放多轮 / 任务型有限多轮 任务型有限多轮 只围绕当前业务动作补参和消歧,执行、取消或超时后结束
误操作恢复 不提供 / 操作前确认 / 操作后撤销 操作后撤销 不恢复通用确认步骤,同时降低创建、修改和删除的不可逆风险
Agent 查询 额外确认 / 直接展示 直接展示 查询不改变业务事实
手动表单提交 提交后执行 / 二次确认 提交后直接执行 与语音直接执行保持一致;删除使用软删除和撤销控制风险
Schedule 时间要求 只需开始时间 / 完整起止时间 完整起止时间 保证日历展示、冲突判断和提醒有效期计算一致
时间提醒执行 服务端推送 / 客户端本地 客户端本地 断网和服务端异常时仍可执行
位置临近 实时轨迹计算 / 地理围栏临近区 系统地理围栏或等价能力 降低耗电和隐私风险
到达后离开 识别停车动作 / 两阶段围栏状态机 两阶段围栏状态机 系统只能可靠获得区域事件,不能承诺动作识别
停车区域 自动使用公司坐标 / 单独 Place 单独选择或保存停车区 Place 公司中心点不一定代表停车区域
地点提醒时间范围 永久有效 / 明确有效期 明确 active_from 与 expires_at 避免未来误触发
地点提醒次数 默认重复 / 默认一次 默认一次 降低重复打扰和状态复杂度
前台通知 系统通知 / 弹窗 / 弹窗 + TTS 弹窗 + 可配置 TTS 提高前台状态下的感知效率
后台和进程死亡 强行保活 / 系统通知兜底 系统通知兜底 不依赖不可靠的应用常驻
TTS 兜底 所有状态都保证 / 仅前台保证 仅前台或系统允许状态下保证 符合移动操作系统能力边界
网络依赖 无网不提醒 / 已同步规则离线执行 离线执行已同步规则 提醒可靠性不应依赖实时网络
地点数据 名称字符串 / 独立 Place 独立 Place 地点提醒需要确定坐标和半径
位置数据 连续轨迹 / 围栏事件 只处理必要围栏事件 最小权限与最小数据原则
提醒失败 静默失败 / 状态可见 状态可见 用户需要知道提醒是否生效
提醒与日程关系 独立提醒 / 绑定 Schedule 绑定 Schedule 保证跳转、修改和删除生命周期一致
第三方日历 首版接入 / 后续接入 后续 不是当前差异化重点
设备范围 多设备 / 当前设备 当前设备 控制同步和去重复杂度

6. 功能模块设计

6.1 单页首页信息架构

  • 功能:首页只包含当前月份、右上角设置、月视图、所选日期日程区,以及底部中央语音按钮。

  • 满足价值:用户进入应用后立即看到时间信息和当天安排,不需要理解多个一级页面。

  • 典型场景:用户打开应用,默认选中今天,直接看到今天的三个日程和其中两个提醒状态。

  • 详细设计

    • 页面顶部显示年份和月份。

    • 右上角固定设置按钮。

    • 月历是页面主要视觉区域。

    • 月历下方显示当前选中日期和日程列表。

    • 底部中央语音按钮固定,不随列表滚动消失。

    • 首页不显示独立 Agent 对话流、语音记录或语音笔记。

6.2 月历与日期选择

  • 功能:展示当前月份的实体月历,支持切换月份、选择日期、返回今天和显示日程密度标记。

  • 满足价值:用户能够快速建立日期上下文,并以日期为中心查看安排。

  • 典型场景:用户点击 8 月 3 日,日程区立即更新为 8 月 3 日的 Schedule。

  • 详细设计

    • 默认展示当前月份并选中今天。

    • 当前日期和选中日期必须有不同视觉状态。

    • 支持左右滑动或月份切换按钮。

    • 切换月份后保留明确的选中日期逻辑。

    • 有日程的日期显示轻量标记,不在月格中堆叠完整标题。

    • 提供返回今天入口。

    • 日期变化只更新查询范围,不改变任何业务数据。

6.3 所选日期日程区

  • 功能:月历下方展示当前选中日期的 Schedule。

  • 满足价值:用户在一个页面中看清当天安排,并快速进入日程详情。

  • 典型场景:7 月 30 日下方按开始时间展示当天的三条日程。

  • 详细设计

    • 顶部展示日期和星期。

    • Schedule 按开始时间升序排列。

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

    • 点击日程主体进入详情。

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

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

6.4 语音入口、单 Agent 与有限多轮

  • 功能:底部中央语音按钮是唯一语音入口,支持录音、语音转写、文字兜底、一个 Agent 的意图识别、有限多轮补参、对象定位、消歧和条件满足后的直接执行。

  • 满足价值:用户不用理解字段和页面结构,即可通过自然语言完成高频管理;架构链路保持简单、可测试。

  • 典型场景:用户说“把明天下午的项目会改到四点”,Agent 找到多个同名日程时要求用户选择;目标唯一后直接修改,并展示修改前后时间、受影响 Reminder 和撤销入口。

  • 详细设计

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

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

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

    • ASR 只负责转写,不负责业务意图判断。

    • 系统仅存在一个 Agent。

    • Agent 支持 Schedule 查询、创建、修改、删除和 Reminder 配置。

    • 查询操作直接展示。

    • 创建、修改和删除在必要参数完整、目标唯一且校验通过后直接执行。

    • 参数不足时仅追问当前操作必需参数,不进行开放式闲聊。

    • 当前任务在执行成功、用户取消、切换为新意图或超时后结束。

    • 不设置固定轮数,但必须以完成当前操作所需的最少轮次为目标。

    • 对象不唯一时展示匹配 Schedule 供用户选择;该选择属于消歧,不属于写操作确认。

    • 单对象删除采用软删除,直接执行后展示将取消的 Reminder,并提供短时间撤销入口。

    • Agent 生成结构化 Action Request;确定性业务能力完成权限、字段、对象归属、版本和冲突校验后执行,不允许模型直接生成 SQL 或绕过业务接口。

    • 执行后必须回显实际写入结果,而不是只回复自然语言成功。

    • 创建、修改和软删除等支持恢复的操作应返回撤销入口;撤销本身是一个新的确定性写操作。

    • 不设置“主 Agent”“子 Agent”“语音记录”“语音笔记”等概念或入口。

6.5 日程模块

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

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

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

  • 详细设计

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

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

    • 创建时检查开始时间早于结束时间。

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

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

    • 修改地点后,关联地点 Reminder 必须重新校验。

    • 删除 Schedule 时采用软删除并取消全部 Reminder 和设备注册。

    • 删除完成后提供可配置短时间撤销入口;撤销成功时恢复 Schedule,并按当前有效性重新注册 Reminder。

    • 删除操作采用软删除,保留必要操作日志,并支持在可撤销窗口内恢复 Schedule 及其有效 Reminder。

    • 详情页展示提醒状态和最近一次触达结果。

6.6 时间临近提醒

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

  • 满足价值:覆盖会议、预约、打卡和其他需要提前准备的场景。

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

  • 详细设计

    • Reminder 类型为 TIME

    • 核心参数包括 trigger_at 或 lead_minutes、时区、触达内容和触发次数。

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

    • 客户端同步后注册操作系统本地通知。

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

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

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

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

    • 前台触发时优先弹窗 + TTS,其他状态使用系统通知。

6.7 位置临近提醒

  • 功能:当用户进入目标 Place 的临近区域时触发 Reminder,用于表达“快到某地时提醒”。

  • 满足价值:比固定时间更贴近用户真实移动进度,并比到达后提醒更早提供准备时间。

  • 典型场景:用户距离公司约 500 米时提醒打卡。

  • 详细设计

    • Reminder 类型为 LOCATION_APPROACH

    • 必须绑定用户已经保存或明确选择的 Place。

    • 核心参数包括 approach_radius、active_from、expires_at、trigger_limit 和通知内容。

    • “快到”没有统一距离,系统应提供场景默认值,并在执行结果中明确展示。

    • 用户可以修改默认半径。

    • 客户端使用系统地理围栏或等价低功耗能力执行。

    • 不通过服务端持续获取位置。

    • 一次性规则触发后取消注册。

    • 当前已在临近范围内时,不承诺注册后立即触发。

    • 定位权限不足时允许切换为 TIME Reminder。

6.8 到达后离开提醒

  • 功能:用户先进入指定 Place,稳定停留后再离开该区域时触发 Reminder。

  • 满足价值:覆盖“先到停车区停车,再离开停车区去公司”“先进入取货区,再离开时提醒检查物品”等两阶段场景。

  • 典型场景:用户进入公司停车区,停车后离开停车区时提醒打卡。

  • 详细设计

    • Reminder 类型为 LOCATION_ARRIVE_EXIT

    • 必须绑定代表前置区域的 Place,不自动使用最终目的地中心点。

    • 核心参数包括 enter_radius、exit_radius、min_dwell_seconds、active_from、expires_at 和 trigger_limit。

    • 状态机为 waiting_enter → inside → waiting_exit → triggered。

    • 进入和离开半径可以设置不同值,降低边界抖动。

    • 进入后必须满足最短停留时间,避免路过触发。

    • 对连续进入/离开事件做去抖和幂等处理。

    • 系统只声称检测区域进入和离开,不声称识别停车、下车或步行。

    • 一次性规则触发后立即取消相关围栏。

    • 规则过期、日程取消或 Place 修改后状态机必须失效。

6.9 常用地点

  • 功能:保存和管理用户通过地图选择或明确保存的公司、家、学校、健身房、停车区等 Place,为地点提醒提供稳定坐标和默认半径。

  • 满足价值:用户不需要每次重新搜索地点,Agent 也不会仅凭地点名称猜测坐标。

  • 典型场景:用户首次说“公司停车区”,系统要求用户搜索或地图选点并保存;后续可以直接复用。

  • 详细设计

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

    • 支持地图搜索、当前位置选择和手动移动地图选点。

    • 同名地点需要用户选择。

    • “公司”和“公司停车区”可以是两个独立 Place。

    • 删除 Place 前展示受影响 Reminder。

    • Place 不保存用户实时位置。

    • 用户可以修改名称、坐标和默认半径。

    • 修改 Place 后关联地点 Reminder 需要重新注册。

6.10 通知触达与 TTS

  • 功能:在 Reminder 触发后,根据应用运行状态和用户设置选择应用内弹窗、本地 TTS 或系统通知进行触达。

  • 满足价值:提高前台使用时的感知效率,并为后台、进程死亡和断网状态提供可靠降级。

  • 典型场景:应用在前台时弹出“快到公司了,记得打卡”并朗读;应用被杀时由系统通知和声音提醒。

  • 详细设计

    • 前台且界面可交互:应用内弹窗 + 可配置本地 TTS。

    • 前台但 TTS 被关闭或失败:保留弹窗,并按设置播放系统声音或震动。

    • 后台:系统本地通知 + 声音/震动。

    • 进程死亡:依赖预先注册的系统本地通知或地理围栏事件,不承诺 TTS。

    • 断网:已同步规则照常本地执行;网络不是本地弹窗和 TTS 的必要条件。

    • 通知内容默认简短,避免朗读完整敏感备注。

    • 用户可以设置是否朗读标题、地点和自定义提醒文本。

    • 锁屏或耳机状态等隐私场景可以自动降级为只显示通知,具体策略后续验证。

    • 同一 Reminder 的多个触达渠道必须幂等,避免弹窗和系统通知重复打扰。

    • 记录实际触达渠道、时间和结果。

6.11 提醒同步与执行状态

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

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

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

  • 详细设计

    • 每个 Reminder 具有版本号。

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

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

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

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

    • 注册失败不回滚 Schedule。

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

    • 条件触发与通知触达分别记录,避免把触达失败误判为条件未触发。

    • 两阶段地点提醒需要保存最小本地状态,以便系统事件到达后继续状态迁移。

    • 同一版本的重复事件必须幂等处理。

6.12 设置、权限与隐私

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

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

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

  • 详细设计

    • 权限按使用场景申请。

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

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

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

    • 前台 TTS 首次启用时说明朗读范围和隐私影响。

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

    • 默认不保存连续位置。

    • 原始音频默认不长期保存,具体策略需在隐私规则中明确。

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

    • 提供提醒诊断页面或状态入口,显示通知、定位、后台限制和注册状态。

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

7.1 基本概念总览

概念 定义 作用 边界
Home 产品唯一一级页面 展示月历和日期日程 不作为独立聊天页面
Selected Date 当前用户选中的日期 决定下方日程查询范围 不改变日程本身
Agent 系统中唯一的自然语言业务处理单元 理解意图、维护有限多轮任务上下文、补参、定位对象和生成执行请求 不直接操作数据库实现
Schedule 有完整起止时间的安排 表示明确时间占用 P0 唯一事项对象
Schedule Time State 由当前时间计算的未开始、进行中、已结束 帮助展示日程进度 不代表是否完成
Place 用户通过地图选择或明确保存的地点 支持地点提醒复用 不表示实时位置
Reminder 绑定 Schedule 的提醒规则 描述时间或地点触发条件 不改变 Schedule 本身
Voice Command 一次语音或文字请求 承载查询或操作意图 转写文本不等于业务事实
Interaction Context 当前有限多轮任务上下文 保存当前意图、已收集参数、缺失参数和匹配对象 执行、取消或超时后结束
Action Result 一次写操作的执行结果 展示新值、旧值、受影响提醒和撤销能力 不替代正式业务对象
Reminder Registration 设备上的系统提醒注册 实际执行通知或围栏 与业务规则可能短暂不同步
Reminder Execution 提醒执行记录 追踪条件和触达状态 不保存连续轨迹
Device 当前移动设备 执行本地提醒 P0 不做多设备去重

7.2 对象关系

User
├─ Device
├─ Place
├─ Schedule
│  └─ Reminder
│     ├─ Reminder Registration
│     └─ Reminder Execution
├─ Voice Command
├─ Interaction Context(临时)
├─ Action Result / Operation Log

约束:

  • P0 业务事项只有 Schedule。

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

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

  • LOCATION_APPROACHLOCATION_ARRIVE_EXIT Reminder 必须绑定 Place。

  • TIME Reminder 不要求绑定 Place。

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

  • 删除 Schedule 时取消其全部 Reminder。

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

  • Interaction Context 仅服务于当前一次任务;执行、用户取消或超时后结束,不作为开放式长期聊天记忆。

  • Action Request 必须经过确定性业务校验后才能写入;系统不设置独立的用户确认对象或待确认写操作。

  • 可撤销写操作需要记录 Action Result 或 Operation Log,以支持恢复和问题排查。

7.3 Schedule 时间状态

状态 产生方式 作用 是否持久化
UPCOMING 当前时间早于 start_at 表示日程尚未开始 通常运行时计算
IN_PROGRESS 当前时间位于 start_at 与 end_at 之间 表示日程正在进行 通常运行时计算
ENDED 当前时间晚于 end_at 表示日程时间已经结束 通常运行时计算
CANCELLED 用户取消或删除日程 表示日程不再执行 需要持久化或保留审计记录

时间状态只用于日历展示、查询过滤和提醒生命周期判断。本期不记录日程完成结果,也不据此生成完成情况统计。

7.4 Reminder 类型

对比项 TIME LOCATION_APPROACH LOCATION_ARRIVE_EXIT
触发条件 到达具体时间 进入目标 Place 的临近范围 先进入目标区域并稳定停留,再离开区域
执行方 移动端操作系统 移动端操作系统或平台等价能力 移动端系统事件 + 本地状态机
是否依赖 Place
是否需要定位权限
有效时间 由 trigger_at 决定 必须有 active_from 和 expires_at 必须有 active_from 和 expires_at
关键参数 trigger_at / lead_minutes approach_radius enter_radius、exit_radius、min_dwell_seconds
默认次数 一次 一次 一次
典型场景 会议前十分钟 快到公司时打卡 离开停车区时打卡
主要风险 系统调度延迟 定位精度和已在范围内 GPS 抖动、状态丢失和漏事件

7.5 通知触达层级

客户端状态 首选触达 兜底 TTS 承诺 网络要求
前台且可交互 应用内弹窗 + 本地 TTS 系统通知或声音/震动 可支持,但受用户设置影响 已同步规则不要求网络
前台但 TTS 不可用 应用内弹窗 系统声音/震动 不承诺 已同步规则不要求网络
后台且进程存活 系统本地通知 声音/震动 默认不承诺 不要求实时网络
进程被系统回收 预注册系统通知或围栏通知 应用下次启动显示记录 不承诺 不要求实时网络
无网络但规则已同步 按当前运行状态选择本地触达 状态本地记录,联网后上报 前台可用时可支持 不要求网络
无网络且规则未同步 无法保证新规则触发 显示 pending_sync,联网后注册 不适用 需要恢复网络完成同步

7.6 首页信息结构

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

7.7 跨模块全局能力

能力 出现位置 作用 说明
手动 CRUD 日程列表和详情 Agent 不可用时兜底 调用同一确定性业务能力
语音 CRUD 底部语音按钮 查询和管理日程 缺参时有限追问,条件满足后直接执行
单 Agent 处理 语音请求链路 理解意图、补参、消歧并生成执行请求 不直接持有数据库实现权
有限多轮上下文 当前语音任务 保存必要槽位和目标对象 执行、取消或超时即结束
结果回显与撤销 写操作完成后 展示真实变更并恢复可撤销操作 不等同于执行前确认
日期联动 月历和日程列表 更新当前查看范围 不改变业务数据
提醒配置 有限多轮语音交互、日程详情 创建三种 Reminder 一个日程可有多个规则
地点管理 设置、地点提醒流程 保存和复用 Place 坐标必须由用户地图选择或明确保存
通知触达 前台弹窗、TTS、系统通知 让用户感知 Reminder 按客户端状态降级
权限诊断 设置、提醒失败提示 修复麦克风、通知、定位和后台问题 权限按需申请
提醒同步 客户端全局能力 保持业务规则与设备注册一致 启动、联网和变化时校验
状态追踪 日程详情、设置 展示提醒是否生效 失败不回滚日程
隐私保护 地点、语音、通知 限制敏感数据处理 不保存连续位置轨迹

8. 验收标准

8.1 统一用例

统一用例:

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

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

  2. 为打卡日程增加“进入公司停车区后,离开停车区时提醒”。

  3. 用户先说“明天下午开项目会”,Agent 追问必要时间;用户回答“三点到四点,提前十分钟提醒”,系统直接创建日程和提醒。

  4. 明天晚上七点到八点健身。

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

  6. 查询明天全部安排。

  7. 删除打卡日程,验证系统直接软删除并使两个地点提醒失效。

  8. 点击或说出“撤销刚才的删除”,验证日程恢复,并按规则重新注册有效提醒。

说明:信息结构通过单页原型验证;单 Agent、任务型有限多轮、无独立确认的直接执行、结果回显与撤销,以及语音 CRUD、三类提醒、通知触达、权限和同步通过统一用例实测。

统一输入:

输入项 内容
首页 当前月份月历,默认选中今天
Schedule 1 明天 08:00—09:00 到公司打卡
Place 1 公司,地图选点并保存,临近半径 500 米
位置临近提醒 明天 06:00—10:00 进入公司临近区域时提醒一次
Place 2 公司停车区,地图选点并保存,进入半径 150 米,离开半径 220 米
到达后离开提醒 明天 06:00—10:00 进入停车区并停留 60 秒后,离开时提醒一次
Schedule 2 多轮输入 第一轮“明天下午开项目会”;第二轮“三点到四点,提前十分钟提醒”
时间提醒 提前十分钟
Schedule 3 明天 19:00—20:00 健身
修改 项目会议改到 16:00—17:00
查询 明天有什么安排
删除 删除到公司打卡,目标唯一后直接软删除
撤销 撤销刚才的删除,恢复日程和仍有效的提醒
验证目标 单页首页、日期联动、单 Agent、有限多轮、直接执行、结果回显、软删除与撤销、三类提醒、通知降级、权限和同步

现状:

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

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

  • 简单进入公司范围不能覆盖停车后再离开的场景。

  • 应用前台、后台、进程死亡和断网时的触达方式不一致。

  • 修改日程后需要人工检查旧提醒。

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

提议后形态:

验收项 通过标准 说明
单页首页 ≥6/8 能理解月份、月历、日期日程、设置和语音按钮 信息结构可理解
日期选择 点击日期后正确更新 Schedule 查看逻辑稳定
无底部 Tab 首页不存在额外一级导航 保持单页心智
单一语音入口 只存在底部中央一个语音按钮 统一操作入口
单 Agent 请求链路只经过一个 Agent,不出现主从或子 Agent 调用 符合新版架构
有限多轮 缺少必要参数或对象不唯一时只追问当前任务所需信息;执行、取消或超时后结束 交互边界清晰
无独立确认 不出现通用“是否确认创建/修改/删除”步骤 符合最新产品决策
语音创建 信息完整后直接创建 Schedule,并返回准确结果 捕获有效
语音查询 查询结果与数据库事实一致 查询可信
语音修改 目标唯一后直接修改,并展示实际前后变化、受影响 Reminder 和撤销入口 修改可控
语音删除 目标唯一后软删除,并取消关联规则;支持撤销恢复 高风险边界
TIME Reminder 正确注册本地时间通知 基础提醒有效
LOCATION_APPROACH 正确注册公司临近区域规则 临近提醒有效
LOCATION_ARRIVE_EXIT 正确完成进入、稳定停留、离开和触发状态迁移 两阶段提醒有效
多提醒规则 同一 Schedule 可同时绑定多个 Reminder 模型可扩展
前台通知 触发时显示弹窗并按设置执行 TTS 前台触达有效
后台兜底 应用后台或进程死亡时系统通知仍可触发 兜底有效
断网执行 已同步规则在断网时继续本地执行 不依赖实时网络
提醒同步 修改和删除后旧规则失效 生命周期一致
权限降级 拒绝定位后日程和时间提醒继续使用 核心不中断
Agent 故障 手动 CRUD 和已有提醒继续可用 Agent 非单点
隐私 不上传连续位置轨迹 权限边界明确
撤销 可撤销窗口内能够恢复最近一次支持撤销的创建、修改或软删除 误操作可恢复
可追踪性 请求、有限多轮上下文、执行请求、操作结果、Schedule、Reminder 版本、状态迁移和触达渠道可关联 问题可排查

边界与非法情况:

场景 系统必须如何处理
Schedule 没有完整起止时间 不允许创建正式 Schedule
时间表达存在歧义 继续追问直到时间明确;用户取消或超时则结束且不执行
修改对象不唯一 要求选择
删除对象不唯一 不执行删除
Place 未保存 要求用户搜索或地图选点并保存
Place 有多个同名地点 要求选择
停车区只提供“公司”名称 追问或要求用户选择停车区,不能擅自复用公司坐标
位置临近没有半径 采用可见的场景默认半径并执行,结果中展示该值,允许继续修改
通知权限拒绝 保存 Schedule,Reminder 标记失败
定位权限拒绝 地点提醒不可用,可改为时间提醒
TTS 不可用 保留弹窗或系统通知
提醒规则未同步 显示 pending_sync
日程改期 取消旧注册并注册新规则
日程删除 取消全部关联 Reminder
Place 删除 展示并处理关联地点提醒
用户已在围栏内 不承诺注册后立即触发
两阶段提醒未检测到进入 不能直接用一次离开事件触发
位置事件延迟 不承诺精确到秒
GPS 边界抖动 去抖并使用不同进入/离开半径
Agent 服务不可用 手动 CRUD 和已有提醒继续
网络中断 已注册本地提醒继续,新变更等待同步
进程死亡 使用系统通知兜底,不承诺 TTS
本期不验收 独立待办、多 Tab、语音笔记、Goal、日程完成状态、复盘、自动排期、重排、多 Agent、团队协作、第三方日历和多设备去重

8.2 分模块验收标准

模块 验收标准 详细设计
单页首页信息架构 首页只包含月份、设置、月历、日期日程区和单一语音按钮 单页首页模块
月历与日期选择 正确展示月份、星期、日期、选中状态和日程标记 月历模块
日程展示 所选日期下展示 Schedule,按开始时间排序 日期日程模块
语音入口与有限多轮 单一语音按钮、语音转写、参数补全、对象消歧、直接执行和结果回显 语音输入模块
单 Agent 全部自然语言业务请求由一个 Agent 处理,不存在主从或子 Agent 调用 Agent 模块
有限多轮上下文 只保存当前任务的意图、已收集参数、缺失参数和匹配对象;执行、取消或超时后结束 交互上下文模块
直接执行与结果回显 参数完整、目标唯一且校验通过后直接执行,并返回真实写入结果 语音输入模块
撤销 支持符合条件的创建、修改和软删除恢复 操作日志与撤销模块
Schedule 支持手动和语音 CRUD,正式对象具有完整起止时间 日程模块
TIME Reminder 支持开始前、开始时和自定义时间提醒 时间临近提醒模块
LOCATION_APPROACH 支持进入用户已保存或明确选择的 Place 临近区域时提醒一次 位置临近模块
LOCATION_ARRIVE_EXIT 支持进入、停留、离开后提醒一次 两阶段地点提醒模块
Place 支持地图搜索、当前位置、坐标选择与保存和常用地点管理 常用地点模块
前台触达 应用内弹窗和可配置 TTS 正常工作 通知触达模块
系统兜底 后台、进程死亡和断网场景按平台能力触发系统通知 通知触达模块
提醒同步 新建、修改和删除后设备注册与业务规则一致 提醒同步模块
提醒状态 展示 pending_sync、registered、active、triggered、failed 等状态 状态模块
设置与权限 右上角入口可查看和管理权限、地点、TTS 和默认提醒 设置模块
权限降级 麦克风、通知、定位或 TTS 不可用时有明确替代路径 权限模块
隐私 不保存或上传连续位置轨迹,TTS 不朗读敏感长文本 隐私模块
手动兜底 Agent 或 ASR 不可用时手动 CRUD 正常工作 全局业务能力
数据边界 Agent 不直接操作数据库实现;条件满足后调用确定性业务能力直接执行 Agent 与业务边界
可追踪性 请求、有限多轮上下文、执行请求、操作结果、业务对象、Reminder 版本、状态迁移和触达方式可关联 日志与撤销边界

8.3 用户理解验收

用户需要能回答的问题 通过标准
TimeFlow 和普通日历有什么区别? ≥4/8 能说出语音完整 CRUD 或三类智能提醒
TimeFlow 现在管理哪些事项? 8/8 知道只有日程,没有独立待办
系统中有几个 Agent? 8/8 知道只有一个 Agent
打开应用后首先看到什么? ≥6/8 能说出月历和当天日程
如何查看其他日期? ≥6/8 知道点击月历日期
日程显示在哪里? ≥6/8 知道位于月历下方
如何使用 Agent? ≥6/8 能找到底部中央语音按钮
是否有语音记录或语音笔记? 8/8 知道没有这些独立功能
Agent 什么时候会执行写操作? 8/8 知道缺参或对象不唯一时会追问,信息完整且目标唯一后直接执行并返回结果
是否还会询问“确认创建/修改/删除”? 8/8 知道不会设置通用确认步骤
执行错了怎么办? ≥6/8 知道可以查看实际结果,并对支持撤销的操作立即撤销
“快到公司提醒”如何工作? ≥6/8 知道需要保存公司地点、临近半径和定位权限
“到停车区后离开再提醒”如何工作? ≥6/8 知道要先进入停车区、稳定停留并再离开
它能自动判断我停车或下车了吗? 8/8 知道不能,只能判断地理围栏事件
应用前台时怎么提醒? ≥6/8 知道使用弹窗并可 TTS
应用被杀后怎么提醒? ≥6/8 知道依赖系统本地通知,不保证 TTS
没有网络还能提醒吗? ≥6/8 知道已同步规则可本地执行,新规则需联网同步
App 是否持续记录位置? ≥6/8 知道不保存连续轨迹
拒绝定位后还能用吗? ≥6/8 知道月历、日程和时间提醒仍可用
日程改期后旧提醒怎么办? ≥4/8 知道系统会取消旧规则
地点提醒是否保证精确到秒? ≥6/8 理解可能受系统和定位环境影响

8.4 数据指标验收

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

指标 目标值 说明
首页日期查看成功率 ≥95% 用户正确选择日期并看到对应 Schedule
语音输入到执行完成率 ≥70% 从开始语音到成功执行或得到明确不可执行结果
标准意图识别准确率 ≥90% Schedule CRUD 与 Reminder 配置
单 Agent 请求完成率 ≥90% 不依赖其他 Agent 完成标准业务请求
语音 CRUD 任务成功率 ≥85% 用户最终完成目标操作
查询事实一致率 100% 查询结果与数据库一致
独立确认步骤出现率 0 P0 不展示“是否确认创建/修改/删除”的通用确认步骤
有限多轮任务完成率 ≥85% 缺参或对象不唯一的标准任务最终完成或被用户明确取消
可撤销操作恢复成功率 100% 处于可撤销窗口内的单对象创建、修改或软删除能够恢复
错误对象修改率 ≤2% 修改不作用于错误 Schedule
时间提醒注册成功率 ≥95% 权限和系统能力正常设备
时间提醒受控触发率 ≥95% 测试环境中的有效规则
位置临近围栏注册成功率 ≥90% 权限和设备能力正常
位置临近受控触发率 ≥85% 考虑平台与定位环境
两阶段规则注册成功率 ≥90% 权限和设备能力正常
两阶段状态迁移成功率 ≥80% 完成进入、停留、离开和触发
两阶段误触发率 ≤10% 未完成有效进入时不应触发离开提醒
重复地点提醒率 ≤5% 一次性规则不应反复提醒
过期地点提醒误触发率 0 超出有效期不得触发
前台弹窗触达率 ≥95% 应用前台可交互时
前台 TTS 成功率 ≥90% TTS 已开启且系统能力正常
后台系统通知受控触发率 ≥90% 权限与系统能力正常设备
进程死亡时间提醒触发率 ≥90% 本地时间通知标准测试
断网已同步规则触发率 与联网受控测试差异≤5% 验证本地执行
提醒更新一致率 ≥95% 修改后旧规则正确失效
提醒删除一致率 ≥95% 删除日程后旧规则不触发
提醒失败可见率 100% 注册或触达失败必须显示
手动兜底成功率 ≥95% Agent 不可用时完成 CRUD 和状态更新
连续位置轨迹上传量 0 P0 不上传连续轨迹

8.5 不通过时的收缩路径

失败信号 可能原因 收缩方案
用户看不懂单页结构 月历与日程层级不清 强化日期标题和日程卡片视觉
月历下方内容过多 同一天日程数量高 增加折叠和查看全部
用户很少使用语音 转写慢、多轮过长或直接执行结果不可信 先聚焦创建和查询,减少必填参数并加强结果回显
语音修改错误率高 对象定位复杂 对象不唯一时强制选择;执行后展示前后值并提供撤销
语音删除风险高 同名日程过多或用户表达错误 坚持单对象、目标唯一、软删除和撤销;仍不达标则将语音删除移出 P0
单 Agent 意图过多导致稳定性下降 意图分类或参数结构不清 缩小 P0 意图集、加强结构化工具和回归测试,不立即引入多 Agent
用户不理解位置临近半径 专业参数暴露过多 使用场景化默认值并隐藏高级参数
位置临近价值低 场景不足或精度不稳定 降级为实验能力,保留时间提醒
到达后离开漏触发高 系统围栏事件不稳定或状态丢失 增加本地状态恢复;仍不达标则收缩为普通离开提醒或手动设置
到达后离开误触发高 GPS 抖动或路过目标区域 增加最短停留、不同进出半径和去抖
用户误以为系统能识别停车 文案夸大能力 统一改为“进入区域后离开提醒”,强化边界说明
前台 TTS 打扰用户 内容过长或场景不合适 默认只朗读短标题,允许全局关闭
后台通知漏触发 权限、厂商后台策略或未注册 增加诊断和启动重建;不承诺不可控设备 100%
断网时新提醒未生效 用户不理解同步状态 强化 pending_sync 标识和联网提示
用户拒绝定位权限 隐私顾虑或价值不清 强化用途说明并推荐 TIME Reminder
提醒同步不稳定 版本和设备注册不一致 App 启动时全量重建当前有效规则
手动兜底使用困难 过度依赖 Agent 补齐表单入口和详情编辑能力
用户只需要普通日历 差异化能力没有价值 优先保留最稳定的单页日程与时间提醒,暂停地点实验

Clone this wiki locally