兼容 PDD 商品页安全规格入口并补充诊断 #208

Open
opened 2026-09-03 16:20:43 +08:00 by ila · 2 comments
Owner

来源与目标

2026-09-03 用户报告本地 USB 真机采购任务 CG63 在重试后报“没有找到安全商品规格入口”。目标是在不放宽到任意文字点击的前提下,兼容 PDD 商品页的安全规格入口,并留下不含原始控件树/截图的结构化诊断。

当前事实

  • CG63 在 openSpecPanel 的候选筛选阶段失败,尚未点击入口、下单或支付。
  • 当前候选仅来自语义规格摘要(前缀为“请选择 / 选择 / 已选”且含规格词)或严格位置约束的底部购买/拼单入口。
  • 已安装 #207 构建(versionName 0.9.39、versionCode 52);CG63 的本次错误证明现有入口规则仍无法覆盖该页面形态。
  • 当前 Agent 对该失败没有候选数量、排除原因等结构化诊断;不得保存原始无障碍控件树或整屏截图。

范围

  1. Android:为采购规格入口未找到/候选不唯一记录最小化结构化证据(候选数量、入口来源、是否已有规格面板及安全拒绝类别计数)。
  2. Android:仅以既有商品页证据与严格页面位置、规格/选择语义、可点击父容器的组合扩展安全入口识别;评价、评论、晒单、问答、订单、提交订单和支付区域永久排除。
  3. 补充单测,覆盖新增允许形态与拒绝形态。
  4. 更新长期业务规则,在线回读后同步 Wiki 镜像;若无关脏改动阻止同步,记录保护原因且不覆盖。

非目标

  • 不修改服务端、采购任务状态机或采购规则快照。
  • 不自动重试、创建订单或支付。
  • 不使用 OCR/VLM,不保存原始控件树、截图或个人数据。

方案与设计证据

这是恢复既有“打开安全规格面板”行为的 Android 缺陷修复,无新页面、导航或用户可见交互;以现有 PddScreenParser 的安全语义和测试快照为设计证据。新候选必须满足多项共同证据,规则别名只能收窄语义候选,不能成为原始页面文字查询。

验收

  • 目标形态能产生唯一安全规格入口,并只点击其可点击父容器。
  • 评价/评论/晒单/问答以及订单、提交订单、支付区域不能成为候选。
  • 诊断不含控件文本、节点路径、截图或原始树。
  • Android 相关单测和 Debug APK 构建通过。
  • 不执行真机任务重试、下单或支付;真机验证由人工授权后进行。

风险与依赖

页面结构随 PDD 版本变化;以严格组合证据降低误点风险。无外部依赖;可与服务端任务无关。长期文档影响:Business-Rules-and-Glossary 的商品规格入口安全边界。

## 来源与目标 2026-09-03 用户报告本地 USB 真机采购任务 CG63 在重试后报“没有找到安全商品规格入口”。目标是在不放宽到任意文字点击的前提下,兼容 PDD 商品页的安全规格入口,并留下不含原始控件树/截图的结构化诊断。 ## 当前事实 - CG63 在 `openSpecPanel` 的候选筛选阶段失败,尚未点击入口、下单或支付。 - 当前候选仅来自语义规格摘要(前缀为“请选择 / 选择 / 已选”且含规格词)或严格位置约束的底部购买/拼单入口。 - 已安装 #207 构建(versionName 0.9.39、versionCode 52);CG63 的本次错误证明现有入口规则仍无法覆盖该页面形态。 - 当前 Agent 对该失败没有候选数量、排除原因等结构化诊断;不得保存原始无障碍控件树或整屏截图。 ## 范围 1. Android:为采购规格入口未找到/候选不唯一记录最小化结构化证据(候选数量、入口来源、是否已有规格面板及安全拒绝类别计数)。 2. Android:仅以既有商品页证据与严格页面位置、规格/选择语义、可点击父容器的组合扩展安全入口识别;评价、评论、晒单、问答、订单、提交订单和支付区域永久排除。 3. 补充单测,覆盖新增允许形态与拒绝形态。 4. 更新长期业务规则,在线回读后同步 Wiki 镜像;若无关脏改动阻止同步,记录保护原因且不覆盖。 ## 非目标 - 不修改服务端、采购任务状态机或采购规则快照。 - 不自动重试、创建订单或支付。 - 不使用 OCR/VLM,不保存原始控件树、截图或个人数据。 ## 方案与设计证据 这是恢复既有“打开安全规格面板”行为的 Android 缺陷修复,无新页面、导航或用户可见交互;以现有 `PddScreenParser` 的安全语义和测试快照为设计证据。新候选必须满足多项共同证据,规则别名只能收窄语义候选,不能成为原始页面文字查询。 ## 验收 - 目标形态能产生唯一安全规格入口,并只点击其可点击父容器。 - 评价/评论/晒单/问答以及订单、提交订单、支付区域不能成为候选。 - 诊断不含控件文本、节点路径、截图或原始树。 - Android 相关单测和 Debug APK 构建通过。 - 不执行真机任务重试、下单或支付;真机验证由人工授权后进行。 ## 风险与依赖 页面结构随 PDD 版本变化;以严格组合证据降低误点风险。无外部依赖;可与服务端任务无关。长期文档影响:Business-Rules-and-Glossary 的商品规格入口安全边界。
Author
Owner

