Agent 四 Tab 信息精简与任务同步范围输入 #100

Closed
opened 2026-08-26 16:21:59 +08:00 by ila · 4 comments
Owner

所属与来源

  • 父 MVP:#86 Android Agent 设备端任务中心与现场运维。
  • 关联:#98 状态 Tab 下拉检查任务;#99 任务记录下拉刷新与按范围同步。
  • 来源:用户于 2026-08-26 对 Agent 0.8.0 真机界面提出精简反馈,并确认采用评审后的优化方案。
  • 类型:Android / 四 Tab 信息密度 / 设置交互。
  • 当前阶段:v2 原型已由用户于 2026-08-26 明确审核通过;Android 生产实现已提交,等待真机/用户验收。

目标

减少四个 Tab 顶部及设置表单中的重复说明,保留异常诊断和必要反馈;把任务记录范围改为更紧凑、可输入的 1~30 天整数控件。

已确认方案

四个 Tab 标题

  • 状态、采集、采购、设置 Tab 的页面标题下方不再固定显示说明文字。
  • 页面标题保留;底部四 Tab、列表、筛选、下拉刷新和加载/失败反馈保持。
  • 删除固定提示不等于删除运行反馈:下拉仍显示正在刷新、已更新、已是最新或失败;加载失败仍有可见重试入口。

状态 Tab

  • 正常空闲时,上方保留“在线 · 空闲”摘要,不再重复显示“设备在线空闲”。
  • 无障碍正常时只显示“无障碍:已开启”,删除“可以执行任务”。
  • 异常、忙碌或未就绪时仍必须显示具体原因和恢复提示,例如网络失败、无障碍未开启/等待连接、任务执行中;不得因精简隐藏异常。
  • 不改变 #98 的自动轮询、下拉立即检查、采购优先或单设备串行。

设置 Tab 精简与排序

  • 删除服务器地址下方“请输入完整的 HTTP 或 HTTPS 地址”。
  • 删除设备名称下方“用于管理端识别这台手机”。
  • 必须保留“服务器地址”“设备名称”可见字段标签、输入值、错误提示和保存/测试反馈。
  • 区块顺序调整为:连接设置 → 无障碍服务 → 任务记录 → 设备与诊断。

任务记录范围

  • 取消固定 1/3/7/15/30 天按钮组。
  • 改为同一行:最近 [整数输入] 天 [同步记录]。
  • 支持任意 1~30 的整数,默认 7;使用数字键盘。
  • 空值、0、负数、小数、非数字或大于 30 均不得发起同步,输入框就近提示“请输入 1~30 天”,并把焦点留在输入框。
  • 不静默截断或自动改成 30;只有有效值才保存。
  • 输入框建议 72~88dp,输入和同步按钮高度至少 48dp,间距至少 8dp;大字体或窄屏允许自然换为两行,不能压缩触控区域。
  • 同步中禁用输入和按钮,按钮显示“正在同步…”;完成后恢复。
  • 同步结果和最近同步时间继续放在下一行,保留完整、空、部分和失败状态。
  • 不改变 #99 当前 Device Token 隔离、摘要缓存、详情按需读取和数据最小化边界。

非目标与安全边界

  • 不修改历史接口 days=1..30 契约,不增加数据库迁移。
  • 不领取、创建、执行、重置、重新采集或重新采购任务。
  • 不打开 PDD、不修改地址、不创建订单、不支付。
  • 不保存 Token 明文、完整规则、PDD URL、地址、控件树或截图。

原型范围

复用 Agent QuantUX App 6a8d4607191a826306a7efec,保持 390×844 深色 Material 四 Tab风格。至少覆盖:

  1. 状态正常:无标题副说明,无重复“设备在线空闲”,无障碍为“已开启”;
  2. 状态异常:异常原因和恢复提示仍显示;
  3. 采集记录:无标题副说明,列表与下拉反馈保留;
  4. 采购记录:无标题副说明,列表与下拉反馈保留;
  5. 设置默认:新区块顺序、精简字段、默认最近 7 天;
  6. 设置输入错误:展示“请输入 1~30 天”且不发请求;
  7. 设置同步中:输入与按钮禁用;
  8. 设置同步完成/部分失败:结果和最近同步时间可读。

