用户令 (2026-09-18): /detail 各页面不许用旧版产出补, 必须由 data/raw 重算;
旧版产物只可参照呈现样式与内容。逐页依赖见下表 (自动生成段)。
生成端:
python scripts/detail_deps.py --write|场站rudong|产物仓outputs/rudong|盘上 3,548 件用户令 (2026-09-18): /detail 各页面不许用旧版产出补, 只能参照旧版产物的呈现样式与内容, 数值必须由
data/raw重算。本表把每页的取数接口与产物件逐条列清, 缺的写明怎么补。
| 页签 | 页面 | 取数接口 |
|---|---|---|
| overview | 总览 | /api/fleet |
| energy | 发电与损失 | /api/fleet |
| component | 部件与系统 | /api/fleet |
/api/problem |
||
/api/turbine |
||
| vibration | 振动评估(CMS) | /api/fleet |
/api/vibcms |
||
| generation | 特性曲线 | /api/curves |
| fault | 故障与可用率 | /api/fleet |
| decision | 决策链 | /api/fleet |
/api/ont_chain |
||
| assistant | 问答 | /api/fleet |
/api/ask |
||
/api/ask_status |
||
/api/ask_models |
||
/api/facts |
||
/api/facts/claim |
||
| report | 报告 | /api/fleet |
/api/facts |
||
/api/rpt_compose |
||
| system | 系统自查 | /api/fleet |
/api/maint_survey |
注: /api/maint_std /api/maint_framework /api/dq_findings /api/ontology 属经典页 (/?…, 组件根), /v2 工作台不取它们 —— 但同一批本体产物 (ontology/objects.json) 仍然决定着它们能不能出数, 故一并列在 §2。
| 接口 | 产物 | 件 | 大小 | 台账来源 | 生成端(族) | 判定 |
|---|---|---|---|---|---|---|
| /api/fleet | windscada/temp_monthly.parquet ✅必需 |
1 | 0.1 MB | raw-derived | scripts/windscada_monthly_build.py (scada_monthly) | 在位 |
windscada/alarms.parquet ✅必需 |
1 | 0.9 MB | raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms) | 在位 | |
windscada/loss_monthly.parquet ✅必需 |
1 | 0.1 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 | |
windscada/powercurve_bins.parquet ✅必需 |
1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 | |
windscada/powercurve_dev.parquet ✅必需 |
1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 | |
| /api/fleet | windscada/*.parquet ○可选 |
55 | 577.9 MB | (未登记)·raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms·scada_derived·scada_oil·scada_slim10min) | 在位 |
ontology/turbine_params.parquet ○可选 |
1 | 0.1 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 | |
m5_cms_tcm/handoff_vibration_v2.json ○可选 |
1 | 0.1 MB | raw-derived | scripts/rudong_fusion_handoff.py (vib_fusion_handoff) | 在位 | |
m5_cms_tcm/fleet_scalar_z.parquet ○可选 |
1 | 0.7 MB | raw-derived | scripts/rudong_fusion_run.py (vib_fleet_scalar_z) | 在位 | |
pitch/pitch_daily.parquet ○可选 |
1 | 0.4 MB | raw-derived | scripts/pitch_face_build.py (pitch_face) | 在位 | |
pitch/pitch_zero_monthly.parquet ○可选 |
1 | 0.0 MB | raw-derived | scripts/pitch_face_build.py (pitch_face) | 在位 | |
| /api/curves | windscada/powercurve_bins.parquet ✅必需 |
1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 |
| /api/curves | windscada/curve_lenses.parquet ○可选 |
1 | 0.1 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 |
windscada/curve_liveness.parquet ○可选 |
1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 | |
windscada/control_profile.parquet ○可选 |
1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 | |
windscada/hydraulic_accum.parquet ○可选 |
1 | 0.0 MB | raw-derived | src/windscada/perf/powercurve.py (scada_derived) | 在位 | |
| /api/problem | windscada/alarms.parquet ✅必需 |
1 | 0.9 MB | raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms) | 在位 |
| /api/problem | ontology/objects.json ○可选 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
windscada/workorders.parquet ○可选 |
1 | 0.5 MB | raw-derived | scripts/windscada_workorder_ingest.py (scada_workorders) | 在位 | |
| /api/turbine | windscada/alarms.parquet ✅必需 |
1 | 0.9 MB | raw-derived | scripts/windscada_alarms_ingest.py (scada_alarms) | 在位 |
| /api/turbine | ontology/objects.json ○可选 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
windscada/workorders.parquet ○可选 |
1 | 0.5 MB | raw-derived | scripts/windscada_workorder_ingest.py (scada_workorders) | 在位 | |
| /api/vibcms | windcms/报告_CMS振动状态评估报告_*.md ✅必需 |
2 | 0.0 MB | raw-derived | src/windcms/report_std.py (windcms_report_std) | 在位 |
| /api/vibcms | m5_cms_tcm/handoff_vibration_v2.json ○可选 |
1 | 0.1 MB | raw-derived | scripts/rudong_fusion_handoff.py (vib_fusion_handoff) | 在位 |
windcms/cache/* ○可选 |
1 | 2.2 MB | raw-derived | src/windcms/data.py (windcms_cache) | 在位 | |
| /api/maint_survey | ontology/objects.json ✅必需 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
| /api/maint_std | ontology/objects.json ✅必需 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
| /api/maint_framework | ontology/objects.json ✅必需 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
| /api/dq_findings | ontology/objects.json ✅必需 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
| /api/ont_chain | ontology/objects.json ✅必需 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
| /api/ontology | ontology/objects.json ✅必需 |
1 | 4.5 MB | raw-derived | src/ontology/kb_ingest.py (ontology_core) | 在位 |
| /api/facts | guanlan/facts_contract_v0.json ✅必需 |
1 | 0.0 MB | raw-derived | scripts/guanlan_facts_contract.py (guanlan_contract) | 在位 |
guanlan/derived/detail_cards.json ✅必需 |
1 | 0.0 MB | raw-derived | scripts/guanlan_facts_contract.py (guanlan_contract) | 在位 | |
| /api/facts | guanlan/derived/qa_refs.json ○可选 |
1 | 0.0 MB | raw-derived | scripts/guanlan_facts_contract.py (guanlan_contract) | 在位 |
guanlan/derived/portal_claims.json ○可选 |
1 | 0.0 MB | raw-derived | scripts/guanlan_facts_contract.py (guanlan_contract) | 在位 |
无缺口: 表内每件产物都在位且来源已登记。
| 产物族 | 输入 (data/raw/<场站>/…) | 生成端 |
|---|---|---|
| scada_monthly | scada_10min | scripts/windscada_monthly_build.py |
| scada_alarms | 故障报警 | scripts/windscada_alarms_ingest.py |
| scada_derived | scada_10min | src/windscada/perf/powercurve.py |
| ontology_core | 西门子4.0技术资料 | src/ontology/kb_ingest.py |
| vib_fusion_handoff | m5_cms_tcm | scripts/rudong_fusion_handoff.py |
| vib_fleet_scalar_z | m5_cms_tcm | scripts/rudong_fusion_run.py |
| pitch_face | scada_10min | scripts/pitch_face_build.py |
| scada_workorders | 风机故障记录 | scripts/windscada_workorder_ingest.py |
| guanlan_contract | scada_10min | scripts/guanlan_facts_contract.py |
python scripts/detail_deps.py --probe # 实测在线接口 (页面同路径: 网关 → 组件 /v2)
python scripts/products_restore_missing.py --refresh # 重算后维护逐件来源台账
python scripts/rebuild_all.py # 全量重算 (链上含 ⑤a 台账维护 → ⑤ 反向呼应审计)