feat(android): extract structured purchase requirements
This commit is contained in:
+28
-3
@@ -94,16 +94,34 @@ evidence/ # 截图、步骤日志、脱敏和上传
|
||||
|
||||
只负责两类能力:
|
||||
|
||||
1. **需求提取**:图片 + 标题 + 描述 -> 搜索词、属性、置信度、警告。
|
||||
1. **需求提取**:参考图 + 标题 + SKU -> 搜索词、类目、属性、置信度、警告。
|
||||
2. **候选评估**:候选截图/文本 + 原始约束 -> 匹配项、缺失项、拒绝原因、建议分。
|
||||
|
||||
模型输出是不可信建议,必须通过 schema 和确定性校验:
|
||||
|
||||
- `quantity` 和 `max_budget` 使用原始任务值。
|
||||
- `sku`、`quantity` 和 `max_budget` 使用原始任务值;数量和预算不进入模型 prompt。
|
||||
- 价格未知、超预算或关键属性无法确认时不能判为可接受。
|
||||
- 置信度低于配置阈值时进入人工处理,不自动扩大浏览范围。
|
||||
- T-103 探针阈值为 `0.75`;低于阈值或标题/图片冲突时进入人工处理,不自动扩大
|
||||
浏览范围。
|
||||
- 模型不能返回点击坐标、状态迁移或“允许提交订单”等执行授权。
|
||||
|
||||
T-103 的模型响应只允许
|
||||
`schema_version/search_query/category/attributes/confidence/warnings`。属性来源限定为
|
||||
`TITLE/IMAGE/BOTH`;额外字段、无效 JSON、重复或越界属性、坐标/动作语义均视为无效
|
||||
输出并转人工。最终领域结果再由确定性代码补回原 SKU、数量、空预算、人工复核原因和
|
||||
`provider/model/prompt_version/reference_image_sha256`。
|
||||
|
||||
技术探针每次点击最多发出一次 VLM 请求,不沿用通用 Agent 的重试循环。该结构化
|
||||
HTTP 客户端关闭连接自动重试、HTTP/HTTPS 重定向,整体调用超时为 75 秒;协程取消
|
||||
会取消底层 HTTP call,成功响应正文上限为 64 KiB,非成功响应不读取正文。
|
||||
|
||||
远程 provider 只允许 HTTPS;HTTP 仅允许无 API Key 的 `localhost`、`127.0.0.1`
|
||||
或 `::1` 本机 mock。端点不得包含 userinfo、query 或 fragment。标题和 SKU 在进入
|
||||
prompt 前分别限制为 2048 和 512 个 UTF-8 字节。JPEG 在调用前复核媒体类型、20 MiB
|
||||
上限、魔数和 SHA-256,按声明长度一次分配并精确读取,Android 解码后最长边限制为
|
||||
2048 px。请求和响应正文、Base64、API Key 不写普通日志;加密密钥存储不可用且存在
|
||||
密钥时拒绝调用。
|
||||
|
||||
## 三、核心数据流
|
||||
|
||||
### 3.1 技术探针
|
||||
@@ -140,6 +158,8 @@ Debug 构建或测试装载。导入必须:
|
||||
- 对缺失、重复、编码无法识别和字段格式未知返回结构化错误。
|
||||
- 不把完整订单号、店铺名、原图路径写入普通日志。
|
||||
- 仅在用户明确配置 VLM 后发送必要的标题、SKU 和参考图;不发送订单号或店铺名。
|
||||
- `RequirementProbeSource` 只从固定 asset 根读取已导入任务和引用图片;随后立即进入
|
||||
大小、JPEG 魔数和 SHA-256 复核,不接受任意 cache 或绝对路径。
|
||||
|
||||
实现边界:
|
||||
|
||||
@@ -186,6 +206,11 @@ T-102 在搜索结果后追加一个有界候选步骤:
|
||||
受控 evidence 边界读取,不能让 VLM adapter 自行遍历 cache。Android 10/API 29 及
|
||||
以下不能运行当前截图探针,应在预检时明确不支持,不使用媒体投影或 shell 绕过。
|
||||
|
||||
需求提取是独立探针,不启动拼多多,也不接入 `MobileAgent`。GUI-Owl 和 MAI-UI 输出
|
||||
动作/坐标,明确不具备 `supportsRequirementExtraction` 能力。真实供应商未确认前,
|
||||
普通测试只使用 Fake gateway;本机 OpenAI 兼容 mock 仅验证 Android 请求链路和隐私
|
||||
边界,不作为真实模型效果证据。
|
||||
|
||||
### 3.2 MVP 业务闭环
|
||||
|
||||
```text
|
||||
|
||||
Reference in New Issue
Block a user