# 缸体振动标签合并方案 > 当前阶段不合并。先把 `_tmp_cylinder_vibration/` 稳定下来;确认后再迁入 `models/`。 ## 1. 合并目标 把振动标签接入现有压力/温度统一体系: - 统一标签表; - 统一 API; - 可进入数据库; - 页面/报告口径一致。 不改变现有压力、温度算法。 ## 2. 建议目录 ```text models/cylinder_vibration/ __init__.py config.py data.py features.py local_baseline.py labels.py adaptive.py hourly.py unified.py report.py ``` 放在 `models/vibration/` 下也可以,但建议独立目录,避免和现有“振动模型”混淆。 ## 3. 合并步骤 1. 固定 `_tmp_cylinder_vibration` 结果和报告,确认标签口径。 2. 把纯算法模块迁入 `models/cylinder_vibration/`: - `data.py`、`features.py`、`local_labels.py`、`adaptive.py`、`hourly.py`、`unified_labels.py` 3. 把数据库写入、API、页面相关代码留在 backend: - 新增统一表 `compressor_fault_segment` 或复用现有故障标签表; - 提供 `GET /api/fault-segments`; - 振动标签写入 `label_type=振动`。 4. 添加测试: - 局部基线窗口; - 启动/断档跳过; - 三等级阈值; - 相邻小时合并; - 统一字段映射; - 3 次事件回归。 5. 后端接入后再把 `waveforms.html` 的交互能力迁入正式页面。 ## 4. 字段边界 - 核心字段见 `字段说明.md`; - 振动专有字段放 `details_json`; - `事件关联` 仅用于排查,不参与算法; - `启动过渡比例`、`局部基线可用比例` 只做质量标记。 ## 5. 不做的事 - 不针对某次维修事件写专用规则; - 不因事件删标签; - 不在本阶段改现有温度/压力表; - 不在本阶段写数据库; - 不把实验 HTML 直接当正式页面。 ## 6. 验收标准 - 同一批数据重复运行结果一致; - 3 次事件回归结果稳定; - 统一表能由压力、温度、振动三类映射生成; - 报告能复现; - 无事件专用分支。