feat(t211): return SKU-matched image search candidates
This commit is contained in:
+31
-8
@@ -5,7 +5,7 @@ phase: 2
|
||||
deps:
|
||||
- T-207
|
||||
- T-210
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-27
|
||||
context_ref: 30841f8
|
||||
work_branch: null
|
||||
@@ -13,14 +13,21 @@ write_paths:
|
||||
- docs/tasks/T-211.md
|
||||
- docs/02-requirements.md
|
||||
- docs/04-architecture.md
|
||||
- docs/api.md
|
||||
- docs/current-state.md
|
||||
- android-buyer/app/src/main/AndroidManifest.xml
|
||||
- android-buyer/app/src/main/java/com/roubao/autopilot/MainActivity.kt
|
||||
- android-buyer/app/src/main/java/com/roubao/autopilot/accessibility/**
|
||||
- android-buyer/app/src/main/java/com/roubao/autopilot/pinduoduo/**
|
||||
- android-buyer/app/src/main/java/com/roubao/autopilot/procurement/**
|
||||
- android-buyer/app/src/main/java/com/roubao/autopilot/ui/screens/SearchProbeScreen.kt
|
||||
- android-buyer/app/src/main/java/com/roubao/autopilot/vlm/**
|
||||
- android-buyer/app/src/test/java/com/roubao/autopilot/pinduoduo/**
|
||||
- android-buyer/app/src/test/java/com/roubao/autopilot/procurement/**
|
||||
- android-buyer/app/src/test/java/com/roubao/autopilot/vlm/**
|
||||
- backend-api/internal/usecase/execution_result_service.go
|
||||
- backend-api/internal/usecase/execution_result_service_test.go
|
||||
- backend-api/internal/transport/httpapi/device_handlers_test.go
|
||||
---
|
||||
|
||||
## 问题 / 背景
|
||||
@@ -55,14 +62,14 @@ write_paths:
|
||||
|
||||
## 验收要点
|
||||
|
||||
- [ ] 单元测试证明任务参考图是图片搜索的唯一输入,图片无效时不会启动拼多多。
|
||||
- [ ] 单元测试覆盖颜色/尺码规范化、匹配/不匹配/未知、缺少硬约束和不足 5 个不凑数。
|
||||
- [ ] 候选评估 prompt/schema 明确颜色和尺码硬约束;模型不能把未知规格判为通过。
|
||||
- [ ] 后端收到的 AI 候选最多 5 个、ordinal 连续,包含逐项评估与推荐理由。
|
||||
- [ ] Android 单元测试和 Debug 构建通过。
|
||||
- [ ] PKG110、Android 16、拼多多 8.17.0 真机 smoke 能选择本任务参考图、进入图片
|
||||
- [x] 单元测试证明任务参考图是图片搜索的唯一输入,图片无效时不会启动拼多多。
|
||||
- [x] 单元测试覆盖颜色/尺码规范化、匹配/不匹配/未知、缺少硬约束和不足 5 个不凑数。
|
||||
- [x] 候选评估 prompt/schema 明确颜色和尺码硬约束;模型不能把未知规格判为通过。
|
||||
- [x] 后端收到的 AI 候选最多 5 个、ordinal 连续,包含逐项评估与推荐理由。
|
||||
- [x] Android 单元测试和 Debug 构建通过。
|
||||
- [x] PKG110、Android 16、拼多多 8.17.0 真机 smoke 能选择本任务参考图、进入图片
|
||||
搜索结果并采集候选;记录 App/拼多多版本。
|
||||
- [ ] 真机确认未进入购物车、订单确认、提交订单或支付页面;未知页、验证码、风控和
|
||||
- [x] 真机确认未进入购物车、订单确认、提交订单或支付页面;未知页、验证码、风控和
|
||||
登录页仍安全停止。
|
||||
|
||||
## 边界
|
||||
@@ -76,3 +83,19 @@ write_paths:
|
||||
|
||||
- 2026-07-27:根据新需求登记任务;复用 T-207 候选批次接口,先实现 Android 图片
|
||||
召回和 SKU 硬约束,不新增后端 AI 服务。
|
||||
- 2026-07-27:任务登记提交 `667a64f` 后开始实现。
|
||||
- 2026-07-27:实现任务参考 JPEG 严格校验、MediaStore 一次性图片、拼多多拍照搜索/
|
||||
最近图片选择/图片结果页识别,并在流程结束或停止后删除临时图片。真机首次验证发现
|
||||
相机结果页竞态和 `external_primary`/`external` URI 表示差异,修复后均增加回归覆盖。
|
||||
- 2026-07-27:新增 SKU 颜色/尺码确定性提取、候选 schema/prompt v2、逐项
|
||||
`MATCH/MISMATCH/UNKNOWN` 校验和 Top 5 策略;只回传分数、置信度和两个硬约束均通过
|
||||
的 `0..5` 个候选,重新生成连续 ordinal。后端 schema v2 拒绝弱匹配、未知/缺失硬
|
||||
约束和非首项推荐,schema v1 保持兼容。
|
||||
- 2026-07-27:`.\gradlew.bat :app:testDebugUnitTest :app:assembleDebug --no-daemon`
|
||||
通过,20 个 suite 共 108 个测试、0 失败;`go test -count=1 ./...` 和
|
||||
`go vet ./...` 通过。
|
||||
- 2026-07-27:PKG110(Android 16/API 36)、肉包 `1.4.2 (7)`、拼多多
|
||||
`8.17.0 (81700)` 真机以后台测试任务完成参考图选择、图片结果页识别、4 个有界候选
|
||||
详情和证据回传;后台审计值为 `PDD_IMAGE_SEARCH`,不足 5 个未凑数。测试任务随后
|
||||
取消,临时图库图片已删除,全程未进入购物车、订单或支付。该 smoke 验证检索和回传
|
||||
链路,不代表真实 VLM provider 的匹配质量。
|
||||
|
||||
Reference in New Issue
Block a user