| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583 |
- {
- "version": "v1",
- "frozen_at": "2026-09-29",
- "source": "实测探活(重构前行为)",
- "bases": {
- "gateway": "http://127.0.0.1:28084",
- "detail": "http://127.0.0.1:18033",
- "algorithm": "http://127.0.0.1:18050"
- },
- "note": "前端 Vue / 后端 Java / 算法 FastAPI 三条线都以本契约为对拍基准;值随数据变不比,比方法/状态/顶层键。 端点若带 `json_keys_any`,表示\"响应形状有两种合法态\"(如异步构建态),复核时任一键集全中即通过。",
- "endpoints": [
- {
- "kind": "detail_api",
- "path": "/api/ask",
- "method": "POST",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "err"
- ],
- "bytes_at_least": 23
- },
- {
- "kind": "detail_api",
- "path": "/api/ask_models",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "models"
- ],
- "bytes_at_least": 137
- },
- {
- "kind": "detail_api",
- "path": "/api/ask_status",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "answer",
- "elapsed",
- "err",
- "lang",
- "model",
- "q",
- "review",
- "state",
- "step",
- "steps",
- "t0",
- "verify",
- "xrev"
- ],
- "bytes_at_least": 173
- },
- {
- "kind": "detail_api",
- "path": "/api/channels",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "A.功率",
- "A.状态",
- "A.转速",
- "A.风况",
- "B.偏航",
- "B.冷却执行器",
- "B.变桨",
- "B.润滑液压",
- "B.温度NBM",
- "B.结构"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/curves",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "bytes_at_least": 512,
- "json_keys_any": [
- [
- "figs",
- "note",
- "physics"
- ],
- [
- "building",
- "months",
- "note",
- "span",
- "win"
- ]
- ],
- "note": "产物仓已在位 → figs/physics;正在后台构建 → building/months/span/win(都算正常)"
- },
- {
- "kind": "detail_api",
- "path": "/api/dq_findings",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "n",
- "note",
- "rows"
- ],
- "bytes_at_least": 420
- },
- {
- "kind": "detail_api",
- "path": "/api/facts",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "cards",
- "contract_sha256",
- "contract_version",
- "generated"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/fleet",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "all_months",
- "control",
- "faults",
- "fus",
- "kpi",
- "m8",
- "m9",
- "m9_pending",
- "months",
- "note",
- "rel",
- "sysdist",
- "sysmx_pending",
- "sysmx_span",
- "systems",
- "watch",
- "win",
- "win_pending"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/maint_framework",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "coverage",
- "gaps",
- "records",
- "stages",
- "systems",
- "tiers"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/maint_std",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "batch",
- "closure",
- "discontinuity",
- "recurrence",
- "score"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/maint_survey",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "rows"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/ont_chain",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "error",
- "text"
- ],
- "bytes_at_least": 106
- },
- {
- "kind": "detail_api",
- "path": "/api/ont_list",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "rows"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/ont_obj",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "err",
- "links",
- "obj"
- ],
- "bytes_at_least": 39
- },
- {
- "kind": "detail_api",
- "path": "/api/reload",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "files",
- "ok",
- "old_stamp",
- "stamp"
- ],
- "bytes_at_least": 87
- },
- {
- "kind": "detail_api",
- "path": "/api/rpt_export",
- "method": "GET",
- "status": 200,
- "ctype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
- "bytes_at_least": 512
- },
- {
- "kind": "detail_api",
- "path": "/api/vibcms",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "action",
- "date",
- "diff",
- "grades",
- "overall",
- "时间范围",
- "窗"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "detail_page",
- "path": "/v2",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "观澜 · 风电数据分析与决策支持",
- "bytes_at_least": 512,
- "retired": true,
- "retired_reason": "前端全量 Vue + Python 业务后端(detail 服务)按用户令退役;旧页路由不再提供,替代入口 /web/(Vue 工作台)。登记于 2026-10-01。",
- "replaced_by": "/web/"
- },
- {
- "kind": "cms",
- "path": "/cms/api/models",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "models",
- "picked"
- ],
- "bytes_at_least": 96
- },
- {
- "kind": "cms",
- "path": "/cms/api/plugins",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "bytes_at_least": 512
- },
- {
- "kind": "cms",
- "path": "/cms/api/run",
- "method": "POST",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "kind",
- "text"
- ],
- "bytes_at_least": 290
- },
- {
- "kind": "cms",
- "path": "/cms/api/views",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "bytes_at_least": 2
- },
- {
- "kind": "gateway",
- "path": "/",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "观澜中文系统 · 详细分析",
- "bytes_at_least": 512
- },
- {
- "kind": "gateway",
- "path": "/algorithm",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "endpoints",
- "ok",
- "service",
- "time",
- "version"
- ],
- "bytes_at_least": 104
- },
- {
- "kind": "gateway",
- "path": "/cms",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "如东海上风电场 振动诊断 · 客户版",
- "bytes_at_least": 512
- },
- {
- "kind": "gateway",
- "path": "/detail",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "观澜 · 风电数据分析与决策支持",
- "bytes_at_least": 512,
- "retired": true,
- "retired_reason": "前端全量 Vue + Python 业务后端(detail 服务)按用户令退役;旧页路由不再提供,替代入口 /web/(Vue 工作台)。登记于 2026-10-01。",
- "replaced_by": "/web/"
- },
- {
- "kind": "gateway",
- "path": "/sim",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "4MW 机组 整机联调仿真台 · 演示",
- "bytes_at_least": 512
- },
- {
- "kind": "gateway",
- "path": "/sim/sys",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "观澜 offshore-4-0-platform · 四系统联调",
- "bytes_at_least": 512
- },
- {
- "kind": "gateway",
- "path": "/viewer",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "如东风机 · 三维拆解",
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/availability_summary",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "台级损失top",
- "损失MWh",
- "时长h",
- "时间可用率_不含调度令",
- "物理上限核",
- "零本底"
- ],
- "bytes_at_least": 475
- },
- {
- "kind": "algorithm",
- "path": "/api/curves_check",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "Betz",
- "λ叶尖速比",
- "齿比恒等"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/endpoints",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "count",
- "items"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/fusion",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/handoff",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "calibration_updates_v1",
- "detectability_prior",
- "field_actions_v1",
- "meta",
- "open_items",
- "per_turbine"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/matrix",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "WTG01",
- "WTG02",
- "WTG03",
- "WTG04",
- "WTG05",
- "WTG06",
- "WTG07",
- "WTG08",
- "WTG09",
- "WTG10",
- "WTG11",
- "WTG12",
- "WTG13",
- "WTG14",
- "WTG15",
- "WTG16",
- "WTG17",
- "WTG18",
- "WTG19",
- "WTG20"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/pitch",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/problems",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "主控与传感网",
- "偏航",
- "发电机",
- "变桨",
- "变流器",
- "齿轮箱"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/reconcile",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "主控与传感网",
- "主轴承",
- "发电机",
- "变流器",
- "齿轮箱"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/reliability",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "口径",
- "外部类停机h",
- "总停机h",
- "窗",
- "表",
- "设备类停机h"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/api/systems",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "SYSTEMS",
- "TEMP2SYS"
- ],
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/docs",
- "method": "GET",
- "status": 200,
- "ctype": "text/html",
- "html_title": "观澜 · 算法服务 - Swagger UI",
- "bytes_at_least": 512
- },
- {
- "kind": "algorithm",
- "path": "/healthz",
- "method": "GET",
- "status": 200,
- "ctype": "application/json",
- "json_keys": [
- "endpoints",
- "ok",
- "service",
- "time",
- "version"
- ],
- "bytes_at_least": 104
- }
- ]
- }
|