# 宝锐生物 · 诊断原料销售工作台 — 完整架构设计

> 版本：v1.0 | 日期：2026-07-26 | 作者：刘新元 + Hermes Agent  
> 核心理念：让销售拜访前知道问什么、拜访中知道说什么、拜访后知道联合谁推进——  
> AI 做参谋，人不被替代，每一次赢单与丢单都变成团队的弹药。

---

## 一、愿景与阶段

| 阶段 | 目标 | 时间 |
|------|------|------|
| **仪表盘**（当前） | 能看数据：KPI、订单、客诉、活动 | ✅ 已上线 |
| **副驾驶**（建设中） | 能提示行动：你今天该跟谁、跟什么、为什么 | 🔄 进行中 |
| **自动驾驶**（远期） | 能代办事务：自动生成拜访卡、自动推送提醒、自动沉淀知识 | 📅 规划中 |

---

## 二、数据底座全景图

```
┌────────────────────────────────────────────────────────────────┐
│                        数据来源层                               │
├──────────────┬──────────────┬──────────────┬──────────────────┤
│  ERP 订单     │  MCP 飞书项目 │  顺丰 API     │  IMA 知识库       │
│  (Excel导出)  │  (实时API)    │  (物流轨迹)  │  (搜索+沉淀)      │
├──────────────┴──────────────┴──────────────┴──────────────────┤
│                        数据处理层                               │
│  refresh_erp.py / mcp_pipeline.py / 销售工作台服务.py           │
├───────────────────────────────────────────────────────────────┤
│                        存储层                                   │
│  JSON 数据文件 → HTTP 8765 服务 → CloudBase CDN                │
├───────────────────────────────────────────────────────────────┤
│                        展示层                                   │
│  销售工作台.html (CloudBase) / 飞书应用 / 移动端               │
└───────────────────────────────────────────────────────────────┘
```

### 已接入的数据维度

| 维度 | 数据源 | 实时性 | 用途 |
|------|--------|--------|------|
| 销售订单（金额/货号/客户） | ERP Excel + MCP | 日级 | KPI仪表盘、客户采购分析 |
| 客户（名称/联系人/层级） | MCP 客户表 (1700条) | 实时 | 客户360°档案、客户Tab |
| 活动（拜访/线上/测试/其他） | MCP 活动表 | 实时 | 活动量分析、拜访卡关联 |
| 客诉（类型/状态/关联订单） | MCP 售后管理空间 | 实时 | 客诉Tab、飞书预警 |
| 商机（金额/阶段/达成率） | Excel 商机沙盘 | 手动 | 商机沙盘Tab |
| 物流（顺丰轨迹/签收状态） | 顺丰 API | 日级 | 订单管理Tab、飞书推送 |
| 产品/竞品/案例 | IMA 知识库 | 按需 | Copilot 知识匹配 |
| 人员（姓名/部门/角色） | personnel.json | 手动 | 权限控制、KPI归属 |

---

## 三、模块全景图

### 已上线模块（诊断作战室 / 销售工作台）

| Tab | 功能 | 数据源 |
|-----|------|--------|
| 📊 看板 | KPI仪表盘（目标/实际/达成率）、应收汇总 | kpi_dashboard.json / kpi_progress.json |
| 📋 客户 | 客户清单（含2026累计采购、飞书链接） | MCP 客户表 + ERP订单聚合 |
| 🎯 商机沙盘 | 339个商机，按区域/人员/达成率分析 | opportunity_sandbox.json |
| 🔴 客诉 | 多维度筛选器（区域/状态/优先级/类型/处理人） | MCP 售后管理空间 |
| 📦 订单管理 | 时间维度分析 + 近90天明细 + 顺丰物流轨迹 | MCP + 顺丰API |
| ✅ 待办 | 独立CRUD（销售/技术/交付分类） | localStorage |

### 规划中模块（按优先级排序）

| 优先级 | 模块 | 描述 | 核心价值 |
|--------|------|------|---------|
| **P0** | 🤖 **销售Copilot** | 访前准备中心升级为AI参谋，IMA知识库赋能 | 知识飞轮的核心引擎 |
| **P0** | 📱 **飞书消息触达** | 顺丰派送/客诉/商机/测试反馈→飞书弹窗 | 直接提升响应速度 |
| **P1** | 🧪 **样品→订单转化漏斗** | 送样→测试→反馈→采购全链路可视化 | 前置预警，差异化竞争力 |
| **P1** | 👤 **客户360°档案卡** | 聚合单个客户所有维度的信息 | 减少信息碎片化 |
| **P2** | 📱 **销售员个人看板** | 移动端优先，飞书内打开，只看自己的数据 | 移动端体验 |

