Files
cmshoppe/docs/00-ai-start-here.md
T

117 lines
5.1 KiB
Markdown
Raw Normal View History

# AI 开发入口
> 给 AI coding agent 的项目入口。这里负责导航和流程,硬性编码规则见 [`05-coding-rules.md`](05-coding-rules.md)。
## 一句话定位
cmshopee 是一个 Windows 本地桌面自动化工具(Tkinter,5 Tab),让运营管理多个 Shopee 账号,并用 CDP 驱动 Chrome + AI 批量改商品标题、换商品封面。
5 Tab 流水线(工作流优先顺序):
**① 导入采集 → ② AI生成 → ③ 更新shopee → ④ 账号管理 → ⑤ 设置**
目标闭环:④ 配账号并登录 → ① 导入 Excel(按“别名”列关联账号)、采集旧标题/旧封面并回写 → ② 用提示词 AI 生成新标题/新封面(无人工确认)→ ③ 对已生成任务改标题+换封面并直接点「更新」提交(无开关)→ 结果实时存 SQLite、批量回写原 Excel。
存储:应用设置 `config.json`(含 AI Key)+ 业务数据 SQLite `cmshopee.db` + Excel 用 openpyxl + 图片存本地 `images/`。AI 服务商待定。
## 必读顺序
每次开始写代码前,按这个顺序建立上下文:
1. [`01-vision.md`](01-vision.md):为什么做、为谁做、什么不做。
2. [`02-requirements.md`](02-requirements.md):MVP 要什么、怎么算达成。
3. [`03-tech-stack.md`](03-tech-stack.md):既定技术选型(Python + 自研 CDP + Tkinter 待确认)。
4. [`04-architecture.md`](04-architecture.md):模块职责、账号数据模型、**第四节 CDP 已验证事实(重点)**。
5. [`05-coding-rules.md`](05-coding-rules.md):写代码前必须遵守的规则。
6. [`06-tasks.md`](06-tasks.md):领取本轮唯一任务。
7. [`../progress.md`](../progress.md):历史执行记录、验证结果、阻塞点和关键决策。
8. [`current-state.md`](current-state.md):当前代码现实、可运行命令、下一步任务。
如果仓库根目录有 `AGENTS.md`、`CLAUDE.md`,也必须先读,仓库级规则优先。
## 当前阶段
当前项目处于:**单账号流程已验证,正扩展多账号管理 + GUI**。
优先路径:
1. Phase 0:把已验证流程模块化(`editor.py`),定义账号配置。
2. Phase 1:账号绑定 user-data-dir、Chrome 启动、登录保活、加载商品页。
3. Phase 2:GUI 跑通单账号改标题 + 换封面闭环。
4. Phase 3:批量与多账号并行(V2)。
## 领取任务规则
从 [`06-tasks.md`](06-tasks.md) 领取任务时:
- 只领取第一个状态为 `TODO` 且依赖均为 `DONE` 的任务。
- 开始前把该任务状态改为 `DOING`。
- 本轮只完成这一个任务。
- 验收通过后把状态改为 `DONE`。
- 完成后把执行记录追加到 [`../progress.md`](../progress.md),覆盖更新 [`current-state.md`](current-state.md)。
- 做完即停,汇报验证结果,等待下一步指令。
如果代码实际状态和任务看板冲突,先说明冲突,不要擅自跳步。
## MVP 边界
MVP 只做:
- 账号配置(增删改 1..N 个 Shopee 账号)。
- 每账号绑定 `chrome_user_data_dir/<slug>` 独立配置目录。
- 一键启动 Chrome 供首次人工登录、登录态持久化。
- 用某账号打开指定商品详情页,改标题、换封面。
- 显式确认后点击「更新」提交(默认不提交)。
MVP 不做:
- 自动登录 / 自动填账号密码。
- 绕过验证码、风控、限流。
- 批量、多账号并行、爬取、数据库(属 V2 及之后)。
## 事实来源
项目事实只信:
- [`04-architecture.md`](04-architecture.md) 第四节:CDP 交互已验证结论(选择器、就绪判断、上传/拖拽方式)。
- [`04-architecture.md`](04-architecture.md) 4.1/4.2/4.3:`config.json`、SQLite schema、Excel 模板。
- 真实页面探查结果(用 `prototypes/inspect_images.py` / `prototypes/cookies.py` 实地确认)。
- 已验证脚本 `cdp.py`、`prototypes/demo.py`、`prototypes/set_title.py`、`prototypes/set_cover.py` 中跑通的逻辑。
不要把以下当事实来源:
- 旧脚本里可能已失效的选择器(Shopee 页面会变)。
- 未经实测的猜测。
- 临时探查脚本(`/tmp` 下的一次性脚本)。
## 常见任务该看哪里
做 GUI:
- 先看 `02-requirements.md` 的对应验收标准。
- 再看 `routes.md` 的窗口职责与操作流程。
- 最后看 `04-architecture.md` 的模块边界(GUI 不写业务逻辑)。
做 CDP / 浏览器操作:
- 先看 `04-architecture.md` 第四节已验证事实。
- 再看 `api.md` 的 `cdp` / `editor` 模块合约。
- 复用 `cdp.py`,不重写一套。
做账号配置 / Chrome 启动:
- 先看 `04-architecture.md` 3.1 数据模型与 `api.md` 的 `config` / `chrome` 合约。
- Chrome 启动参数严格按第四节“Chrome 启动参数”一条。
## 验证命令
```bash
python -m py_compile *.py # 语法检查
python prototypes/demo.py # 单账号闭环验证(分步,不提交)
```
说明:
- 改 CDP / editor 逻辑后:在测试商品(ITEM_ID 51100639510)上跑 `prototypes/demo.py` 实测。
- 改账号配置后:验证 SQLite 账号读写与 user-data-dir 创建;改应用设置后验证 `config.json` 读写。
- 如果命令当前不可运行(如 GUI 未建),在回复里如实说明。