55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
# Vision
|
|
|
|
## Goal
|
|
|
|
将当前基于目录监听和脚本拼接的流水线,重构为一个模块化、可扩展、可观测、可运维的单体系统。
|
|
|
|
系统负责:
|
|
|
|
- 接收本地视频任务
|
|
- 执行转录、识歌、切歌、上传、评论、合集归档
|
|
- 记录任务状态、产物、错误和外部结果
|
|
- 提供统一配置和管理入口
|
|
|
|
系统不负责:
|
|
|
|
- 直播录制
|
|
- 完整版视频的外部发布流程
|
|
- 多账号复杂运营后台
|
|
- 分布式调度
|
|
|
|
## Users
|
|
|
|
- 运维者:部署、启动、排查、重试任务
|
|
- 内容生产者:投放视频、观察任务状态
|
|
- 开发者:新增模块、替换外部依赖、扩展功能
|
|
|
|
## Problems In Current Project
|
|
|
|
- 状态分散在目录名、flag 文件、日志中,缺少单一事实来源
|
|
- 业务逻辑和运维逻辑耦合严重
|
|
- 配置项散落在多个脚本和常量中
|
|
- 同类逻辑重复实现,例如 B 站列表解析、合集处理、任务扫描
|
|
- 可观测性不足,失败后需要人工翻日志定位
|
|
- 扩展新能力时只能继续加脚本,结构会越来越乱
|
|
|
|
## Target Characteristics
|
|
|
|
- 模块化单体,而不是脚本集合
|
|
- 显式任务状态机
|
|
- 统一配置系统
|
|
- 外部依赖适配器化
|
|
- 结构化任务存储
|
|
- 插件式扩展点
|
|
- Web 管理台
|
|
- 文档优先
|
|
|
|
## Milestones
|
|
|
|
1. 定义架构、领域模型、模块接口和 API。
|
|
2. 建立新系统骨架,不影响旧系统运行。
|
|
3. 落地统一配置、任务状态存储和最小管理 API。
|
|
4. 按模块迁移旧能力:转录、识歌、切歌、上传、评论、合集。
|
|
5. 接入 Web 管理台。
|
|
6. 逐步切换生产流量,最终替换旧脚本体系。
|