# 任务看板(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 评估。