132 lines
5.5 KiB
Markdown
132 lines
5.5 KiB
Markdown
# AI 开发入口
|
||
|
||
## 一句话定位
|
||
|
||
本项目验证管理后台创建的图片和文字采购任务,能否由 Android App 领取并借助 VLM
|
||
在拼多多中找到合理候选商品;Admin 选品后 App 只创建一笔待付款订单、回传订单号,
|
||
再由采购人员在拼多多人工确认付款。
|
||
|
||
## 当前 MVP
|
||
|
||
只做:
|
||
|
||
- 管理 Web 创建和查看采购任务。
|
||
- 一台 Android 设备由采购人员手动领取下一条任务。
|
||
- AI 把图片和文字解析为结构化检索条件。
|
||
- App 在拼多多搜索、检查少量结果并选择候选。
|
||
- Admin 确认候选后,App 复核 SKU/数量/金额并最多创建一笔待付款订单。
|
||
- 回传任务状态、候选摘要、截图和失败原因。
|
||
- 唯一对账订单号与下单时间,提醒采购人员去拼多多人工付款。
|
||
|
||
不做:
|
||
|
||
- 推送到达后无人确认地立即执行。
|
||
- 自动付款、免密支付、自动修改地址或处理退款。
|
||
- 绕过验证码、风控或登录校验。
|
||
- 多电商平台、多设备并发调度和生产级 RBAC。
|
||
|
||
## 首次读取顺序
|
||
|
||
1. `../AGENTS.md`
|
||
2. `01-vision.md`
|
||
3. `02-requirements.md`
|
||
4. `03-tech-stack.md`
|
||
5. `04-architecture.md`
|
||
6. `05-coding-rules.md`
|
||
7. `06-tasks.md`
|
||
8. `tasks/README.md`
|
||
9. `current-state.md`
|
||
|
||
有界面任务时再读 `07-user-stories.md`、`08-interaction-checklist.md`、`routes.md`
|
||
和关联原型;API 任务读 `api.md`。
|
||
|
||
## 固定开工流程
|
||
|
||
1. 确认工作目录是仓库根目录。
|
||
2. 读取 `agent-context.json`、`current-state.md` 和当前任务文件。
|
||
3. 仓库已启用 Git 时查看最近五条提交;当前未启用时,以 `current-state.md` 为准。
|
||
4. 运行 `./init.ps1`(Windows)或 `./init.sh`(WSL/Linux)。
|
||
5. 如果脚本失败,先记录并修复基线;不要在失败状态领取依赖它的后续任务。
|
||
6. 有真实基线后先跑 smoke;基线失败时先修基线。
|
||
7. 领取编号最小、依赖已完成的一个 `TODO` 任务并改成 `DOING`。
|
||
8. 完成实现、验证、任务执行记录和当前状态同步后再结束。
|
||
|
||
## 当前阶段与优先路径
|
||
|
||
当前已完成 Phase 0 和 Phase 1:Android 可运行、设备就绪、workflow、私有样本导入、
|
||
动态词搜索、最多 5 个候选截图采集、结构化需求提取、候选评估和人工确认停止点均已
|
||
验证。T-201 后端骨架、T-202 P0 原型、T-203 任务 API/管理 Web、T-204 最小鉴权
|
||
T-205 原子领取/租约状态机、T-206 Android 登录/有限离线、T-207 本地 VLM/候选/
|
||
证据回传、T-211 参考图召回和 SKU 硬匹配、T-212 候选身份映射,以及 T-213 受控
|
||
规格组合/价格核验均已完成。T-208 的原始候选观测、模型评估、确定性推荐、逐候选
|
||
结构化人工理由和修订历史也已完成。T-214 商品持久身份和重新定位指纹、T-215
|
||
Admin 候选确认、不可变待投递授权、T-216 设备命令可靠投递及 T-217 已授权商品
|
||
重新定位与订单 dry-run、T-218 单次订单提交围栏和订单回读均已完成;下一项是
|
||
T-219 Admin 待付款提醒与端到端验收。
|
||
不得直接把候选链接或列表 ordinal 当成授权。
|
||
手机从管理后端领取任务并回传结果,VLM、拼多多自动化和人工确认在 App 本地完成。
|
||
T-206 增加有限离线执行;T-207 已复用 Roubao 端上 OpenAI 兼容适配器并加密本地 Key。
|
||
管理后端不保存/代理 VLM,后台任务不能覆盖手机 provider 配置。
|
||
|
||
严格按以下顺序推进:
|
||
|
||
1. 接入并构建 Roubao Android 基线。
|
||
2. 用本机蝦皮订单样本生成固定探针任务,验证拼多多搜索和页面操作。
|
||
3. 接入 VLM,验证结构化需求提取和候选判断。
|
||
4. 建立最小后端和管理页面。
|
||
5. 接入手动领取、租约、状态和结果回传。
|
||
6. 用真实样本完成 20 条任务试验。
|
||
|
||
不允许先建设完整后台、消息推送或多设备调度来代替第 2 步的高风险验证。
|
||
|
||
## 事实来源
|
||
|
||
- 产品范围:`02-requirements.md`
|
||
- 角色目标:`07-user-stories.md`
|
||
- 交互行为:`08-interaction-checklist.md`
|
||
- 技术和模块边界:`03-tech-stack.md`、`04-architecture.md`
|
||
- API:`api.md`
|
||
- 当前现实:`current-state.md`、当前代码和实际命令输出
|
||
- 任务:`docs/tasks/T-<编号>.md`
|
||
- 原始讨论摘要:`../deepseek总结.txt`,仅作背景;与正式文档冲突时不作为权威
|
||
|
||
Roubao、拼多多页面、Android 包名、上游分支和依赖版本必须从接入的源码和测试设备
|
||
核实,不能仅凭讨论摘要推断。
|
||
|
||
## 常见任务路由
|
||
|
||
- Android 自动化:需求 -> 架构“自动化边界” -> 编码规则 -> 当前任务。
|
||
- VLM:需求约束 -> 架构“AI 决策边界” -> API/模块合约 -> 当前任务。
|
||
- 管理 Web:用户故事 -> 交互清单 -> 路由 -> API -> 架构。
|
||
- 后端/数据:API -> 架构数据模型和状态机 -> 编码规则。
|
||
- 安全相关:需求风险 -> 架构安全边界 -> 编码规则,无法满足时停止。
|
||
|
||
## 当前验证命令
|
||
|
||
Windows 默认验证:
|
||
|
||
```powershell
|
||
.\init.ps1
|
||
```
|
||
|
||
连接并授权真机后执行安装和冷启动:
|
||
|
||
```powershell
|
||
$env:RUN_START_COMMAND = "1"
|
||
.\init.ps1
|
||
```
|
||
|
||
脚本先执行 Android `test assembleDebug`,再以 `GOTOOLCHAIN=local` 执行后端
|
||
`go test ./...`、`go vet ./...` 并构建 API、migration 与 authctl 三个入口。后端
|
||
单独运行:
|
||
|
||
```powershell
|
||
Set-Location backend-api
|
||
$env:GOTOOLCHAIN = "local"
|
||
go run ./cmd/migrate up
|
||
$env:CMROUBAO_AUTH_PASSWORD = "至少 6 个 UTF-8 字节"
|
||
go run ./cmd/authctl create-user ADMIN admin
|
||
Remove-Item Env:CMROUBAO_AUTH_PASSWORD
|
||
go run ./cmd/api
|
||
```
|