feat: professionalize control plane and standalone delivery

This commit is contained in:
theshy
2026-04-07 10:46:30 +08:00
parent d0cf1fd0df
commit 862db502b0
100 changed files with 8313 additions and 1483 deletions

View File

@ -46,35 +46,35 @@
"paths": {
"stage_dir": {
"type": "string",
"default": "../stage",
"default": "data/workspace/stage",
"title": "Stage Directory",
"ui_order": 10,
"ui_widget": "path"
},
"backup_dir": {
"type": "string",
"default": "../backup",
"default": "data/workspace/backup",
"title": "Backup Directory",
"ui_order": 20,
"ui_widget": "path"
},
"session_dir": {
"type": "string",
"default": "../session",
"default": "data/workspace/session",
"title": "Session Directory",
"ui_order": 30,
"ui_widget": "path"
},
"cookies_file": {
"type": "string",
"default": "../cookies.json",
"default": "runtime/cookies.json",
"title": "Cookies File",
"ui_order": 40,
"ui_widget": "path"
},
"upload_config_file": {
"type": "string",
"default": "../upload_config.json",
"default": "runtime/upload_config.json",
"title": "Upload Config File",
"ui_order": 50,
"ui_widget": "path"
@ -170,6 +170,30 @@
"ui_widget": "duration_seconds",
"description": "扫描 stage 时,文件最后修改后至少静默这么久才会开始处理。用于避免手动 copy 半截文件被提前接走。",
"minimum": 0
},
"session_gap_minutes": {
"type": "integer",
"default": 60,
"title": "Session Gap Minutes",
"ui_order": 70,
"ui_featured": true,
"ui_widget": "duration_minutes",
"description": "当没有显式 session_key 时,同一主播前后片段的最大归并间隔。系统会用上一段结束时间和下一段开始时间做连续性判断。",
"minimum": 0
},
"meta_sidecar_enabled": {
"type": "boolean",
"default": true,
"title": "Meta Sidecar Enabled",
"ui_order": 80,
"description": "是否读取 stage 中与视频同名的 sidecar 元数据文件,例如 .meta.json。"
},
"meta_sidecar_suffix": {
"type": "string",
"default": ".meta.json",
"title": "Meta Sidecar Suffix",
"ui_order": 90,
"description": "stage sidecar 元数据文件后缀。默认会读取 video.mp4 对应的 video.meta.json。"
}
},
"transcribe": {
@ -270,14 +294,14 @@
},
"biliup_path": {
"type": "string",
"default": "../biliup",
"default": "runtime/biliup",
"title": "Biliup Path",
"ui_order": 20,
"ui_widget": "path"
},
"cookie_file": {
"type": "string",
"default": "../cookies.json",
"default": "runtime/cookies.json",
"title": "Cookie File",
"ui_order": 40,
"ui_widget": "path"