设计门禁

  • 已确认原型为 prototypes/100/v2/index.html,资源使用相对路径并可离线浏览。
  • 检查主要入口、交互线、输入、错误、禁用状态和底部导航。
  • 工单记录 QuantUX App、在线入口、本地路径、版本、验证结果和 Git 提交。
  • 用户已于 2026-08-26 明确审核 v2 通过,设计门禁已解除。

验收标准

  • 四个 Tab 标题下无固定提示语。
  • 状态正常信息不重复,异常信息仍明确可恢复。
  • 设置字段辅助说明被移除,但字段标签和错误反馈完整。
  • 无障碍区块位于任务记录上方。
  • 任务范围支持 1~30 整数、默认 7、数字输入和就近错误。
  • 输入与同步按钮同一行,窄屏/大字体不损失 48dp 触控区域。
  • 同步中、完整、空、部分和失败反馈完整。
  • 不包含任何任务执行、PDD、订单或支付能力。
  • QuantUX 可点击,本地 HTML 可离线浏览。
  • 用户明确审核 v2 原型通过。

前置依赖与文档影响

  • 依赖 #98、#99 的已实现界面和交互事实;可在两者待验收期间独立设计。
  • 原型阶段无长期事实变化,跳过 Wiki。生产实现获批后按实际行为更新 Android Agent 相关 Wiki。
## 所属与来源 - 父 MVP:#86 Android Agent 设备端任务中心与现场运维。 - 关联:#98 状态 Tab 下拉检查任务;#99 任务记录下拉刷新与按范围同步。 - 来源:用户于 2026-08-26 对 Agent 0.8.0 真机界面提出精简反馈,并确认采用评审后的优化方案。 - 类型:Android / 四 Tab 信息密度 / 设置交互。 - 当前阶段:**v2 原型已由用户于 2026-08-26 明确审核通过;Android 生产实现已提交,等待真机/用户验收。** ## 目标 减少四个 Tab 顶部及设置表单中的重复说明,保留异常诊断和必要反馈;把任务记录范围改为更紧凑、可输入的 1~30 天整数控件。 ## 已确认方案 ### 四个 Tab 标题 - 状态、采集、采购、设置 Tab 的页面标题下方不再固定显示说明文字。 - 页面标题保留;底部四 Tab、列表、筛选、下拉刷新和加载/失败反馈保持。 - 删除固定提示不等于删除运行反馈:下拉仍显示正在刷新、已更新、已是最新或失败;加载失败仍有可见重试入口。 ### 状态 Tab - 正常空闲时,上方保留“在线 · 空闲”摘要,不再重复显示“设备在线空闲”。 - 无障碍正常时只显示“无障碍:已开启”,删除“可以执行任务”。 - 异常、忙碌或未就绪时仍必须显示具体原因和恢复提示,例如网络失败、无障碍未开启/等待连接、任务执行中;不得因精简隐藏异常。 - 不改变 #98 的自动轮询、下拉立即检查、采购优先或单设备串行。 ### 设置 Tab 精简与排序 - 删除服务器地址下方“请输入完整的 HTTP 或 HTTPS 地址”。 - 删除设备名称下方“用于管理端识别这台手机”。 - 必须保留“服务器地址”“设备名称”可见字段标签、输入值、错误提示和保存/测试反馈。 - 区块顺序调整为:连接设置 → 无障碍服务 → 任务记录 → 设备与诊断。 ### 任务记录范围 - 取消固定 1/3/7/15/30 天按钮组。 - 改为同一行:`最近 [整数输入] 天 [同步记录]`。 - 支持任意 1~30 的整数,默认 7;使用数字键盘。 - 空值、0、负数、小数、非数字或大于 30 均不得发起同步,输入框就近提示“请输入 1~30 天”,并把焦点留在输入框。 - 不静默截断或自动改成 30;只有有效值才保存。 - 输入框建议 72~88dp,输入和同步按钮高度至少 48dp,间距至少 8dp;大字体或窄屏允许自然换为两行,不能压缩触控区域。 - 同步中禁用输入和按钮,按钮显示“正在同步…”;完成后恢复。 - 同步结果和最近同步时间继续放在下一行,保留完整、空、部分和失败状态。 - 不改变 #99 当前 Device Token 隔离、摘要缓存、详情按需读取和数据最小化边界。 ## 非目标与安全边界 - 不修改历史接口 `days=1..30` 契约,不增加数据库迁移。 - 不领取、创建、执行、重置、重新采集或重新采购任务。 - 不打开 PDD、不修改地址、不创建订单、不支付。 - 不保存 Token 明文、完整规则、PDD URL、地址、控件树或截图。 ## 原型范围 复用 Agent QuantUX App `6a8d4607191a826306a7efec`,保持 390×844 深色 Material 四 Tab风格。至少覆盖: 1. 状态正常:无标题副说明,无重复“设备在线空闲”,无障碍为“已开启”; 2. 状态异常:异常原因和恢复提示仍显示; 3. 采集记录:无标题副说明,列表与下拉反馈保留; 4. 采购记录:无标题副说明,列表与下拉反馈保留; 5. 设置默认:新区块顺序、精简字段、默认最近 7 天; 6. 设置输入错误:展示“请输入 1~30 天”且不发请求; 7. 设置同步中:输入与按钮禁用; 8. 设置同步完成/部分失败:结果和最近同步时间可读。 ## 设计门禁 - 已确认原型为 `prototypes/100/v2/index.html`,资源使用相对路径并可离线浏览。 - 检查主要入口、交互线、输入、错误、禁用状态和底部导航。 - 工单记录 QuantUX App、在线入口、本地路径、版本、验证结果和 Git 提交。 - 用户已于 2026-08-26 明确审核 v2 通过,设计门禁已解除。 ## 验收标准 - [ ] 四个 Tab 标题下无固定提示语。 - [ ] 状态正常信息不重复,异常信息仍明确可恢复。 - [ ] 设置字段辅助说明被移除,但字段标签和错误反馈完整。 - [ ] 无障碍区块位于任务记录上方。 - [ ] 任务范围支持 1~30 整数、默认 7、数字输入和就近错误。 - [ ] 输入与同步按钮同一行,窄屏/大字体不损失 48dp 触控区域。 - [ ] 同步中、完整、空、部分和失败反馈完整。 - [ ] 不包含任何任务执行、PDD、订单或支付能力。 - [x] QuantUX 可点击,本地 HTML 可离线浏览。 - [x] 用户明确审核 v2 原型通过。 ## 前置依赖与文档影响 - 依赖 #98、#99 的已实现界面和交互事实;可在两者待验收期间独立设计。 - 原型阶段无长期事实变化,跳过 Wiki。生产实现获批后按实际行为更新 Android Agent 相关 Wiki。
Author
Owner

