feat: add session-level publish and comment flow

This commit is contained in:
theshy
2026-04-14 16:00:17 +08:00
parent 862db502b0
commit d5d9693581
42 changed files with 2478 additions and 181 deletions

View File

@ -31,6 +31,8 @@
"provider": "local_file",
"min_duration_seconds": 900,
"ffprobe_bin": "ffprobe",
"yt_dlp_cmd": "yt-dlp",
"yt_dlp_format": "",
"allowed_extensions": [
".mp4",
".flv",
@ -50,8 +52,9 @@
"max_file_size_mb": 23
},
"song_detect": {
"provider": "codex",
"provider": "qwen_cli",
"codex_cmd": "codex",
"qwen_cmd": "qwen",
"poll_interval_seconds": 2
},
"split": {
@ -72,7 +75,13 @@
5,
5
],
"retry_backoff_seconds": 300
"retry_backoff_seconds": 300,
"command_timeout_seconds": 1800,
"rate_limit_retry_schedule_minutes": [
30,
60,
120
]
},
"comment": {
"provider": "bilibili_top_comment",

View File

@ -145,6 +145,21 @@
"ui_order": 20,
"ui_widget": "command"
},
"yt_dlp_cmd": {
"type": "string",
"default": "yt-dlp",
"title": "yt-dlp Command",
"ui_order": 25,
"ui_widget": "command",
"description": "当 ingest.provider 选择 bilibili_url 时,用于下载 B 站视频的 yt-dlp 命令或绝对路径。"
},
"yt_dlp_format": {
"type": "string",
"default": "",
"title": "yt-dlp Format",
"ui_order": 26,
"description": "可选的 yt-dlp -f 参数。留空表示使用默认画质;测试时可设为 worst[ext=mp4]/worst。"
},
"allowed_extensions": {
"type": "array",
"default": [".mp4", ".flv", ".mkv", ".mov"],
@ -245,6 +260,15 @@
"ui_widget": "command",
"description": "歌曲识别时实际执行的 codex 命令或绝对路径。"
},
"qwen_cmd": {
"type": "string",
"default": "qwen",
"title": "Qwen Command",
"ui_order": 15,
"ui_featured": true,
"ui_widget": "command",
"description": "歌曲识别 provider 选择 qwen_cli 时,实际执行的 qwen 命令或绝对路径。"
},
"poll_interval_seconds": {
"type": "integer",
"default": 2,
@ -337,6 +361,32 @@
"ui_widget": "duration_seconds",
"description": "旧版统一回退秒数。仅在未配置重试时间表时作为兼容兜底。",
"minimum": 0
},
"command_timeout_seconds": {
"type": "integer",
"default": 1800,
"title": "Command Timeout Seconds",
"ui_order": 60,
"ui_featured": true,
"ui_widget": "duration_seconds",
"description": "单次 biliup renew/upload/append 命令的超时时间。超时会写入 publish.log 并返回失败。",
"minimum": 1
},
"rate_limit_retry_schedule_minutes": {
"type": "array",
"default": [
30,
60,
120
],
"title": "Rate Limit Retry Schedule Minutes",
"ui_order": 70,
"ui_featured": true,
"description": "上传命中 B站 601 限流时,按分钟定义专用重试等待时间。",
"items": {
"type": "integer",
"minimum": 0
}
}
},
"comment": {

View File

@ -15,6 +15,8 @@
"provider": "local_file",
"min_duration_seconds": 900,
"ffprobe_bin": "ffprobe",
"yt_dlp_cmd": "yt-dlp",
"yt_dlp_format": "",
"allowed_extensions": [".mp4", ".flv", ".mkv", ".mov"],
"stage_min_free_space_mb": 2048,
"stability_wait_seconds": 30,
@ -31,6 +33,7 @@
"song_detect": {
"provider": "codex",
"codex_cmd": "codex",
"qwen_cmd": "qwen",
"poll_interval_seconds": 2
},
"split": {
@ -43,7 +46,9 @@
"biliup_path": "runtime/biliup",
"cookie_file": "runtime/cookies.json",
"retry_count": 5,
"retry_backoff_seconds": 300
"retry_backoff_seconds": 300,
"command_timeout_seconds": 1800,
"rate_limit_retry_schedule_minutes": [30, 60, 120]
},
"comment": {
"provider": "bilibili_top_comment",