---

## 四、P0 详细设计：销售Copilot

### 4.1 定位

Copilot = 访前准备中心升级版 + IMA知识库集成 + 结构化知识沉淀

每个销售人员用手机或电脑、在飞书内即可打开使用。

### 4.2 知识飞轮（核心引擎）

```
                 ┌─ IMA 诊断原料 KB ──────────────┐
                 │ 产品参数/竞品对比/案例/话术/方案  │
                 │                                  ↓
销售员打开 Copilot ──→ 输入：客户名 + 场景 ──→ AI 匹配：
                 │   "圣湘 / 冻干PCR拜访"            • 该客户历史订单/采购趋势
                 │                                  • 在测样品状态
                 │                                  • 竞品在圣湘的报价
                 │                                  • 同类客户成功案例
                 │                                  • 推荐沟通要点（3条）
                 │                                  • 拜访卡自动生成
                 │
                 └── 拜访后 → 结构化记录 → 写回 IMA KB
                        • 成功/失败原因（下拉选择）
                        • 竞品信息更新（短文本）
                        • 话术有效性（评分 1-5）
                        • 客户需求变化（标签）
```

### 4.3 结构化知识模板（关键设计）

**为什么必须结构化？** 自由文本沉淀后无法检索复用。每个拜访后填写标准卡片：

```yaml
# 拜访沉淀卡（≤ 2分钟完成）
拜访日期: 2026-07-26
客户: 圣湘生物
场景: 冻干PCR产品POC演示
结果: [✅ 推进 / ⚠️ 待定 / ❌ 丢单]
关键反馈:
  - 竞品是谁: [下拉: 诺唯赞/翊圣/全式金/其他___]
  - 竞品报价: [数字] 元/U
  - 我方优势: [下拉: 价格/效期/冻融/技术支持/其他___]
  - 我方劣势: [下拉: 价格/效期/冻融/技术支持/其他___]
  - 客户原话: [短文本]
下一步行动: [下拉: 寄样/报价/技术交流/商务拜访/合同]
可复用打法: [短文本]
标签: [POCT/RT-qPCR/冻干/酶原料/...]
```

### 4.4 Tab 架构

| Tab | 功能 | 数据源 |
|-----|------|--------|
| 🎯 作战准备 | 客户搜索 + 5种材料生成 + AI诊断 + TOP5 | customer_list + opp_sandbox |
| 📝 拜访执行 | 动态作战卡 + 知识匹配 + 反馈记录 | IMA知识库 + 结构化模板 |
| 📋 待办推进 | 独立CRUD，按角色分类 | localStorage |
| 📖 经验库 | 沉淀卡CRUD + 一键回写IMA | localStorage + IMA API |

### 4.5 IMA 集成架构

```
前端 Copilot ──→ fetch('/api/ima', {action:'search', query:'冻干PCR 竞品'})
                     │
                     ↓
              销售工作台服务.py :8765
                     │
                     ├─ search → IMA OpenAPI /wiki/v1/search_knowledge
                     └─ create_note → import_doc → add_knowledge → KB
```

**凭证**：`~/.config/ima/client_id` + `~/.config/ima/api_key`  
**知识库ID**：`fwEO41E0Ef0CfulmtQHYgYQy_jBsbl6tXE5x6VYLIoA=`（宝锐诊断原料销售）

---

## 五、P0 详细设计：飞书消息触达矩阵

### 5.1 已实现

| 事件 | 渠道 | 说明 |
|------|------|------|
| Feishu Gateway | WebSocket | 飞书消息 ↔ Hermes Agent 双向通信 |

### 5.2 待建设