原型 v1 已完成,等待审核

覆盖范围

  • 状态、采集、采购、设置四个 Tab 去除标题下方固定提示语。
  • 状态页合并重复状态文案,正常状态仅保留“在线 · 空闲”“无障碍:已开启”;异常状态仍保留原因和恢复提示。
  • 设置页去除服务器地址和设备名称下方辅助说明。
  • 设置页区块调整为:连接设置 → 无障碍服务 → 任务记录 → 设备与诊断。
  • 任务记录改为同一行“最近 [整数] 天 [同步记录]”,默认 7 天,支持 1~30 天;错误、同步中、完成和部分失败状态均已覆盖。

验证

  • QuantUX 导出校验:PASS(60 screens / 1341 widgets / 389 flows / runtimeErrors 0 / unsupported 0)。
  • 本地 HTML 实际浏览检查通过:默认 7、31 天错误提示“请输入 1~30 天”、同步中禁用反馈、四 Tab 精简文案。
  • python dev_scripts/harness.py check --strict:通过。
  • 未修改 Agent 生产代码;没有长期文档事实变化,因此不更新 Wiki。

请先审核原型;确认后再进入生产代码实施。

## 原型 v1 已完成,等待审核 - QuantUX:<https://qux.ilapage.cn/#/apps/6a8d4607191a826306a7efec.html> - 入口:先进入旧版“设置” → “演示任务记录同步” → “查看 #100 精简版” - 本地审核快照:`prototypes/100/v1/index.html` - 提交:`d1926ab` ### 覆盖范围 - 状态、采集、采购、设置四个 Tab 去除标题下方固定提示语。 - 状态页合并重复状态文案,正常状态仅保留“在线 · 空闲”“无障碍:已开启”;异常状态仍保留原因和恢复提示。 - 设置页去除服务器地址和设备名称下方辅助说明。 - 设置页区块调整为:连接设置 → 无障碍服务 → 任务记录 → 设备与诊断。 - 任务记录改为同一行“最近 [整数] 天 [同步记录]”,默认 7 天,支持 1~30 天;错误、同步中、完成和部分失败状态均已覆盖。 ### 验证 - QuantUX 导出校验:PASS(60 screens / 1341 widgets / 389 flows / runtimeErrors 0 / unsupported 0)。 - 本地 HTML 实际浏览检查通过:默认 7、31 天错误提示“请输入 1~30 天”、同步中禁用反馈、四 Tab 精简文案。 - `python dev_scripts/harness.py check --strict`:通过。 - 未修改 Agent 生产代码;没有长期文档事实变化,因此不更新 Wiki。 请先审核原型;确认后再进入生产代码实施。
Author
Owner

