Files
cmbuyer/docs/01-vision.md
T

68 lines
4.0 KiB
Markdown

# 项目愿景
## 一、核心目标
cmbuyer 要解决:**采购人员为了履约一笔外部订单,必须手工去拼多多找到同款商品、选对
颜色尺码、下单,再把订单号抄回系统——这个过程重复、易错、且无法追溯。**
> 让采购人员把「买什么」一次说清楚,由系统驱动手机完成找货、选规格和下单,人只在
> 两个关键点介入:**挑哪一个**和**付不付款**。
它不是无人值守的抢购脚本,也不是绕过平台规则的爬虫。它是一个**带人工闸门的采购执行
工具**:机器负责重复劳动,人保留花钱的决定权。
## 二、目标用户
- **采购管理员**:在网页端建单、复核候选商品、签发下单授权、查看执行证据。
- **采购执行员**:在桌面端连接手机、启动批次、处理需要人工接管的任务、完成付款。
- **ERP 对接身份**:只读同步第三方系统的货运单与商品明细,不参与采购决策。
- **系统管理员(后续)**:人员、设备、权限和审计策略管理,MVP 不提供完整界面。
## 三、产品原则
遇到取舍时,以这些原则为准:
- **人保留花钱权**:系统只创建待付款订单,**任何情况下都不自动付款**。
- **找不到就转人工**:规格、价格、标题读不到或对不上时停下来交给人,绝不近似匹配、
绝不猜测。宁可少做,不可做错。
- **先走确定路径**:MVP 只做已知商品链接的情形。图片搜索推到 V2,且届时其唯一职责
是产出 `goods_id`,不在搜索结果页上做价格或规格判断。
- **人站在不可逆动作正前方**:机器先试选并回传,人看过之后才授权下单。
- **价格只在可靠位置读**:规格面板和订单确认页。别处的数字一律不信。
- **失败要可诊断**:不能只返回「失败」,必须有步骤、错误码、截图和页面快照。
- **证据分层**:人工决策需要的证据上传服务端,完整执行轨迹留在桌面端本地。
## 四、核心价值主张
| 价值点 | 用户得到什么 |
| --- | --- |
| 消除重复劳动 | 不再逐条手工搜索、选规格、抄订单号 |
| 决策集中可控 | 所有「买哪个」的决定收敛到网页端一处,有据可查 |
| 资金边界清晰 | 系统能下单不能付款,误操作不会直接造成损失 |
| 执行可追溯 | 每笔采购留下候选、截图、授权理由和订单核对记录 |
| 批量顺序执行 | 一次导入多条,按顺序跑,遇到问题停在该停的地方 |
## 五、不做什么(非目标)
- **不自动付款。** 不在本项目任何版本内规划,除非另行完成资金与合规评审。
- 不绕过验证码、风控、人脸、短信校验或平台限流。
- 不在外部支付页(微信等)读取、保存或输入任何凭据。
- MVP 不支持拼多多以外的平台。
- MVP 不做多设备负载均衡、复杂审批链、财务对账和退款。
- 不做后台推送后立即执行;桌面端主动领取。
- 不承诺对所有拼多多版本和所有商品类目通用。
> MVP 的具体功能范围与验收标准,见 [需求](02-requirements.md)。
## 六、与既有项目的关系
cmbuyer 是 `cmroubao` 与 `cmpdd` 两个前序项目的合并重启,取各自已验证的一半:
| 来源 | 保留 | 丢弃 |
| --- | --- | --- |
| `cmroubao` | Go 后端的任务生命周期、设备侧 API 形状、下单授权状态机、ERP 货运对接、管理 Web | Android AccessibilityService 感知层、自研 APK |
| `cmpdd` | uiautomator2 真机自动化、按维度精确选规格、订单确认页读取、付款闸门、`TaskSource`/`ResultSink` 抽象 | 单机 Excel 工作流作为唯一入口、桌面端持有全部业务权威 |
**不要把这两个仓库当作事实来源直接引用。** 它们是设计依据,代码需重新实现并重新验证;
凡是护栏(精确匹配、唯一控件、转人工),必须连同**理由**一起搬过来。