feat(android): extract structured purchase requirements

This commit is contained in:
QiuSW
2026-07-25 21:05:51 +08:00
parent c25d63c730
commit 32d5310000
22 changed files with 2014 additions and 32 deletions
+4 -2
View File
@@ -25,10 +25,10 @@
| 图片/截图 | 后端受控本地文件目录,数据库存元数据 | MVP 已定 | 禁止把二进制直接塞入日志;生产再评估对象存储。 |
| 管理鉴权 | 单个种子管理账号 + 服务端会话 Cookie | MVP 已定 | 密码只保存哈希;完整 RBAC 为 V2。 |
| App 鉴权 | 采购员登录态 + 设备绑定令牌 | 目标已定,细节待实现 | 人员身份与设备身份分离;令牌只保存哈希。 |
| VLM 接入 | 应用内统一适配器,优先兼容 OpenAI 风格多模态接口 | 接口已定,供应商待定 | 模型输出必须符合本项目 JSON Schema。 |
| VLM 接入 | 应用内统一适配器,优先兼容 OpenAI 风格多模态接口 | 需求提取已实现,供应商待定 | T-103 使用严格 JSON Schema、单次调用预算和 2048 px 图片上限;GUI-Owl/MAI-UI 动作模型不具备需求提取能力。 |
| 通知 | MVP 不使用推送 | 已定 | 点击“获取任务”调用原子 claim API;V2 再评估厂商推送/WebSocket。 |
| 后端测试 | 标准库 `testing` + `httptest` | MVP 已定 | 覆盖状态机、权限、幂等、SQLite 事务和输入校验。 |
| Android 测试 | Gradle `test` + `kotlinx-coroutines-test` 1.7.3 + 真实设备 smoke | 候选探针已验证 | runner、页面分类、搜索和有界候选 Fake driver 已覆盖;OnePlus PKG110 + 拼多多 8.17.0 的 5 个截图及返回 smoke 成功。 |
| Android 测试 | Gradle `test` + `kotlinx-coroutines-test` 1.7.3 + 真实设备 smoke | 需求提取探针已验证 | 122 次测试覆盖 runner、页面分类、候选、VLM schema、端点策略与隐私;OnePlus PKG110 上完成私有 fixture + 本机 mock 的单次多模态请求 smoke。 |
| 部署 | 单机局域网 Go 服务;容器化后置 | MVP 已定 | Android 测试机必须能通过 HTTPS 或受控测试网络访问。 |
## Roubao 上游版本基线
@@ -68,6 +68,8 @@ Windows Debug 构建。上游无障碍分支落后于 `main` 的修复和 1.4.2
`04-architecture.md` 的领域边界重组。
- SQLite 只服务单实例验证;出现多服务实例、并发写或正式备份要求时迁移 PostgreSQL。
- VLM 厂商可替换,领域层只接收结构化请求和结果,不传播供应商 SDK 类型。
- 需求提取与通用 MobileAgent 分离;只有声明 `supportsRequirementExtraction` 的
OpenAI 兼容 provider 可以进入 T-103 链路。
- 拼多多自动化是独立工作流模块,不能耦合后端数据库实现或管理页面。
## 骨架选择记录