# 需求 > 本文只定义产品需要什么以及如何验收。技术实现和字段存储方式见 [`04-architecture.md`](04-architecture.md)。 ## 一、业务现状 | 项 | 当前事实 | | --- | --- | | 用户 | 个人卖家或小团队运营人员,同时维护多个跨境店铺 | | 常见痛点 | 店铺入口、Chrome 会话、商品资料、图片、话术和待办分散 | | 当前项目 | 空项目,尚无生产代码和历史数据 | | 首发平台 | Windows 10/11 x64 桌面 | | 首发平台业务 | 字段支持多平台,功能和示例优先覆盖 Shopee | | 数据来源 | 用户手工录入、本地文件、CSV/XLSX;平台官方 API 后置 | | 网络边界 | 核心数据管理离线可用;打开 Chrome 或显式代理检测时才联网 | ## 二、用户角色 - **店铺运营**:维护店铺、商品、图片、客服记录和个人待办。 - **团队负责人**:在同一台电脑查看负责人、状态、模板和处理记录。 - **未登录用户**:首发没有 ShopHelm 云账号,启动本机应用即可使用。 首发没有应用内角色权限。平台后台权限仍由 Chrome 中的平台账号决定。 ## 三、发布顺序 1. 业务阶段一:多店铺运营台。 2. 业务阶段四:商品运营助手。 3. 业务阶段五:客服助手。 工程上先完成地基和高风险原型,再依上述业务顺序交付。 ## 四、首发功能需求 ### 4.1 今日工作台 | ID | 需求 | 优先级 | | --- | --- | --- | | DASH-001 | 展示最近打开的店铺,并可直接再次打开 | P0 | | DASH-002 | 展示今天到期和已逾期的店铺待办、客服跟进 | P0 | | DASH-003 | 展示待上架、需优化的商品和最近图片导出 | P0 | | DASH-004 | 提供新增店铺、商品、客服跟进和图片预览入口 | P0 | ### 4.2 多店铺运营台 | ID | 需求 | 优先级 | | --- | --- | --- | | STORE-001 | 新增、查看、编辑、归档店铺 | P0 | | STORE-002 | 维护平台、国家/站点、店铺名、账号标识、负责人、标签、状态和备注 | P0 | | STORE-003 | 按关键词、平台、国家、负责人、标签和状态筛选 | P0 | | STORE-004 | 每个店铺绑定唯一 Chrome profile 目录和起始地址 | P0 | | STORE-005 | 一键用绑定 profile 打开外部 Chrome,并更新最后打开时间 | P0 | | STORE-006 | 显示未运行、启动中、运行中、已退出和启动失败状态 | P0 | | STORE-007 | profile 已被占用时阻止重复启动,并给出可操作提示 | P0 | | STORE-008 | 维护订单、商品、营销、客服、数据等快捷链接,并用当前店铺 profile 打开 | P0 | | STORE-009 | 可选配置 HTTP/HTTPS/SOCKS 普通无认证代理 | P0 | | STORE-010 | 维护店铺待办及到期时间 | P0 | | STORE-011 | 备份并恢复本地业务数据和配置引用 | P0 | | STORE-012 | 批量打开、分组视图和快捷键 | P2 | 归档店铺不得自动删除 Chrome profile。首发不支持需要用户名/密码认证的代理自动注入。 ### 4.3 商品运营助手 | ID | 需求 | 优先级 | | --- | --- | --- | | PROD-001 | 新增、查看、编辑、归档商品草稿 | P0 | | PROD-002 | 维护店铺、商品名、SKU、成本、售价、币种、库存、链接、状态和备注 | P0 | | PROD-003 | 管理标题模板和描述模板 | P0 | | PROD-004 | 维护上架检查项,并显示未完成项 | P0 | | PROD-005 | 根据明确输入计算收入、成本和基础利润参考,不把结果称为财务利润 | P0 | | PROD-006 | CSV 和 XLSX 导入/导出商品草稿,导入前显示校验结果 | P0 | | PROD-007 | 关联主图、详情图、Logo、角标和水印等本地图片素材 | P0 | | IMG-001 | 选择一张底图和一张叠加图进行预览 | P0 | | IMG-002 | 调整叠加图位置、缩放和透明度,并可恢复默认值 | P0 | | IMG-003 | 选择输出尺寸与 PNG/JPG 格式后导出合成图 | P0 | | IMG-004 | 导出记录关联回商品,且默认不覆盖任何输入文件 | P0 | | PROD-008 | 多语言草稿、关键词库和标题候选 | P1 | | IMG-005 | 保存图片模板、批量套用和批量导出 | P2 | 首发图片工具只支持“单底图 + 单叠加图”。旋转、混合模式、滤镜、抠图、文字排版和任意多图层不在范围内。 ### 4.4 客服助手 | ID | 需求 | 优先级 | | --- | --- | --- | | CS-001 | 新增、查看、编辑、归档客服话术 | P0 | | CS-002 | 按售前、物流、退款、退货、催发货、评价、缺货、尺码、售后等分类 | P0 | | CS-003 | 维护语言、标题、正文和使用次数 | P0 | | CS-004 | 一键复制话术正文,并给出成功或失败反馈 | P0 | | CS-005 | 记录买家问题、店铺、订单标识、问题类型、状态、下次跟进时间和备注 | P0 | | CS-006 | 按店铺、状态和到期时间筛选跟进记录 | P0 | | CS-007 | 支持变量预览、多语言回复草稿和超时提醒 | P1 | | CS-008 | 对接官方聊天 API 或辅助打开聊天页 | P2 | 首发不读取真实聊天消息,也不自动发送回复。 ### 4.5 设置和数据安全 | ID | 需求 | 优先级 | | --- | --- | --- | | SET-001 | 配置 Chrome 可执行文件、profile 根目录和默认图片导出目录 | P0 | | SET-002 | 配置默认货币、显示语言和日志目录 | P0 | | SEC-001 | SQLite、日志、导出文件和测试数据中不出现平台明文密码 | P0 | | SEC-002 | 所有外部文件路径在使用前校验存在性、类型和可读写权限 | P0 | | SEC-003 | 删除、恢复、覆盖和批量动作必须有明确影响说明和确认 | P0 | | AUDIT-001 | 记录店铺打开、备份恢复、导入和图片导出结果,不记录秘密 | P1 | ## 五、核心用户流程 ### 5.1 打开正确店铺 1. 用户在店铺列表搜索或筛选目标店铺。 2. 用户点击打开或某个快捷入口。 3. 系统检查 Chrome 路径、profile 和代理配置。 4. 若 profile 已占用,系统阻止重复启动并说明原因。 5. 若可启动,外部 Chrome 使用该店铺 profile 打开目标地址。 6. 系统显示运行状态并记录最后打开时间。 ### 5.2 整理商品并导出主图 1. 用户创建或导入商品草稿。 2. 用户补充价格、SKU、模板和检查项。 3. 用户关联底图与 Logo/角标/水印。 4. 用户在预览中调整位置、缩放和透明度。 5. 用户选择输出尺寸和格式。 6. 系统导出新文件并将记录关联到商品,原图保持不变。 ### 5.3 复用话术并跟进 1. 用户按分类和语言找到话术。 2. 用户一键复制并在平台页面手工发送。 3. 用户记录买家问题和下次跟进时间。 4. 到期记录出现在今日工作台。 5. 用户更新处理状态直至解决。 ## 六、首发验收标准 ### 6.1 店铺 - 可创建至少 20 条店铺记录,重启应用后仍存在。 - 两个店铺使用不同 profile 目录启动 Chrome,登录会话和缓存目录不相同。 - 同一 profile 运行中再次打开时,不启动第二个实例,并显示占用提示。 - 快捷入口使用绑定 profile 打开配置的 URL。 - 配置无认证代理后,Chrome 启动参数包含对应代理;无代理时不附加代理参数。 - 归档店铺后默认列表不显示,但 profile 目录仍存在且可恢复记录。 ### 6.2 商品和图片 - 可手工创建商品,也可从有效 CSV/XLSX 导入;无效行会列出行号和原因,不部分静默导入。 - 价格计算结果能追溯到全部输入,不使用隐含汇率或费率。 - 图片预览和导出使用同一组几何参数;基准测试图中叠加层位置误差不超过 1 个输出像素。 - PNG 保留预期透明度;JPG 使用明确背景色。 - 导出到独立文件,输入图片校验和与内容不变。 - 退出并重进应用后,图片素材和导出记录仍关联到原商品。 ### 6.3 客服 - 可按分类和语言维护话术,重启后不丢失。 - 点击复制后,系统剪贴板内容与话术正文一致。 - 可创建关联店铺的跟进记录,并在到期日出现在工作台。 - 任何流程都不会自动向平台发送消息。 ### 6.4 数据和恢复 - 在包含店铺、商品、图片引用、话术和跟进的数据库上完成备份。 - 在测试目录中恢复备份后,记录数量、关联和设置与备份时一致。 - 备份或恢复失败时保留原数据库,不留下被应用当成有效数据的半成品。 - 对 SQLite 文件和日志进行文本检查,不含测试输入的明文密码标记。 ## 七、非功能要求 | 维度 | 要求 | | --- | --- | | 平台 | 首发支持 Windows 10/11 x64 | | 可用性 | 无云账号、无平台 API 时,除外部 Chrome 操作外核心 CRUD 可离线使用 | | 数据一致性 | 外键启用;多表写入使用事务;所有时间按 UTC 存储、按本地时区显示 | | 性能 | 500 条店铺或 5000 条商品数据下,筛选和翻页不冻结 UI;阻塞操作不得在 Gio frame 中执行 | | 可恢复性 | 应用异常退出后数据库可再次打开;运行状态可从真实进程重新核对 | | 可访问性 | 关键动作有文字或标准图标与 tooltip;状态不只依赖颜色表达 | | 可诊断性 | 用户可看到可行动的错误;日志包含错误码和上下文,但不含秘密 | | 语言 | 首发界面为简体中文;业务内容允许多语言 | ## 八、范围决策 | 问题 | 当前决策 | | --- | --- | | 产品名 | 店小航 ShopHelm | | 应用形态 | Windows 本地桌面应用 | | UI | Go + Gio | | 数据 | 本地 SQLite 和本地文件引用 | | 应用账号 | 首发不需要 | | 平台密码 | 首发不保存 | | 代理 | 首发只支持无认证代理 | | 平台能力 | 字段支持多平台,优先按 Shopee 场景设计 | | RPA | 不进入首发主链路 | | 图片 | 首发单底图、单叠加图、单张导出 | ## 九、后续范围 - 官方 Shopee Open Platform API。 - 订单、库存、利润和广告 ROI。 - 图片模板与批量导出。 - AI 标题、描述、图片和客服建议。 - 团队账号、权限、同步与审计。 - 在平台允许范围内、人工确认的辅助 RPA。 ## 十、待确认但不阻塞地基 - 公开发布前采用哪个仍受支持的 Go 版本。 - 默认支持哪些 Shopee 站点和后台快捷链接种子。 - 价格计算器首发需要哪些用户显式输入的费率。 - 首发安装包采用 ZIP 便携版还是安装器。 这些问题必须在对应实现任务前定稿,不允许 agent 在业务代码中静默猜测。