docs: establish project harness baseline

This commit is contained in:
QiuSW
2026-07-25 16:59:06 +08:00
commit 50a6d8ee5b
30 changed files with 2742 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
---
id: T-001
title: 初始化 Git 并接入 Roubao Android 基线
phase: 0
deps: []
status: DOING
created: 2026-07-25
context_ref: null
work_branch: main
write_paths:
- docs/tasks/T-001.md
- android-buyer/**
- .gitignore
- README.md
- init.ps1
- init.sh
- docs/00-ai-start-here.md
- docs/03-tech-stack.md
- docs/04-architecture.md
- docs/05-coding-rules.md
- docs/current-state.md
---
## 问题 / 背景
当前仓库只有 Harness 文档,不是 Git 仓库,也没有 Roubao 源码、Gradle Wrapper 或
可验证的 Android 命令。所有自动化、VLM 和后台任务都依赖一个可复现的 Android
基线;在基线完成前不能开始拼多多业务修改。
预期上游已经从真实仓库完成远端核实:
- 仓库:`https://github.com/Turbo1123/roubao`
- 许可证:MIT
- 默认分支:`main`
- 核实时 `main` commit:`c8a6d7f03422eb01744b01f3ee77bf7757741f7e`
- 独立无障碍开发分支:`roubao2.0+AccessibilityService`,核实时 commit
`5b114c0a9476c359b27cfe994743fc7beb0a3554`
- 构建基线:Android Studio Hedgehog+、JDK 17、SDK 34、Gradle 8.2、AGP 8.2.0、
Kotlin 1.9.20
这些是接入前核实结果,源码仍未导入、本机仍未构建。上游 `main` 使用 Shizuku,
AccessibilityService 位于独立开发分支;接入前要先比较分支,不能只按分支名称选型。
## 关联需求与交互
- 功能:为 F-003 至 F-007 提供实现基线,本任务不实现业务功能。
- 用户故事:不适用。
- 交互:不适用。
- 架构:`04-architecture.md` 的 Android 模块。
## 方案
1. 确认当前目录应作为新仓库后初始化 Git;远端地址未知时不擅自创建远端。
2. 重新读取远端分支头,比较 `main` 与无障碍开发分支;确定以哪个 commit 为导入
基线,并记录采用或移植无障碍实现的理由。
3. 将需要二次开发的 Android 源码接入 `android-buyer/`,保留许可证和上游来源说明。
4. 不做拼多多 Skill、VLM 业务和采购 UI 修改,只处理可构建所需的最小兼容问题。
5. 运行 Gradle Wrapper 的真实构建和已有测试;有测试设备时安装并启动原始 App。
6. 把真实目录、最终依赖版本、构建命令、上游 commit 和 blocker 同步到允许修改的
文档;若接入后的配置与已核实远端版本不同,要记录差异原因。
7. 用真实安装、验证和启动命令替换 `init.ps1`/`init.sh` 占位;如果无法提供设备
启动命令,保留主动失败并把原因记录为 blocker,不能伪造命令。
## 验收要点
- [x] 当前目录已成为可正常查看状态和提交的 Git 仓库。
- [ ] `android-buyer/` 包含可追溯到明确 URL 和 commit 的 Roubao 源码。
- [ ] 上游许可证文件已保留,并确认允许当前预期的二次开发方式。
- [ ] Windows 上使用仓库内 Gradle Wrapper 成功构建 Debug APK。
- [ ] 上游已有 Android 单元测试已执行;没有测试时明确记录。
- [ ] 有测试设备时完成安装和启动 smoke,并记录设备/Android 版本;无设备时任务
不能把设备 smoke 写成已通过。
- [ ] 未加入真实 API key、签名密码、设备 token 或本地 SDK 绝对路径。
- [ ] 已处理缺失的 `google-services.json`:提供本地忽略配置,或明确移除不需要的
Firebase 插件和依赖。
- [ ] `03-tech-stack.md` 和 `current-state.md` 不再把已核实信息标为待定。
- [ ] `init.ps1`/`init.sh` 与文档中的当前命令一致,或因明确 blocker 保持主动失败。
建议验证命令形状,最终以接入工程为准:
```powershell
git status --short
Set-Location android-buyer
.\gradlew.bat tasks
.\gradlew.bat test
.\gradlew.bat assembleDebug
```
## 边界
- 不实现拼多多搜索、点击、候选比较或订单流程。
- 不接入 VLM、后台 API、任务领取和管理页面。
- 不升级与构建无关的依赖,不重构上游项目。
- 不配置生产签名,不提交本机 `local.properties` 或密钥。
## 执行记录
### 2026-07-25:Git 和文档基线
- 当前目录已初始化为 Git 仓库,工作分支为 `main`,远端名为 `origin`。
- 新增根目录 `.gitignore`,忽略本地 SDK 配置、Firebase 配置、密钥、构建产物、
运行数据和日志。
- 已核实 Roubao 上游版本并更新技术栈、当前状态及本任务,但 Android 源码尚未导入。
- 本次只建立文档与脚本提交;Gradle 构建、测试、APK 安装和设备 smoke 均未运行。
- T-001 保持 `DOING`,剩余 blocker 见 `docs/current-state.md`。