来源:用户于 2026-09-01 真机反馈,最新 Agent 在规格面板选择颜色和尺码后,没有从规格面板中间下滑以完整显示收货地址入口,随后报“收货地址入口不唯一”;用户确认“修复”。
0.9.38 (51)
http://192.168.0.224:8010
PurchaseLiveAutomation.updateShippingAddress
PURCHASE_ADDRESS_ENTRY_AMBIGUOUS
AMBIGUOUS
修复 Android Agent 的收货地址入口定位:在唯一规格面板中处理局部/重复地址节点,必要时先有限下滑完整显示地址卡片,再安全点击唯一入口。
origin/fix/192-order-result-scroll
PurchaseLiveAutomation
GoAutoAccessibilityService
恢复既有 Android 自动化行为的非 UI Bug,不新增页面、组件或交互,无需原型;以现有规格面板中间下滑行为、采购安全规则和回归测试为设计证据。
PurchaseLiveAutomationTest
地址修改处于正式采购流程,错误点击可能修改错误地址并影响订单。所有合并必须受同一面板、同一视觉区域或同一可点击卡片约束;不确定时停止。
预计无长期文档影响:仅修复 Android 既有实现偏差,不改变接口、状态、配置、业务安全边界或运维方式,完成时复核。
当前会话无可调用的 Gitea MCP,按规则回退 Gitea API;使用 Git 已配置安全凭据,凭据不写入工单、代码或日志。
GoAutoAccessibilityServicePolicyTest
.\\scripts\\verify.ps1 -Component android
git diff --check
fcb5cf5e789de933051d0c64416908997e243898
fix/193-address-entry-reveal
origin/fix/193-address-entry-reveal
无长期文档影响:仅修复 Android 既有自动化实现偏差,不改变接口、数据、状态、配置、安全边界或运维方式,因此跳过 Wiki 更新及镜像同步。
未安装到真机,也未执行正式采购验收;正式采购可能创建真实订单,必须另行获得人工授权。永久禁止支付。
工单保持打开,当前为待验收;未经用户明确验收不关闭。
用户安装提交 fcb5cf5 后真机复测:Agent 已按预期在规格面板中间下滑并完整显示地址入口,但随后报“没有找到唯一的规格面板滚动区域”。
fcb5cf5
#193 当前实现每轮都先重新要求唯一 scrollable 规格面板,再检查地址入口。PDD 下滑完成后会改变该区域的无障碍语义,原面板可能不再标记为 scrollable 或滚动节点结构变化;因此地址已完整出现仍在检查前失败。这是 #193 同一流程的回归,不扩大工单范围。
scrollable
安全边界不变:不重试真机采购、不创建订单、不执行支付;不同地址入口仍不猜测。
14459ead62e537451d211899a5d492380fb14b23
无长期文档影响,继续跳过 Wiki 更新。修订 APK 尚未覆盖安装到手机,也未执行正式采购;真机安装和采购验收需用户明确授权,永久禁止支付。
工单保持打开,等待验收。
安装提交 14459ea 后,CG56 在地址流程报“没有找到唯一的规格面板滚动区域”。该错误说明本次进入地址流程时,PDD 从一开始就未暴露唯一、满足尺寸条件的 scrollable 面板,因此上一修订保存可信面板范围的逻辑尚未建立。
14459ea
当前结构化日志未记录滚动候选数,无法区分 0 个或多个;两者共同根因是把不稳定的 PDD scrollable 属性当成了中间下滑的唯一授权证据。
PurchaseExecutionInput
安全边界不变:不重试 CG56、不创建订单、不支付;不保存控件树或截图。
bb879be8365644cc0bb6444e0850ac18d3bf9628
无接口、数据库、状态、配置、业务安全边界或运维变化,无长期文档影响,跳过 Wiki 更新。新 APK 尚未安装,未重试 CG56,未创建订单,未支付。
工单保持打开,等待真机验收。
用户已明确授权继续 #193 的安装和 CG56 正式采购回归。已完成:
a1a9343
failed
irreversible_at=NULL
尝试在 Agent 自身 UID 内通过生产 /reset 契约发起幂等重试时,服务端因设备尚未恢复心跳返回“原设备当前离线,不能就地重试”,任务状态未变化。随后发现 connectedDebugAndroidTest 在测试结束清理时自动卸载了目标 Debug 包,导致 Agent 本地设置、历史库及 Android Keystore 设备凭据被清除。已立即重新安装同一最终 APK,但原 Device Token 无法恢复:服务端只保存摘要,Keystore 密钥已随卸载删除。
/reset
connectedDebugAndroidTest
当前阻塞:需要操作员在 Agent 中重新配置服务地址,并通过 Admin 正常注册/绑定设备;禁止直接修改数据库或绕过注册。设备重新在线且身份明确后,再继续 CG56 真机回归。临时 instrumentation 辅助代码已全部移除,#193 工作树恢复干净。
最终 APK 已重新安装并保持 0.9.38 (51)。进一步按注册契约核验确认:原设备 5 的 installId 可以从服务端事实恢复,但服务端只保存 Device Token 摘要;Android Keystore 密钥随卸载清除后,现有注册接口要求旧明文 Token,返回 DEVICE_INSTALL_ID_CONFLICT,因此无法安全重新签发或恢复设备 5。
installId
DEVICE_INSTALL_ID_CONFLICT
恢复过程中曾按新安装身份自动创建设备 8,现已离线;没有领取任务。CG56 始终为 failed、irreversible_at=NULL,未重置、未修改地址、未创建订单、未支付。
继续真机验收需要超出 #193 原修复范围的人工决策:使用新设备身份重新创建/迁移采购任务,或另建受控设备令牌恢复能力。未获确认前停止,不直接改任务设备外键、不改数据库、不删除设备记录。
2026-09-02 回归续测:用户已授权为新设备身份创建一次新的实单采购任务。通过 Admin 正常路径为原 SYB 商品创建 CG-57,绑定新注册设备 #9;创建结果为 1 成功、0 失败。
CG-57 被 Agent 领取后在任何不可逆动作前以 ACCESSIBILITY_NOT_READY 明确失败:irreversible_at 为空,未取得 PDD 订单号,未创建订单、未支付。只读设备检查显示当前 enabled_accessibility_services=null,Bound services 与 Enabled services 均为空,说明重装清除应用数据后系统无障碍授权也未保留。下一步需要人工明确授权后重新启用 GoAuto 无障碍服务,再新建一次任务继续验证地址卡片修复。
ACCESSIBILITY_NOT_READY
irreversible_at
enabled_accessibility_services=null
Bound services
Enabled services
本次 Gitea MCP 未提供可调用工具,按仓库规则回退 Gitea API 写入本评论;凭据仅从 gitea.env 读取,未输出。
gitea.env
用户明确授权重新启用 GoAuto 无障碍服务并再次创建实单回归任务。已通过 ADB 恢复 cn.ilapage.goauto.agent/.automation.GoAutoAccessibilityService,只读核验显示服务同时位于 Bound services 与 Enabled services;APK 仍为 0.9.38 (51)。
cn.ilapage.goauto.agent/.automation.GoAutoAccessibilityService
通过 Admin 正常路径为同一 SYB 商品创建 CG-58,绑定设备 #9。CG-58 已被领取并进入地址流程,但最终仍以 PURCHASE_ADDRESS_PANEL_TIMEOUT 明确失败;irreversible_at 为空,未取得 PDD 订单号,未创建订单、未支付。
PURCHASE_ADDRESS_PANEL_TIMEOUT
这次结果排除了安装、设备身份和无障碍未就绪,证明提交 a1a9343 对“裁剪地址卡片”的修复仍未覆盖真机结构。按当前代码路径,结束错误为 PANEL_TIMEOUT 而非 ENTRY_AMBIGUOUS/ENTRY_NOT_READY,说明五轮有限下拉后 addressEntryTargets 始终得到 0 个入口;剩余过滤条件集中在掩码手机号格式、可点击祖先以及与可信采购区域的可见交集。现有结构化日志没有记录这三类计数,不能凭猜测继续放宽点击规则。
addressEntryTargets
下一步应取得不含文本/地址的结构化候选计数与边界证据后修订;继续保持不保存控件树或截图、不同入口 fail-closed、永久禁止支付。
本次仍因无 Gitea MCP 可调用而回退 Gitea API;凭据仅从 gitea.env 读取,未输出。
用户将 CG-58 失败后保留的 PDD 规格页切回前台。仅在内存中解析当前页面并输出脱敏结构指标;未保存或输出原始控件树、手机号、地址或截图。
3 位数字 + 4 个星号 + 4 位数字
x=0–1080, y=366–520
x=0–1080, y=1036–2079
y=366–520
.\scripts\verify.ps1 -Component android
15e2a008a71a4d4348965279a4abe26bc0dc125d
67a6ccdaf12d9434fb10163eb50ad579fcbcbd42a9e552479a903a15829d8069
无接口、数据库、状态、配置、业务安全边界或运维变化,无长期文档影响,继续跳过 Wiki 更新。新 APK 尚未覆盖安装,修订后尚未再次创建实单任务;安装及下一次实单回归需再次获得人工授权,永久禁止支付。
用户明确授权覆盖安装提交 15e2a008a71a4d4348965279a4abe26bc0dc125d 的 Debug APK并再创建一次实单回归,永久禁止支付。
adb install -r
PURCHASE_ORDER_PAYMENT_REPEATED
order_result_unknown
order_submit_request_id
payment_review_status=pending
当前必须由操作员人工查看 PDD“待付款”列表确认订单是否已生成,再按未知结果处置流程回填。该核单问题不属于 #193 地址入口范围,不混入本提交。#193 保持打开,等待用户验收结论。
No dependencies set.
The note is not visible to the blocked user.
原始需求摘要
来源:用户于 2026-09-01 真机反馈,最新 Agent 在规格面板选择颜色和尺码后,没有从规格面板中间下滑以完整显示收货地址入口,随后报“收货地址入口不唯一”;用户确认“修复”。
当前事实与根因
0.9.38 (51),连接本地 APIhttp://192.168.0.224:8010。PurchaseLiveAutomation.updateShippingAddress当前先在整个可见页面统计掩码手机号节点;发现多个即在任何面板滑动前返回PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。AMBIGUOUS。目标
修复 Android Agent 的收货地址入口定位:在唯一规格面板中处理局部/重复地址节点,必要时先有限下滑完整显示地址卡片,再安全点击唯一入口。
非目标与安全边界
前置依赖与并行性
origin/fix/192-order-result-scroll建立。PurchaseLiveAutomation/GoAutoAccessibilityService的任务并行合并。实施方案(用户已确认)
AMBIGUOUS。设计证据
恢复既有 Android 自动化行为的非 UI Bug,不新增页面、组件或交互,无需原型;以现有规格面板中间下滑行为、采购安全规则和回归测试为设计证据。
验收标准
验证计划
PurchaseLiveAutomationTest和相关无障碍点击测试。风险
地址修改处于正式采购流程,错误点击可能修改错误地址并影响订单。所有合并必须受同一面板、同一视觉区域或同一可点击卡片约束;不确定时停止。
文档影响
预计无长期文档影响:仅修复 Android 既有实现偏差,不改变接口、状态、配置、业务安全边界或运维方式,完成时复核。
工具回退说明
当前会话无可调用的 Gitea MCP,按规则回退 Gitea API;使用 Git 已配置安全凭据,凭据不写入工单、代码或日志。
实施完成,待验收
实现
PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。AMBIGUOUS。验证
PurchaseLiveAutomationTest与GoAutoAccessibilityServicePolicyTest:通过。.\\scripts\\verify.ps1 -Component android:通过;Debug/Release 单元测试通过,Debug APK 构建成功。git diff --check:通过。提交与依赖
fcb5cf5e789de933051d0c64416908997e243898fix/193-address-entry-revealorigin/fix/192-order-result-scroll(包含 #192)origin/fix/193-address-entry-reveal文档影响
无长期文档影响:仅修复 Android 既有自动化实现偏差,不改变接口、数据、状态、配置、安全边界或运维方式,因此跳过 Wiki 更新及镜像同步。
未验证项
未安装到真机,也未执行正式采购验收;正式采购可能创建真实订单,必须另行获得人工授权。永久禁止支付。
工单保持打开,当前为待验收;未经用户明确验收不关闭。
真机回归与方案修订(2026-09-01)
用户安装提交
fcb5cf5后真机复测:Agent 已按预期在规格面板中间下滑并完整显示地址入口,但随后报“没有找到唯一的规格面板滚动区域”。新增代码事实
#193 当前实现每轮都先重新要求唯一
scrollable规格面板,再检查地址入口。PDD 下滑完成后会改变该区域的无障碍语义,原面板可能不再标记为scrollable或滚动节点结构变化;因此地址已完整出现仍在检查前失败。这是 #193 同一流程的回归,不扩大工单范围。修订方案(用户已确认修复)
scrollable。安全边界不变:不重试真机采购、不创建订单、不执行支付;不同地址入口仍不猜测。
真机回归修订已完成,继续待验收
修复
scrollable。新增回归
scrollable属性,但唯一完整地址入口已出现”:通过;执行 1 次面板手势、1 次地址入口点击。PurchaseLiveAutomationTest定向测试:通过。.\\scripts\\verify.ps1 -Component android:通过;Debug/Release 单元测试及 Debug APK 构建成功。git diff --check:通过。提交
14459ead62e537451d211899a5d492380fb14b23fix/193-address-entry-reveal文档及真机
无长期文档影响,继续跳过 Wiki 更新。修订 APK 尚未覆盖安装到手机,也未执行正式采购;真机安装和采购验收需用户明确授权,永久禁止支付。
工单保持打开,等待验收。
CG56 真机回归与第二次方案修订(2026-09-01)
安装提交
14459ea后,CG56 在地址流程报“没有找到唯一的规格面板滚动区域”。该错误说明本次进入地址流程时,PDD 从一开始就未暴露唯一、满足尺寸条件的scrollable面板,因此上一修订保存可信面板范围的逻辑尚未建立。当前结构化日志未记录滚动候选数,无法区分 0 个或多个;两者共同根因是把不稳定的 PDD
scrollable属性当成了中间下滑的唯一授权证据。修订方案(用户确认“修改”)
PurchaseExecutionInput,不只接收地址后缀。scrollable属性,不点击任何规格、提交或支付节点。安全边界不变:不重试 CG56、不创建订单、不支付;不保存控件树或截图。
CG56 修订已完成,继续待验收
实现
PurchaseExecutionInput,地址中部手势的授权不再只依赖 PDDscrollable属性。回归与验证
.\\scripts\\verify.ps1 -Component android:通过;Debug/Release 单元测试及 Debug APK 构建成功。git diff --check:通过。提交
bb879be8365644cc0bb6444e0850ac18d3bf9628fix/193-address-entry-reveal文档及真机
无接口、数据库、状态、配置、业务安全边界或运维变化,无长期文档影响,跳过 Wiki 更新。新 APK 尚未安装,未重试 CG56,未创建订单,未支付。
工单保持打开,等待真机验收。
真机继续执行阻塞(2026-09-02)
用户已明确授权继续 #193 的安装和 CG56 正式采购回归。已完成:
fix/193-address-entry-reveal工作树重新运行 Android 单元测试与 Debug APK 构建,均通过;a1a9343对应的0.9.38 (51),设备端 APK SHA-256 与本地构建产物一致;failed、irreversible_at=NULL,未创建订单、未支付。尝试在 Agent 自身 UID 内通过生产
/reset契约发起幂等重试时,服务端因设备尚未恢复心跳返回“原设备当前离线,不能就地重试”,任务状态未变化。随后发现connectedDebugAndroidTest在测试结束清理时自动卸载了目标 Debug 包,导致 Agent 本地设置、历史库及 Android Keystore 设备凭据被清除。已立即重新安装同一最终 APK,但原 Device Token 无法恢复:服务端只保存摘要,Keystore 密钥已随卸载删除。当前阻塞:需要操作员在 Agent 中重新配置服务地址,并通过 Admin 正常注册/绑定设备;禁止直接修改数据库或绕过注册。设备重新在线且身份明确后,再继续 CG56 真机回归。临时 instrumentation 辅助代码已全部移除,#193 工作树恢复干净。
身份恢复核验补充
最终 APK 已重新安装并保持
0.9.38 (51)。进一步按注册契约核验确认:原设备 5 的installId可以从服务端事实恢复,但服务端只保存 Device Token 摘要;Android Keystore 密钥随卸载清除后,现有注册接口要求旧明文 Token,返回DEVICE_INSTALL_ID_CONFLICT,因此无法安全重新签发或恢复设备 5。恢复过程中曾按新安装身份自动创建设备 8,现已离线;没有领取任务。CG56 始终为
failed、irreversible_at=NULL,未重置、未修改地址、未创建订单、未支付。继续真机验收需要超出 #193 原修复范围的人工决策:使用新设备身份重新创建/迁移采购任务,或另建受控设备令牌恢复能力。未获确认前停止,不直接改任务设备外键、不改数据库、不删除设备记录。
2026-09-02 回归续测:用户已授权为新设备身份创建一次新的实单采购任务。通过 Admin 正常路径为原 SYB 商品创建 CG-57,绑定新注册设备 #9;创建结果为 1 成功、0 失败。
CG-57 被 Agent 领取后在任何不可逆动作前以
ACCESSIBILITY_NOT_READY明确失败:irreversible_at为空,未取得 PDD 订单号,未创建订单、未支付。只读设备检查显示当前enabled_accessibility_services=null,Bound services与Enabled services均为空,说明重装清除应用数据后系统无障碍授权也未保留。下一步需要人工明确授权后重新启用 GoAuto 无障碍服务,再新建一次任务继续验证地址卡片修复。本次 Gitea MCP 未提供可调用工具,按仓库规则回退 Gitea API 写入本评论;凭据仅从
gitea.env读取,未输出。CG-58 真机回归仍失败(2026-09-02)
用户明确授权重新启用 GoAuto 无障碍服务并再次创建实单回归任务。已通过 ADB 恢复
cn.ilapage.goauto.agent/.automation.GoAutoAccessibilityService,只读核验显示服务同时位于Bound services与Enabled services;APK 仍为0.9.38 (51)。通过 Admin 正常路径为同一 SYB 商品创建 CG-58,绑定设备 #9。CG-58 已被领取并进入地址流程,但最终仍以
PURCHASE_ADDRESS_PANEL_TIMEOUT明确失败;irreversible_at为空,未取得 PDD 订单号,未创建订单、未支付。这次结果排除了安装、设备身份和无障碍未就绪,证明提交
a1a9343对“裁剪地址卡片”的修复仍未覆盖真机结构。按当前代码路径,结束错误为 PANEL_TIMEOUT 而非 ENTRY_AMBIGUOUS/ENTRY_NOT_READY,说明五轮有限下拉后addressEntryTargets始终得到 0 个入口;剩余过滤条件集中在掩码手机号格式、可点击祖先以及与可信采购区域的可见交集。现有结构化日志没有记录这三类计数,不能凭猜测继续放宽点击规则。下一步应取得不含文本/地址的结构化候选计数与边界证据后修订;继续保持不保存控件树或截图、不同入口 fail-closed、永久禁止支付。
本次仍因无 Gitea MCP 可调用而回退 Gitea API;凭据仅从
gitea.env读取,未输出。CG-58 根因确认与修订完成(2026-09-02)
用户将 CG-58 失败后保留的 PDD 规格页切回前台。仅在内存中解析当前页面并输出脱敏结构指标;未保存或输出原始控件树、手机号、地址或截图。
真机证据与根因
3 位数字 + 4 个星号 + 4 位数字;节点启用且存在唯一可点击祖先。x=0–1080, y=366–520。x=0–1080, y=1036–2079。PURCHASE_ADDRESS_PANEL_TIMEOUT。a1a9343只覆盖了“无滚动区域时地址卡位于顶部”的合成场景,未覆盖“地址卡位于独立滚动规格区域上方”的真机结构。修复
验证与提交
y=366–520、独立可滚动规格区位于其下方;一次受控面板下滑后唯一点击地址卡,通过。PurchaseLiveAutomationTest:29 项通过。.\scripts\verify.ps1 -Component android:Debug/Release 单元测试及 Debug APK 构建全部通过。git diff --check:通过。15e2a008a71a4d4348965279a4abe26bc0dc125d,已推送origin/fix/193-address-entry-reveal。67a6ccdaf12d9434fb10163eb50ad579fcbcbd42a9e552479a903a15829d8069。无接口、数据库、状态、配置、业务安全边界或运维变化,无长期文档影响,继续跳过 Wiki 更新。新 APK 尚未覆盖安装,修订后尚未再次创建实单任务;安装及下一次实单回归需再次获得人工授权,永久禁止支付。
本次仍因无 Gitea MCP 可调用而回退 Gitea API;凭据仅从
gitea.env读取,未输出。CG-59 修订后真机结果:地址修复通过,订单结果未知(2026-09-02)
用户明确授权覆盖安装提交
15e2a008a71a4d4348965279a4abe26bc0dc125d的 Debug APK并再创建一次实单回归,永久禁止支付。安装与前置
adb install -r成功,应用数据与设备 #9 身份保留。0.9.38 (51);APK SHA-256:67a6ccdaf12d9434fb10163eb50ad579fcbcbd42a9e552479a903a15829d8069。CG-59 结果
PURCHASE_ADDRESS_PANEL_TIMEOUT,已完成地址入口定位、地址修改/复核与最终提交前门禁,并进入订单提交阶段;这证明 #193 的真机地址流程修复生效。PURCHASE_ORDER_PAYMENT_REPEATED进入order_result_unknown。irreversible_at已记录,order_submit_request_id已存在;服务端尚无 PDD 订单号和下单时间,payment_review_status=pending。当前必须由操作员人工查看 PDD“待付款”列表确认订单是否已生成,再按未知结果处置流程回填。该核单问题不属于 #193 地址入口范围,不混入本提交。#193 保持打开,等待用户验收结论。
本次仍因无 Gitea MCP 可调用而回退 Gitea API;凭据仅从
gitea.env读取,未输出。