Files
color_full/CONTEXT.md
qichi.liang c58ca26969 企业级重构:四层模块化架构 + RBAC授权 + 安全加固 + 颜色引擎/配方推演增强
架构
- 后端从 flat routes/ 重构为 modules/<domain>/ 模块化结构(8个模块)
- 四层架构:Route -> Service -> Repository -> Prisma
- 新增 shared/ 基础设施(AppError 异常体系、ALS 上下文、prom-client 指标)
- 前端 Toast/Skeleton/Alert 组件基建 + formulaService 模板

安全
- JWT 签名算法修复(HS256 用 createHmac 而非 createHash)
- 密码哈希 async scrypt + timingSafeEqual
- API Key 从 localStorage 迁移至服务端 runtime/config.json
- Helmet 安全头 + rate-limit 全局限流 100 req/min
- 全局 auth preHandler + RBAC + Ownership 中间件

颜色引擎
- 色匹配切换为 cube 粗筛 + CIEDE2000 精排
- PantoneColor 表 + 种子数据 + 搜索端点
- AI 配色 Prompt 注入成分库 colorant 列表

配方推演
- 本地优化引擎(同 category 替换 + 成本排序)
- baseFormulaId 支持 + Pareto 散点图

文档
- ADR-0003 四层架构、ADR-0004 RBAC 授权模型
- 更新 ADR-0001/0002
- api-reference.md(29端点)、project-overview.md

部署
- Dockerfile * 2 + nginx.conf + docker-compose.prod.yml
- 健康探针 + 优雅关闭 + pg_dump 备份脚本
- ESLint + Prettier + tsconfig strict
2026-05-21 17:29:52 +08:00

71 lines
3.8 KiB
Markdown
Raw Permalink 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.
# CONTEXT.md — 配方研发智能平台
## 项目概述
AI 驱动的化妆品配方研发智能平台(纯 Web 端),为化妆品研发工程师提供颜色管理、可视化配方调整、配方记录管理和配方推演四大核心能力。
## 领域词汇表
### 核心实体
| 术语 | 英文 | 定义 |
| :--- | :--- | :--- |
| **配方** | Formula | 一组成分按特定比例和工艺组合的完整方案,包含多个相 |
| **相** | Phase | 配方中按工艺阶段划分的组成部分(如油相、水相、后添加相),每个相包含若干成分 |
| **成分** | Ingredient | 化妆品原料,按功能分类(乳化剂、保湿剂、防腐剂等),有 INCI 名称和中文名 |
| **配方版本** | FormulaVersion | 配方的某个时间点快照,记录该版本完整的成分列表和比例 |
| **颜色配方** | ColorFormula | 颜色调配的专门记录含目标色值Lab/潘通)、色浆组合、实际 ΔE |
| **色浆** | Colorant | 用于调配颜色的基础着色剂(如氧化铁红、二氧化钛等) |
| **色差** | Delta E (ΔE) | 两颜色之间的感知差异量化值,标准为 CIEDE2000目标 ≤ 1.0 |
### 配方指标
| 术语 | 英文 | 定义 |
| :--- | :--- | :--- |
| **肤感指数** | Sensory Index | AI 模型基于成分组合预测的使用肤感评分0-100含铺展性、吸收速度、黏腻度等子维度 |
| **稳定性评分** | Stability Score | AI 预测的配方稳定性评分0-100考量成分相容性和乳化稳定性 |
| **成本估算** | Cost Estimate | 基于各成分单价和比例计算的单位成本(元/kg |
### 色彩科学
| 术语 | 英文 | 定义 |
| :--- | :--- | :--- |
| **CIELAB** | CIELAB | 设备无关的颜色空间L*亮度, a*红绿轴, b*黄蓝轴),平台内部颜色表示标准 |
| **Display P3** | Display P3 | 广色域色彩空间,色域比 sRGB 大 25%,平台渲染目标色域 |
| **潘通色号** | Pantone | 国际标准色卡编号系统,颜色匹配输入格式之一 |
| **取色棒** | Color Picker / EyeDropper | 从参考图片中提取颜色的交互工具 |
### 配方推演
| 术语 | 英文 | 定义 |
| :--- | :--- | :--- |
| **推演** | Exploration | 基于约束条件生成多个候选配方方案的过程 |
| **逆向推演** | Reverse Exploration | 从目标功效指标反推成分组合的推理过程 |
| **Pareto 前沿** | Pareto Frontier | 成本-功效等多目标优化中,无法在不损害其他目标的情况下改进某一目标的最优解集合 |
### AI 相关
| 术语 | 英文 | 定义 |
| :--- | :--- | :--- |
| **预测** | Prediction | AI 根据成分比例预测肤感/稳定性/成本等指标 |
| **推荐** | Recommendation | AI 根据约束条件推荐成分或配方方案 |
| **置信度** | Confidence | AI 预测结果的可靠程度评分 |
| **降级** | Fallback | AI API 不可用时返回缓存结果或友好提示的容错机制 |
| **Prompt 模板** | Prompt Template | 每种 AI 能力的标准化提示词模板,包含角色、上下文、输出格式 |
| **向量搜索** | Vector Search | 将配方/查询转为向量,通过 pgvector HNSW 索引进行语义相似搜索 |
## 架构约定
- **ADRs**: `docs/adr/` — 架构决策记录
- **PRD**: `.scratch/formula-rd-platform/PRD.md`
- **Issues**: `.scratch/<feature-slug>/issues/`
## 当前 ADRs
| ADR | 主题 | 状态 |
| :--- | :--- | :--- |
| [0001](./docs/adr/0001-architecture-stack.md) | 整体技术栈选型 | 已决议 (修订 2026-05-21) |
| [0002](./docs/adr/0002-ai-api-strategy.md) | AI 通过外部 API 调用 | 已决议 (修订 2026-05-21) |
| [0003](./docs/adr/0003-four-layer-module-architecture.md) | 后端四层模块化架构 | 已决议 |
| [0004](./docs/adr/0004-rbac-ownership-authorization.md) | RBAC + 资源级 Ownership 授权 | 已决议 |