first commit

This commit is contained in:
Jefferyhcool
2025-04-13 17:44:54 +08:00
commit 0e0b8da317
112 changed files with 4397 additions and 0 deletions
View File
+15
View File
@@ -0,0 +1,15 @@
from dataclasses import dataclass
from typing import Optional
@dataclass
class AudioDownloadResult:
file_path: str # 本地音频路径
title: str # 视频标题
duration: float # 视频时长(秒)
cover_url: Optional[str] # 视频封面图
platform: str # 平台,如 "bilibili"
video_id: str # 唯一视频ID
raw_info: dict # yt-dlp 的原始 info 字典
video_path: Optional[str] = None # ✅ 新增字段:可选视频文件路径
+14
View File
@@ -0,0 +1,14 @@
from dataclasses import dataclass
from typing import List, Union, Optional
from app.models.transcriber_model import TranscriptSegment
@dataclass
class GPTSource:
segment: Union[List[TranscriptSegment], List]
title: str
tags:str
screenshot: Optional[bool] = False
link: Optional[bool] = False
+12
View File
@@ -0,0 +1,12 @@
from dataclasses import dataclass
from typing import Optional
from app.models.audio_model import AudioDownloadResult
from app.models.transcriber_model import TranscriptResult
@dataclass
class NoteResult:
markdown: str # GPT 总结的 Markdown 内容
transcript: TranscriptResult # Whisper 转写结果
audio_meta: AudioDownloadResult # 音频下载的元信息(title、duration、封面等)
+16
View File
@@ -0,0 +1,16 @@
from dataclasses import dataclass
from typing import List, Optional
@dataclass
class TranscriptSegment:
start: float # 开始时间(秒)
end: float # 结束时间(秒)
text: str # 该段文字
@dataclass
class TranscriptResult:
language: Optional[str] # 检测语言(如 "zh"、"en"
full_text: str # 完整合并后的文本(用于摘要)
segments: List[TranscriptSegment] # 分段结构,适合前端显示时间轴字幕等
raw: Optional[dict] = None # 原始响应数据,便于调试或平台特性处理
View File