已完成并推送,待验收。

实现:

  • 支持 PDD 将“请选择”和颜色/尺码语义拆分到同一可点击父容器的规格行。该容器必须唯一、位于非底部动作区、同时包含选择前缀与规格语义。
  • 评价、评论、晒单、问答、订单、提交订单、支付、付款相关容器仍被固定排除;规则别名仍只能收窄已验证的语义候选。
  • 规格入口未找到或候选不唯一时,记录仅含候选数量和来源计数的标量诊断,不包含节点文本、路径、原始控件树或截图。

提交:fd013c6 fix(agent): 兼容嵌套规格入口 (#208)
验证:PddProductDetailCollectorTest、PurchaseRehearsalExecutorTest 通过;:app:assembleDebug 通过;harness.py check --strict 通过;git diff --check 通过;harness.py sync --check 已执行。
文档:线上 Business-Rules-and-Glossary 已更新并在线回读,revision 19178fdb0d1ea547d6c8cfa31043680eac53df73。harness.py sync 因既有无关改动 docs/12-syb-erp-interface.md 的保护机制被阻止,未覆盖该文件。

未安装本次 APK,也未自动重试 CG63、创建订单或支付。

已完成并推送,待验收。 实现: - 支持 PDD 将“请选择”和颜色/尺码语义拆分到同一可点击父容器的规格行。该容器必须唯一、位于非底部动作区、同时包含选择前缀与规格语义。 - 评价、评论、晒单、问答、订单、提交订单、支付、付款相关容器仍被固定排除;规则别名仍只能收窄已验证的语义候选。 - 规格入口未找到或候选不唯一时,记录仅含候选数量和来源计数的标量诊断,不包含节点文本、路径、原始控件树或截图。 提交:fd013c6 fix(agent): 兼容嵌套规格入口 (#208) 验证:PddProductDetailCollectorTest、PurchaseRehearsalExecutorTest 通过;:app:assembleDebug 通过;harness.py check --strict 通过;git diff --check 通过;harness.py sync --check 已执行。 文档:线上 Business-Rules-and-Glossary 已更新并在线回读,revision 19178fdb0d1ea547d6c8cfa31043680eac53df73。harness.py sync 因既有无关改动 docs/12-syb-erp-interface.md 的保护机制被阻止,未覆盖该文件。 未安装本次 APK,也未自动重试 CG63、创建订单或支付。
Author
Owner

已按用户授权将 #208 的 Debug APK 覆盖安装到 USB 设备 3B65BD02H7F00000。ADB 安装成功;包 cn.ilapage.goauto.agent 的 versionName 为 0.9.39、versionCode 为 52。未自动领取或重试 CG63,未执行下单或支付。

已按用户授权将 #208 的 Debug APK 覆盖安装到 USB 设备 3B65BD02H7F00000。ADB 安装成功;包 cn.ilapage.goauto.agent 的 versionName 为 0.9.39、versionCode 为 52。未自动领取或重试 CG63,未执行下单或支付。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#208