| 事件 | 触发方式 | 接收人 | 频率 |
|------|---------|--------|------|
| 🚚 顺丰已派送 | 飞书卡片消息 | 对应销售员（按下单人匹配） | 实时/日级 |
| 🔴 客诉新建 | 飞书通知 | 销售员 + 销售支持 | 实时 |
| 🧪 测试单超30天未反馈 | 飞书提醒 | 对应销售员 | 每日 |
| 📉 大客户采购额环比降>20% | 飞书预警 | 销售总监 | 每周 |
| 🎯 商机进入POC阶段 | 飞书提醒 | 销售员 + 技术支持 | 实时 |
| 💰 竞品低价预警 | 飞书通知 | 销售总监 | 实时 |

### 5.3 顺丰弹窗流程

```
顺丰API (每日刷新)
    │
    ↓
shipment_status.json ──→ 检测新签收/新派送
    │
    ├─ 新派送 → 匹配订单的"下单人"
    │           │
    │           ↓
    │      查询 personnel.json → 飞书 user_id
    │           │
    │           ↓
    │      飞书卡片消息：📦 您的订单已派送
    │      "圣湘生物 / Taq酶 50万U / 顺丰SFxxx / 预计今日送达"
    │
    └─ 物流异常 → 通知销售员 + 销售支持
```

---

## 六、P1 详细设计：样品→订单转化漏斗

### 6.1 业务背景

宝锐诊断原料的核心销售路径：**送样 → 测试 → 反馈 → 小批量试购 → 正式采购**。

样品通过率下降 → 2-3个月后订单下滑，这是比销售额更前置的预测指标。

### 6.2 数据源

- MCP 活动表（type="测试" 的活动即为测试单）
- ERP 订单（验证是否已采购）
- 测试反馈表（MCP 活动备注中提取）

### 6.3 漏斗可视化

```
送样 120 批次
 ├─ 测试中 35
 ├─ 通过 60 ──→ 已采购 38（转化率 63%）✅
 │              └─ 未采购 22 ← ⚠️ 需跟进原因
 ├─ 未通过 15（竞品替代 8 / 指标不达标 7）
 └─ 未反馈 10 ← ⚠️ 超30天，弹窗提醒销售员
```

### 6.4 触发逻辑

- 测试单创建后 15 天仍未反馈 → 自动标记为"待跟进"
- 测试通过但 30 天未采购 → 标记为"流失风险"
- 此数据写入飞书提醒，推送对应销售员

---

## 七、P1 详细设计：客户360°档案卡

### 7.1 数据聚合维度

```
客户：圣湘生物
├─ 📊 采购趋势     ERP订单按年汇总（2024/2025/2026）
├─ 🧪 在测样品     MCP活动筛选（测试类型，该客户）
├─ 🎯 活跃商机     商机沙盘（该客户关联）
├─ 📅 近90天活动    MCP活动（拜访/线上/测试）
├─ 🔴 客诉记录     MCP客诉（关联该客户）
├─ 👥 决策链       客户清单（研发/采购/老板联系人）
├─ 🏷️ 竞品动态     结构化沉淀卡（最新竞品报价）
└─ ⚠️ 风险标记     自动计算（采购降幅/无新测试/有客诉）
```

### 7.2 触发方式

- 客户Tab中点击任意客户名 → 弹出侧边栏或新Tab
- Copilot 作战准备中搜索客户 → 自动展示360°摘要

---

## 八、P2 详细设计：销售员个人看板

### 8.1 设计原则

- 移动端优先（飞书内打开）
- 只显示当前登录销售员自己的数据
- 3秒内让销售员知道"今天应该做什么"

### 8.2 布局

```
📱 今日概览（飞书内）
┌────────────────────────────┐
│ 👋 陈溪子                   │
│ 🎯 月度目标 85万           │
│ ✅ 已完成 62万 (73%)       │
│ 📦 在途 3单 18万          │
│ 🧪 测试反馈待跟进 2个      │
│ 📅 今日待办 3项            │
│ 🔴 客诉待处理 1个          │
├────────────────────────────┤
│ 📋 今日行动清单             │
│ 1. 圣湘生物 — POC阶段跟进   │
│ 2. 丽珠 — 测试反馈已到，确认 │
│ 3. 万孚 — 合同审批           │
├────────────────────────────┤
│ 🚚 物流动态                 │
│ SF123 → 圣湘 / 已签收 ✓     │
│ SF456 → 丽珠 / 派送中 🚚     │
└────────────────────────────┘
```

---

## 九、技术架构

### 9.1 部署架构

