## 痛点复盘
- 不同供应商存在强差异：列名不统一、单位混杂在数量、规格隐藏在名称、供应商缺失等
- 现有向导只解决列映射层面，规则与词典编辑、执行顺序与生效范围不清晰
- 缺少可视化“从原始→规范化→模板填充”的贯通验证；流程易跑不通

## 总体方案
- 建立“供应商规则系统”：可配置、可视化、可预览，贯穿 映射→清洗→规则→模板 填充全链路
- 提供“规则库 + 词典 + 执行管道”三层抽象，支持每家供应商自定义规则组合与执行顺序
- 完善 GUI：供应商管理中的四大Tab一站式配置，规则编辑器内置预设与预览，落地即验证

## 数据模型
- `suppliers_config.json` 每个供应商对象结构：
  - `name`、`description`
  - `filename_patterns`、`content_indicators`
  - `header_row`
  - `column_mapping`（源列→标准列）
  - `rules`: 有序规则数组（见下）
  - `dictionary`: 解析词典（`ignore_words`、`unit_synonyms`、`pack_multipliers`、`name_patterns`、`default_unit`、`default_package_quantity`）
  - `output_templates`: 模板列表；`current_template_index`: 当前模板索引

## 规则库（首批）
- `split_quantity_unit(source)`: 拆分数量中的单位（箱/件/提/盒/瓶），无单位用默认单位
- `extract_spec_from_name(source)`: 从名称抽取规格/包装（容量×数量/简单双乘），应用忽略词与名称正则
- `normalize_unit(target,map)`: 单位归一（同义词→统一单位），件/箱/提/盒按包装倍数转换数量为“瓶”
- `compute_quantity_from_total()`: 数量缺失时用金额/单价回推数量
- `fill_missing(fills)`: 缺失填充，例如单位默认“瓶”
- `mark_gift()`: 金额/单价为0或名称含“赠品/O/o/空”标记赠品
- 后续扩展：`classify_category(name)`, `extract_brand(name)`, `strip_noise(name)` 等

## 执行管道
- 处理器执行顺序：映射→清洗→规则（有序）→模板填充
- 每条规则可访问 `dictionary`，执行结果在 DataFrame 上可追踪（供预览）
- 提供“预览栈”：展示原始→每步规则输出（多步Diff），定位问题

## GUI优化
- 供应商管理：
  - 左侧供应商列表（搜索/新建/复制/删除/导入/导出）
  - 右侧四大Tab：
    - 基本信息：必填校验与保存
    - 列映射与表头：现有向导增强（滚动条、表头选行、智能映射、导入/导出）
    - 规则与词典：
      - 规则编辑器（顺序可调整：上/下移动、插入/删除规则）
      - 词典编辑（忽略词、单位同义词、包装倍数、名称正则、默认值）
      - 规则预设（常用组合）与“应用规则预览”（展示原始→规范化两列；可切换查看逐步Diff）
    - 模板管理：模板列表/当前选择与批量校验，显示缺失/多余列报告
- 性能与体验：所有弹窗置顶回焦；滚动与水平滚动；列宽拖拽与一键导出预览为CSV

## 使用路径（推荐）
1. 新建供应商→选样例Excel→自动表头与初始映射建议
2. 规则预设：选择“基础拆分与推断”→应用规则预览→查看原始/规范化对比
3. 细化词典：补充忽略词、单位同义词、包装倍数、名称正则→再次预览
4. 保存并重载→跑一份真实文件→最近文件中打开结果核验→如有差异回到规则编辑器微调

## 验证与可视化
- 单元测试：表头识别/数量拆分/名称规格解析/单位归一/数量回推/赠品标记
- 烟雾测试：5–10类典型供货商样本端到端验证（含极端情况：无单位、名称含噪声、数量混合单位）
- 日志：每步规则执行计数与示例行输出（前/后5行），便于定位问题

## 交付物
- 规则引擎模块与规范接口；处理器接入
- 供应商管理GUI（规则编辑器、词典编辑器、预设与预览）
- 扩展配置示例与测试数据；打包脚本校验资源

## 里程碑
- Day 1：规则库与引擎扩展、处理器接入、预览栈接口
- Day 2：GUI规则编辑器（顺序调整/增删）、词典编辑器、规则预设与预览
- Day 3：模板批量校验、单元与烟雾测试、日志强化
- Day 4：回归修正与打包交付

确认后我将开始实现上述内容，确保不同供应商可独立配置精细规则并“所见即所得”验证，流程稳定可跑通。