2.1 KiB
2.1 KiB
Domain Model
Task
一个任务代表一条完整的视频处理链路。
{
"id": "task_01",
"source_type": "local_file",
"source_path": "stage/example.mp4",
"title": "王海颖唱歌录播 03月29日 22时02分",
"status": "published",
"created_at": "2026-03-30T07:50:42+08:00",
"updated_at": "2026-03-30T07:56:13+08:00"
}
Fields
id: 内部唯一 IDsource_type: 输入来源,例如local_filesource_path: 原始文件路径title: 任务显示名称status: 当前状态created_atupdated_at
TaskStep
一个任务中的单个处理步骤。
Step Names
ingesttranscribesong_detectsplitpublishcommentcollection_acollection_b
Step Status
pendingrunningsucceededfailed_retryablefailed_manualskipped
Artifact
任务产物。
Artifact Types
source_videosubtitle_srtsongs_jsonsongs_txtclip_videopublish_bvidcomment_recordcollection_record
PublishRecord
记录上传结果。
{
"task_id": "task_01",
"platform": "bilibili",
"aid": 123456,
"bvid": "BV1xxxx",
"title": "【王海颖 (歌曲纯享版)】_03月29日 22时02分 共18首歌",
"published_at": "2026-03-30T07:56:13+08:00"
}
CollectionBinding
记录视频与合集之间的绑定关系。
Fields
task_idtargetseason_idsection_idbvidstatuslast_error
Target Values
full_video_collectionsong_collection
Settings
统一配置项,按逻辑分组。
Example Groups
runtimepathstranscribesong_detectpublishcommentcollection
Domain Events
Core Events
TaskCreatedTaskStepStartedTaskStepSucceededTaskStepFailedArtifactCreatedPublishCompletedCommentCompletedCollectionSynced
State Machine Rules
- 同一时刻,一个步骤只能有一个
running - 失败必须记录
error_code和error_message published之前不能进入评论和合集步骤songs_detected之前不能进入切歌步骤transcribed之前不能进入识歌步骤