Files
20260324-42433647/.memory/dxm-auto-procurement.md
2026-04-25 21:50:03 +08:00

91 lines
3.5 KiB
Markdown
Raw 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.
---
name: 店小秘自动采购全流程
description: 从数据采集到下单的AI自动化采购流程人只做关键审批财务批款、供应商下单确认
type: project
---
## 目标
将店小秘的采购全流程AI自动化人只在关键决策点介入确认/拒绝)。
## 完整流程链
```
1. 数据采集AI自动
→ 登录店小秘,爬取采购建议 + 自营仓库数据
→ 每4小时执行一次24小时6次
2. 数据分析AI自动
→ 本地合并表格,交叉比对库存/销量/在途
→ 生成采购需求清单哪些SKU、买多少、找哪个供应商
3. 采购审批(人判断)
→ AI 生成采购建议摘要,推送给人
→ 人确认:是否转发给财务批款
→ 人确认:是否转发给供应商微信下单
4. 财务批款(人判断)
→ AI 生成付款申请
→ 转发财务审批
5. 供应商下单(人判断)
→ AI 生成下单信息SKU/数量/价格)
→ 人确认后转发供应商微信
```
**Why:** 采购环节重复性高每天多次导出、对比、算量但涉及资金和外部沟通必须人确认。AI 做数据密集型工作,人做判断。
**How to apply:** 每一步独立模块化数据流串联。步骤1已完成`~/Projects/business/20260324-店小秘自动导出/`下一步是步骤2的表格合并分析。
## 当前进度
- ✅ 步骤1数据采集脚本已完成cron每4小时自动导出
- 采购建议 xlsx
- 仓库清单 zip/xlsx单品SKU + 组合SKU
- 路径:`~/Projects/business/20260324-店小秘自动导出/`
- **需要先手动登录一次**`node login.mjs`输验证码保存Cookie
- 之后自动跑:`node export.mjs`cron 每4小时
- Cookie 过期会弹 macOS 通知,重新 `node login.mjs` 即可
- **用户还没实际启用,待用户自己操作**
- ⬜ 步骤2表格合并分析 → 生成采购需求
- ⬜ 步骤3推送审批 → 人确认
- ⬜ 步骤4财务批款
- ⬜ 步骤5供应商下单
## 使用方式
```bash
cd ~/Projects/business/20260324-店小秘自动导出
node login.mjs # 首次/Cookie过期手动登录
node export.mjs # 自动导出cron 已配好每4小时跑
```
## 账号信息
- 平台:店小秘 https://www.dianxiaomi.com
- 账号MiLe-kf01子账号部分权限受限
- 登录方式:手动登录 + Cookie 持久化复用
## 技术路线决策2026-03-28 确认)
**铁律:不碰 UI只抓接口。**
店小秘没有开放 API但前端所有操作底层都是 REST 请求。技术路线:
1. **登录拿 Cookie** — Playwright 模拟登录(唯一需要浏览器的环节)
2. **抓真实 API** — 拿到 Cookie 后直接 HTTP 请求调店小秘内部接口,不再碰页面
3. **数据落表** — JSON → 清洗 → CSV / 数据库
4. **本地合并** — 跨店铺、跨平台数据在本地处理
**Why:** 评估过 AI 操作网页方案(如阿里 PageAgent结论是对复杂 SaaS 不可靠——Element Plus 组件识别不了、速度慢、每步都要调 LLM 有成本。抓接口方案:批量快(几百条/秒)、稳定(接口不轻易变)、零 LLM 成本。
**How to apply:** 任何新增的数据采集需求,优先 F12 抓接口,写 HTTP 请求脚本。只在登录/验证码环节用 Playwright。绝不走"AI 点击页面按钮"的路线。
## 技术栈
- Playwright仅用于登录
- Node.jsHTTP 请求 + 数据处理)
- cron 定时任务
- macOS 通知Cookie 过期提醒)