Files

101 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 任务看板(Tasks)
> ShopHelm 单 agent 开发看板。每轮只领取一个 `TODO` 且依赖均为 `DONE` 的任务。
## 使用规则
1. 开始前读 `00-ai-start-here.md`、`05-coding-rules.md`、`current-state.md` 和任务相关合约。
2. 取编号最小、依赖均 `DONE` 的 `TODO`,先改为 `DOING`。
3. 同一时间最多一个 `DOING`,不得跳过技术闸门。
4. 验收步骤必须真实执行;只有代码而无命令/观察证据不能 `DONE`。
5. 完成后更新本看板、追加 `../progress.md`、覆盖 `current-state.md` 并走 `clean-state-checklist.md`。
6. 多 agent 并发时冻结本文,切换到 [`tasks/README.md`](tasks/README.md)。
状态:`TODO` 待开始 · `DOING` 进行中 · `DONE` 已验证 · `BLOCKED` 有明确阻塞
## Phase 0 · 工程地基
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-001 | 初始化 Go module 和最小 Gio 窗口 | - | 保留现有 Git 配置;建立 module `shophelm`;锁定兼容 Go/Gio 版本并同步技术文档;`./init.ps1`、`go run ./cmd/shophelm`、`go test ./...`、`go build -o build/shophelm.exe ./cmd/shophelm` 成功;窗口可正常打开和关闭 | TODO |
| T-002 | 建立目录、运行路径、配置和日志骨架 | T-001 | SEC-002;目录符合 `04-architecture.md`;默认本地目录可解析/创建;路径解析和设置校验有测试;日志不含环境秘密;应用启动能显示配置错误 | TODO |
| T-003 | 接入 SQLite、migration 和 repository 测试基座 | T-002 | 使用 `modernc.org/sqlite`;空库迁移到当前版本;外键/busy timeout 生效;临时库重开测试通过;migration 失败不被标记已应用 | TODO |
| T-004 | 建立 application event loop 和生命周期 | T-003 | UI intent 在 frame 外执行;request ID、busy、success/error 事件可用;关闭窗口取消 root context 并关闭数据库;竞态测试或替代验证有记录 | TODO |
| T-005 | 实现 AppShell、主题和基础反馈组件 | T-004 | 五项主导航可切换;loading/empty/error/toast/modal/status badge 有稳定演示;小窗口无关键重叠;Windows 手工 smoke 有记录 | TODO |
## Phase 1 · 高风险技术闸门
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-101 | Gio 管理台表格与表单原型 | T-005 | 用真实店铺字段展示 500 行、固定表头/列、滚动、选中、排序和筛选;新增/编辑表单校验可用;窗口缩放不重叠;决定是否保留 `x/component` 并同步技术文档 | TODO |
| T-102 | Chrome profile、进程和代理启动原型 | T-004 | fake runner 验证参数无 shell 注入;两个 managed profile 可分别启动;同 profile 重复打开被阻止;退出后状态释放;无认证代理参数正确;不启用 CDP;真实 Chrome smoke 有记录 | TODO |
| T-103 | 图片 CompositionPlanner 与导出原型 | T-004 | 固定底图/叠加图通过位置、缩放、透明度 pixel 测试;预览与导出共享 planner;PNG alpha、JPG 背景、目标存在、输入不变和取消均有测试 | TODO |
| T-104 | 技术闸门结论与正式组件归档 | T-101,T-102,T-103 | 原型代码进入正式模块或被删除;Go/Gio/组件/Chrome 占用/图片限制写回架构;三项 smoke 全部可复现;任何未达标项标 `BLOCKED` 并由用户决策是否调整技术路线 | TODO |
## Phase 2 · 业务阶段一:多店铺运营台
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-201 | 实现店铺域 migration 和 repositories | T-104 | SEC-001;`stores`、profile、proxy、shortcut、tags 表和索引符合架构;CRUD/归档/恢复/唯一约束/事务测试通过;schema 无秘密列 | TODO |
| T-202 | 实现店铺列表和 CRUD 页面 | T-201 | STORE-001、STORE-002;新增、查看、编辑、归档和恢复可用;错误保留输入;重启后 20 条测试记录存在;列表默认不显示归档 | TODO |
| T-203 | 实现 profile 配置和店铺快捷入口 | T-202 | STORE-004、STORE-008;managed/external 路径规则生效;managed 目录唯一;快捷 URL 校验协议;归档不删除 profile;详情页可打开文件位置 | TODO |
| T-204 | 接入 Chrome 启动和运行状态 | T-203,T-102 | STORE-005、STORE-006、STORE-007;启动、占用、退出、失败状态进入 UI;last_opened_at 只在成功启动后更新;应用重启核对陈旧 PID;不强杀 Chrome | TODO |
| T-205 | 实现普通代理、筛选和排序 | T-204 | STORE-003、STORE-009;平台/国家/负责人/标签/状态筛选和最近打开排序稳定;代理开启/关闭参数正确;认证字段不存在;500 行操作不冻结 UI | TODO |
| T-206 | 实现店铺待办和首版今日工作台 | T-205 | STORE-010、DASH-001、DASH-002;待办 CRUD、到期/逾期计算和最近店铺展示;分区错误不伪装为空;重启后状态保留 | TODO |
| T-207 | 实现设置持久化和设置页面 | T-206 | SET-001、SET-002;Chrome、profile、导出目录、默认货币和界面语言可保存并校验;路径切换说明影响;重启后设置保留;密码或代理认证字段不存在 | TODO |
| T-208 | 实现数据库备份与恢复 | T-207 | STORE-011、SEC-003;有效备份可恢复全部关联;损坏/高版本备份被拒;替换失败恢复旧库;明确不包含 profile/外部素材;手工故障 smoke 有证据 | TODO |
| T-209 | 验收多店铺运营台 | T-208 | 执行 `02-requirements.md` 6.1 和店铺相关 6.4;运行测试/vet/build;用至少两个测试 profile 完成 Windows smoke;发现缺口新建任务,不用降低验收 | TODO |
## Phase 3 · 业务阶段四:商品运营助手
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-301 | 实现商品、模板和检查项 migration/repositories | T-209 | 表结构、金额整数、状态、索引和外键符合架构;CRUD/归档/检查项事务测试通过;SKU 重复策略定稿并同步需求/schema | TODO |
| T-302 | 实现商品草稿列表和 CRUD | T-301 | PROD-001、PROD-002;按店铺/状态/关键词筛选;金额解析错误可见;详情关联店铺;重启后数据保留 | TODO |
| T-303 | 实现文案模板、上架检查和价格计算 | T-302 | PROD-003、PROD-004、PROD-005;模板和检查项可复用;计算回显全部输入;空费率无隐含默认;边界/舍入测试通过 | TODO |
| T-304 | 实现 CSV/XLSX 商品导入导出 | T-303 | PROD-006;preview 显示行号错误;fingerprint 变化拒绝 commit;两种策略行为明确;CSV/XLSX round-trip 和事务测试通过 | TODO |
| T-305 | 实现图片素材库 | T-302 | PROD-007;路径引用/复制到素材库、缩略图和缺失状态可用;删除关联默认不删文件;异常大图被安全拒绝;重启后关联保留 | TODO |
| T-306 | 实现图片叠加预览页面 | T-305,T-103 | IMG-001、IMG-002;选择底图/叠加图,拖动、位置、缩放、透明度、重置可用;画布缩放不改变 spec;旧预览请求不会覆盖新结果 | TODO |
| T-307 | 实现 PNG/JPG 导出和导出记录 | T-306 | IMG-003、IMG-004;尺寸/格式/背景可选;输出原子写入且默认不覆盖;原图校验和不变;成功记录关联商品;失败不留有效半成品 | TODO |
| T-308 | 完成商品工作台集成和阶段验收 | T-304,T-307 | DASH-003 和商品/图片相关 DASH-004、`02-requirements.md` 6.2 全部通过;最近导出/待优化商品可进入详情;测试/vet/build 和图片 Windows smoke 有证据 | TODO |
## Phase 4 · 业务阶段五:客服助手
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-401 | 实现话术和跟进 migration/repositories | T-308 | 表、状态、到期索引和归档符合架构;CRUD/筛选/重开测试通过;买家字段保持最小化 | TODO |
| T-402 | 实现多语言话术库和一键复制 | T-401 | CS-001、CS-002、CS-003、CS-004;分类/语言/关键词筛选;剪贴板成功才增加次数;失败反馈明确;不出现发送按钮 | TODO |
| T-403 | 实现买家问题和跟进页面 | T-401 | CS-005、CS-006;关联店铺/订单标识;状态和时间校验;逾期/今日优先;归档和重启行为正确 | TODO |
| T-404 | 把客服跟进接入今日工作台 | T-402,T-403 | 客服相关 DASH-004;到期/逾期跟进展示并可进入记录;局部加载失败可重试;系统不读取或发送平台消息 | TODO |
| T-405 | 验收客服助手 | T-404 | 执行 `02-requirements.md` 6.3;多语言文本、剪贴板、时区和重启 smoke 通过;测试/vet/build 有证据 | TODO |
## Phase 5 · 稳定性与发布
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-501 | 统一错误体验、日志脱敏和运行状态恢复 | T-405 | AUDIT-001;所有稳定错误码有 UI 映射;日志无密码/隐私测试标记;启动时校验素材缺失和 Chrome 陈旧状态;关键操作有可诊断结果 | TODO |
| T-502 | 完整首发验收与性能/恢复测试 | T-501 | SEC-001、SEC-002、SEC-003;`02-requirements.md` 6.1-6.4 和非功能要求有逐项证据;500 店铺/5000 商品数据不冻结 frame;备份恢复、异常退出和原图保护通过 | TODO |
| T-503 | Windows 可交付构建与运行文档 | T-502 | 决定 ZIP/安装器并记录;干净 Windows 环境可启动;数据目录/升级/卸载不误删 profile 和素材;版本信息可见;完整测试/vet/build 通过 | TODO |
## 里程碑
- M0:工程地基可运行。
- M1:三个高风险闸门通过,确认继续 Gio。
- M2:多店铺运营台可每日使用。
- M3:商品资料和单张图片合成闭环完成。
- M4:客服话术与跟进闭环完成。
- M5:Windows 首发包可交付。
## Backlog
- authenticated proxy 的合规实现。
- 代理可用性检测和检测历史。
- 图片模板、平台尺寸预设、批量套用和批量导出。
- 多语言标题/描述和 AI 辅助。
- Shopee Open Platform 官方 API。
- 在平台许可范围内、人工确认的辅助 RPA。
- 订单、库存、利润和广告 ROI。
- 云同步、团队成员和权限。
- 操作日志浏览与导出。
- macOS/Linux 评估。