6.0 KiB
6.0 KiB
定时任务模块体验优化 (F-CRON-OPT)
本文档覆盖定时任务(Scheduled Tasks / Cron)模块的两项体验优化:对话头部入口的「空态收敛」,以及任务列表页「创建入口」的双路径化(手动创建 / 对话创建)。 面向新读者:定时任务是 AionUi 中让助手按计划自动执行的能力,用户可在「定时任务」列表页集中管理,也可在对话内由助手协助创建。
背景与名词
- 对话头部入口:每个对话页面左上角的一个时钟图标(组件
CronJobManager),用于提示当前对话是否关联了定时任务,并提供跳转。 - 定时任务列表页:路由
#/scheduled,集中展示用户的所有定时任务,右上角有「创建」按钮。 - 创建弹窗:列表页点击创建后弹出的表单(
CreateTaskDialog),用户在其中手动配置频率、执行模式、助手等。 - 首页:路由
#/guid,新建对话的起始页,中部有输入框(sendbox)。 - 助手记忆:首页会自动恢复用户上一次选择的助手(assistant)及其相关配置,这是已有行为。
(F-CRON-OPT-01) 对话头部入口空态收敛
想解决的问题
当前对话页面左上角,即便用户从未创建过任何定时任务,只要该对话加载了 cron 技能,就会显示一个灰色时钟图标,hover 弹出「立即创建」气泡。这个灰色图标对绝大多数没有定时任务诉求的用户是干扰——它占据标题栏视觉位置,却不对应任何已存在的对象。
期望行为
- 无关联定时任务时:不显示任何图标(无论该对话是否加载了 cron 技能)。
- 有关联定时任务时:保持现状——显示彩色状态图标(绿色=运行中 / 橙色=已暂停 / 红色=出错),点击跳转到该任务的详情页。
改动前后对比
| 场景 | 改动前 | 改动后 |
|---|---|---|
| 无任务 + 无 cron 技能 | 不显示 | 不显示 |
| 无任务 + 有 cron 技能 | 灰色图标 + hover「立即创建」气泡 | 不显示 |
| 有任务 | 彩色状态图标,点击跳详情 | 彩色状态图标,点击跳详情(不变) |
验收标准
- 一个全新对话(未关联任务)的标题栏左上角不出现时钟图标
- 当对话关联的任务被创建后,标题栏出现对应状态色的图标
- 点击该图标跳转到
#/scheduled/:job_id详情页 - 任务暂停 / 出错时图标颜色相应变化
- 子对话(由定时任务派生)仍能通过
cron_job_id正确显示来源任务图标
(F-CRON-OPT-02) 列表页创建入口双路径化
想解决的问题
定时任务的配置项较多(频率、cron 表达式、执行模式、助手、模型、工作空间),手动填表对新用户有门槛。AionUi 已具备「让助手在对话中帮你创建定时任务」的能力,但列表页的「创建」按钮只通向手动弹窗,用户感知不到对话创建这条更轻量的路径。
期望行为
列表页右上角的单一「创建」按钮,改为一个分体下拉按钮(split button):
- 主按钮区域:默认动作 = 对话创建(Create via chat)。点击后跳转到首页,并自动在输入框填入一段定时任务创建提示词,用户可直接发送或修改后发送,由助手完成创建。
- 下拉箭头区域:展开两个选项
- Create via chat(对话创建):同主按钮动作。
- Create manually(手动创建):保持现状,弹出
CreateTaskDialog表单。
对话创建路径的细节
- 跳转到首页后,输入框预填提示词,内容沿用现有的默认提示词文案(i18n key
cron.status.defaultPrompt),不改动文案。 - 助手沿用首页既有逻辑:本功能只负责填入提示词,不指定 / 不重置助手。首页默认恢复用户上一次选择的助手,符合「轻量引导、尊重用户上下文」的预期。
- 预填发生在首页挂载时:首页原本会在挂载时清空输入框草稿,新增逻辑为——若本次跳转携带了预填提示词,则填入提示词而非清空。
验收标准
- 列表页右上角显示分体下拉按钮,主区域文案为「对话创建」
- 点击主区域 → 跳转首页,输入框自动填入默认提示词
- 跳转后首页选中的助手与用户上一次使用的一致(未被强制重置)
- 展开下拉 → 显示「对话创建」「手动创建」两项
- 点击「手动创建」→ 弹出创建表单(与原「创建」按钮行为一致)
- 点击「对话创建」(下拉项)→ 与主区域动作一致
- 预填后,首页其他草稿状态(文件、工作空间)按既有规则处理,不被预填逻辑破坏
国际化
- 复用:
cron.status.defaultPrompt(对话创建预填的提示词)。 - 新增:分体下拉两项的文案
- 「对话创建」label
- 「手动创建」label
- 覆盖语言:与 cron 模块现有 i18n 一致的全部语言。
影响范围(供技术参考)
| 模块 | 文件 | 改动性质 |
|---|---|---|
| 对话头部入口 | pages/cron/components/CronJobManager.tsx |
移除无任务时的灰色入口分支 |
| 列表页创建入口 | pages/cron/ScheduledTasksPage/index.tsx |
单按钮改分体下拉,新增 via chat 跳转 |
| 首页预填 | pages/guid/GuidPage.tsx |
挂载时按 location.state 预填提示词 |
| 文案 | cron 模块 i18n 资源 | 复用 1 + 新增 2 |