原型 v2:修正旧页面入口误导

用户复核指出:进入采集、采购 Tab 后仍看到“采集任务编号 / 采购任务编号”。

根因是 v1 继续复用 #87 的大型历史原型,离线导出和线上打开时仍从旧版状态页启动;从旧版底部 Tab 进入的也是旧采集/采购页面。#100 新页面虽然已去掉字段标题,但入口层级过深,导致审核看到旧页面。

修正

  • 将 #100 的 8 个审核页面拆成独立 QuantUX App,打开后直接进入 #100 新状态页。
  • 底部四个 Tab 全部只连接 #100 新页面。
  • 采集、采购页不显示“采集任务编号 / 采购任务编号”字段标题。
  • 搜索框和搜索按钮继续保留,框内只使用较短的输入提示,不改变已确认的按任务编号搜索能力。
  • v1 保留为历史审核证据,不原位覆盖。

审核入口

验证

  • QuantUX:PASS(8 screens / 169 widgets / 32 flows / runtimeErrors 0 / unsupported 0)。
  • 本地浏览器实际检查:默认打开 #100 新状态页;进入采集、采购 Tab 后均未出现上述两个字段标题。
  • python dev_scripts/harness.py check --strict:通过。
  • 仍未修改 Agent 生产代码,等待用户审核 v2。
## 原型 v2:修正旧页面入口误导 用户复核指出:进入采集、采购 Tab 后仍看到“采集任务编号 / 采购任务编号”。 根因是 v1 继续复用 #87 的大型历史原型,离线导出和线上打开时仍从旧版状态页启动;从旧版底部 Tab 进入的也是旧采集/采购页面。#100 新页面虽然已去掉字段标题,但入口层级过深,导致审核看到旧页面。 ### 修正 - 将 #100 的 8 个审核页面拆成独立 QuantUX App,打开后直接进入 #100 新状态页。 - 底部四个 Tab 全部只连接 #100 新页面。 - 采集、采购页不显示“采集任务编号 / 采购任务编号”字段标题。 - 搜索框和搜索按钮继续保留,框内只使用较短的输入提示,不改变已确认的按任务编号搜索能力。 - v1 保留为历史审核证据,不原位覆盖。 ### 审核入口 - QuantUX v2:<https://qux.ilapage.cn/#/apps/6a8ea82b191a826306a7f34a.html> - 本地快照:`prototypes/100/v2/index.html` - 提交:`047914a` ### 验证 - QuantUX:PASS(8 screens / 169 widgets / 32 flows / runtimeErrors 0 / unsupported 0)。 - 本地浏览器实际检查:默认打开 #100 新状态页;进入采集、采购 Tab 后均未出现上述两个字段标题。 - `python dev_scripts/harness.py check --strict`:通过。 - 仍未修改 Agent 生产代码,等待用户审核 v2。
Author
Owner

生产实现已完成,等待验收

用户已于 2026-08-26 明确确认 #100 v2 原型通过,本次按 prototypes/100/v2/index.html 完成 Android 实施。

