2026-08-03 17:57:53 +08:00
|
|
|
---
|
|
|
|
|
id: T-002
|
|
|
|
|
title: 初始化采购工具 client Python 骨架
|
|
|
|
|
phase: 0
|
|
|
|
|
deps: []
|
2026-08-03 18:32:00 +08:00
|
|
|
status: DONE
|
2026-08-03 17:57:53 +08:00
|
|
|
created: 2026-08-03
|
|
|
|
|
vikunja_task_id: 17
|
|
|
|
|
context_ref: a63bdb8
|
|
|
|
|
work_branch: task/t-002-client-skeleton
|
|
|
|
|
needs_device: false
|
|
|
|
|
needs_human_review: false
|
|
|
|
|
write_paths:
|
|
|
|
|
- docs/tasks/T-002.md
|
|
|
|
|
- client/**
|
2026-08-03 18:16:48 +08:00
|
|
|
- docs/03-tech-stack.md
|
|
|
|
|
- docs/00-ai-start-here.md
|
|
|
|
|
- docs/current-state.md
|
2026-08-03 17:57:53 +08:00
|
|
|
---
|
|
|
|
|
|
2026-08-03 18:32:00 +08:00
|
|
|
<!-- BEGIN VIKUNJA EXPORT id=17 synced=2026-08-03T10:31:33Z sha256=6f7f0738647530406d746c46f898df8f572153cbce0180fe18fcc07c10e9e9d3 -->
|
2026-08-03 17:57:53 +08:00
|
|
|
## 问题 / 背景
|
|
|
|
|
|
|
|
|
|
仓库尚无 client/requirements.txt 和可运行的采购工具代码,init.ps1 因此按预期以退出码 3 停止。没有稳定的 Python 包、测试入口、日志与产物策略,后续 ADB/uiautomator2 真机取证无法开始。
|
|
|
|
|
|
|
|
|
|
## 关联需求与交互
|
|
|
|
|
|
|
|
|
|
- 功能:Phase 0 工程地基,不实现采购执行流程。
|
|
|
|
|
- 用户故事 / 交互:不适用,本任务只建立应用骨架,不实现已确认原型的生产界面。
|
|
|
|
|
- 架构 / API:遵循 docs/03-tech-stack.md 与 TaskSource / ResultSink 边界;不新增跨端接口。
|
|
|
|
|
|
|
|
|
|
## 方案
|
|
|
|
|
|
|
|
|
|
1. 在 client/ 建立 Python 3.11+ 包、requirements.txt、应用入口和最小测试结构。
|
|
|
|
|
2. 声明既定 PySide6 / uiautomator2 依赖,但基础单元测试不得要求连接真机。
|
|
|
|
|
3. 建立日志和运行产物目录策略;本地虚拟环境与运行产物必须被 client 范围内的忽略规则排除,日志不得记录 token、地址、手机号或支付信息。
|
|
|
|
|
4. 保证 python -m unittest discover -s tests -t . 与 python -m compileall -q src tests 可运行。
|
|
|
|
|
5. T-001 关闭前不修改共享文档。先在 Vikunja 评论记录已验证的 client 命令;T-001 完成后由任务所有者先提交 write_paths 扩展,再更新共享文档并关闭 T-002。
|
|
|
|
|
|
|
|
|
|
## 验收要点
|
|
|
|
|
|
|
|
|
|
- client/requirements.txt、src 包、应用入口和 tests 存在。
|
|
|
|
|
- unittest 与 compileall 在 client/ 通过,且不需要真机。
|
|
|
|
|
- 日志 / 产物路径和脱敏边界有测试或可验证配置。
|
|
|
|
|
- 不包含拼多多页面判据、真机自动化实现、下单或付款代码。
|
|
|
|
|
- 关闭 T-002 前,共享文档中的 client 占位命令已由扩展后的独占 write_paths 更新为实际命令。
|
|
|
|
|
|
|
|
|
|
## 执行记录
|
|
|
|
|
|
2026-08-03 18:32:00 +08:00
|
|
|
### 2026-08-03T10:30:56Z · ila
|
|
|
|
|
|
|
|
|
|
主 agent 终审通过:采购工具 Python 3.11+ 骨架、PySide6 最小入口、运行目录和敏感日志脱敏策略均已落成;无真机、页面判据、下单或付款逻辑。
|
|
|
|
|
独立验证:6 项 unittest 通过;compileall 通过;wheel 构建及 requirements.txt→Requires-Dist 元数据核对通过;Python 3.12 editable install 通过;离屏窗口构造通过;采购服务 race/vet/build 回归及 agent-context 门禁通过。
|
|
|
|
|
共享文档已更新为 T-002 完成快照,并如实保留 init.ps1 默认 Python 3.10 风险给 T-003。
|
2026-08-03 17:57:53 +08:00
|
|
|
<!-- END VIKUNJA EXPORT -->
|
|
|
|
|
|
|
|
|
|
## 边界
|
|
|
|
|
|
|
|
|
|
- 不实现拼多多页面判据、ADB/uiautomator2 真机流程、采购执行 UI 或任何 Phase 1+ 功能。
|
|
|
|
|
- 不编写任何进入订单确认、提交订单、付款或支付相关代码。
|
|
|
|
|
- 不修改 `admin/`、`docs/api.md`、`docs/04-architecture.md`、需求或交互原型。
|
|
|
|
|
- T-001 为 `DOING` 时不修改共享文档;先在 Vikunja 记录验证命令。T-001 关闭后,必须先提交
|
|
|
|
|
`write_paths` 扩展,再更新 `docs/03-tech-stack.md`、`docs/00-ai-start-here.md`、
|
|
|
|
|
`docs/current-state.md`,不得绕过路径门禁。
|
|
|
|
|
- 本地虚拟环境、缓存、日志和运行产物不得提交 Git;凭据和敏感信息不得进入日志。
|