```
┌─────────────┐     ┌──────────────┐     ┌──────────────────────┐
│  用户浏览器   │────→│ CloudBase CDN │────→│ index.html + JSON数据 │
│  (飞书/手机)  │     │ (HTTPS)       │     │ (1398个文件)          │
└─────────────┘     └──────────────┘     └──────────────────────┘
       │                                          │
       │ 实时数据（可选）                            │
       ↓                                          ↓
┌─────────────┐                          ┌────────────────┐
│ Cloudflare   │                          │ HTTP 8765       │
│ Tunnel       │────→──────────────────→│ (tmux:workbench) │
│ (HTTPS)      │                          │ Python 服务器    │
└─────────────┘                          └────────────────┘
       │                                          │
       │                                          ├─ /api/login
       │                                          ├─ /api/mcp/*
       │                                          ├─ /api/ima
       │                                          └─ 静态文件服务
       ↓
┌─────────────┐     ┌──────────────┐     ┌──────────────┐
│ 飞书 MCP     │     │ IMA OpenAPI  │     │ 顺丰 API      │
│ (实时数据)   │     │ (知识库)     │     │ (物流轨迹)   │
└─────────────┘     └──────────────┘     └──────────────┘
```

### 9.2 数据流

```
MCP/顺丰 → Python脚本(日级批处理) → JSON文件 → HTTP 8765 + CloudBase
                                                │
                                    前端 ← fetch(JSON优先)
                                    前端 ← fetch(/api/mcp/*) (Tunnel备选)
```

### 9.3 当前技术栈

| 层 | 技术 |
|----|------|
| 前端 | 纯 HTML/CSS/JS（零依赖），CloudBase 静态托管 |
| 后端 | Python HTTP Server (SimpleHTTPRequestHandler) |
| 实时API | Python → MCP HTTP / 顺丰 REST / IMA REST |
| 消息通道 | Hermes Feishu Gateway (launchd 托管) |
| 数据存储 | JSON 文件系统 + CloudBase CDN |
| 调度 | Hermes Cron (MCP刷新/顺丰刷新) |
| 认证 | 本地白名单 + 飞书OAuth免登 + 离线凭证 |

---

## 十、实施路线图

| 阶段 | 模块 | 预计工作量 | 前置依赖 |
|------|------|-----------|---------|
| **当前** | 数据底座稳定（Tunnel/JSON/CloudBase） | ✅ 已完成 | — |
| **当前** | Gateway 飞书连通 | ✅ 已完成 | — |
| **S1** (1-2周) | Copilot 结构化沉淀模板 | 3-5天 | IMA API 已通 |
| **S1** | 顺丰派送 → 飞书弹窗 | 2-3天 | 顺丰API已上线，需匹配personnel→飞书ID |
| **S2** (2-3周) | 客诉/商机 → 飞书通知 | 2-3天 | Gateway 已通 |
| **S2** | Copilot 知识匹配（搜索IMA） | 3-5天 | 结构化模板 + IMA API |
| **S3** (4-6周) | 样品→订单转化漏斗 | 5-7天 | 测试活动数据需清洗 |
| **S3** | 客户360°档案卡 | 3-5天 | 数据聚合逻辑 |
| **S4** (6-8周) | 销售员个人移动看板 | 3-5天 | 权限 + 飞书免登 |
| **远期** | 大客户预警/竞品监控自动化 | TBD | 数据积累充分后 |

---

## 十一、风险与注意事项

| 风险 | 缓解措施 |
|------|---------|
| Cloudflare Tunnel 不稳定 | 离线登录 + CloudBase JSON 已实现双保险 |
| MCP API 速率限制 | 批处理脚本 + 缓存策略 |
| IMA 知识库数据质量 | 结构化模板强制规范输入格式 |
| 飞书推送过度打扰 | 分级推送（实时/每日/每周）+ 免打扰时段 |
| 移动端适配 | 从设计阶段即考虑飞书 WebView 尺寸 |
| 销售员使用意愿 | 先做顺丰推送（直接收益），再推知识沉淀 |

---

## 十二、一句话总结

> 从"能看"（仪表盘）→"能提示"（Copilot）→"能代办"（自动驾驶）。  
> 每天主动告诉每个销售员三件事：你今天应该跟谁、跟什么、为什么。