实现

  • 状态、采集、采购、设置四个 Tab 删除标题下固定说明,保留页面标题、下拉刷新和运行反馈。
  • 正常在线空闲时隐藏重复的“设备在线空闲”,仍显示“在线 · 空闲”和最近心跳;任务结束、连接失败、忙碌等有意义的信息继续显示。
  • 状态页无障碍正常时只显示“已开启”;等待连接或未开启时继续显示恢复提示。
  • 设置页删除服务器地址、设备名称的重复辅助文字。
  • 设置区块顺序调整为:连接设置 → 无障碍服务 → 任务记录 → 设备与诊断。
  • 固定 1/3/7/15/30 天按钮改为同一行“最近 [整数] 天 [同步记录]”;输入和按钮保持至少 48dp。
  • 范围支持任意 1~30 整数、默认 7;空值、0、负数、小数、非数字和大于 30 均由策略拒绝,界面就近提示“请输入 1~30 天”并保留焦点。
  • 只有校验通过并准备发起同步时才保存范围;同步期间输入框和按钮禁用,结束后恢复。
  • 新增状态精简策略和范围解析单元测试。

验证

  • .\scripts\verify.ps1 -Component android:通过(Debug/Release 单元测试、Debug APK)。
  • .\gradlew.bat testDebugUnitTest assembleDebug:通过。
  • python dev_scripts/harness.py check --strict:通过。
  • python dev_scripts/harness.py sync --check:通过。
  • git diff --check:通过。
  • 未安装到真机,动态字体和真实窄屏布局待用户验收时复核;本次没有任务执行、PDD、采购、创建订单或支付行为。

长期文档

已按 Wiki-first 更新并在线回读:

  • Business-Rules-and-Glossary revision 77490befcdc5fdb3fb58adbe8f94578e5eba9336
  • Android-Agent-API-Contract revision d9a3260c7d5953df54eb10233586f601cbf4fcc3

本地镜像已同步且一致性检查通过。

提交

  • a181b2a feat: refine Agent task center UI (#100)
  • 已推送到 origin/main。

工单保持开启并停在待验收。

## 生产实现已完成,等待验收 用户已于 2026-08-26 明确确认 #100 v2 原型通过,本次按 `prototypes/100/v2/index.html` 完成 Android 实施。 ### 实现 - 状态、采集、采购、设置四个 Tab 删除标题下固定说明,保留页面标题、下拉刷新和运行反馈。 - 正常在线空闲时隐藏重复的“设备在线空闲”,仍显示“在线 · 空闲”和最近心跳;任务结束、连接失败、忙碌等有意义的信息继续显示。 - 状态页无障碍正常时只显示“已开启”;等待连接或未开启时继续显示恢复提示。 - 设置页删除服务器地址、设备名称的重复辅助文字。 - 设置区块顺序调整为:连接设置 → 无障碍服务 → 任务记录 → 设备与诊断。 - 固定 1/3/7/15/30 天按钮改为同一行“最近 [整数] 天 [同步记录]”;输入和按钮保持至少 48dp。 - 范围支持任意 1~30 整数、默认 7;空值、0、负数、小数、非数字和大于 30 均由策略拒绝,界面就近提示“请输入 1~30 天”并保留焦点。 - 只有校验通过并准备发起同步时才保存范围;同步期间输入框和按钮禁用,结束后恢复。 - 新增状态精简策略和范围解析单元测试。 ### 验证 - `.\scripts\verify.ps1 -Component android`:通过(Debug/Release 单元测试、Debug APK)。 - `.\gradlew.bat testDebugUnitTest assembleDebug`:通过。 - `python dev_scripts/harness.py check --strict`:通过。 - `python dev_scripts/harness.py sync --check`:通过。 - `git diff --check`:通过。 - 未安装到真机,动态字体和真实窄屏布局待用户验收时复核;本次没有任务执行、PDD、采购、创建订单或支付行为。 ### 长期文档 已按 Wiki-first 更新并在线回读: - `Business-Rules-and-Glossary` revision `77490befcdc5fdb3fb58adbe8f94578e5eba9336` - `Android-Agent-API-Contract` revision `d9a3260c7d5953df54eb10233586f601cbf4fcc3` 本地镜像已同步且一致性检查通过。 ### 提交 - `a181b2a feat: refine Agent task center UI (#100)` - 已推送到 `origin/main`。 工单保持开启并停在待验收。
Author
Owner

用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。

用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。
ila closed this issue 2026-08-28 15:07:12 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#100