videototext
Installation
SKILL.md
videototext(B 站字幕 + 总结)
合规与前提
- 仅使用用户本人账号导出的 Cookie;不协助绕过付费墙、地域限制或批量爬取。
- 尊重站点频率限制:项目内已对 B 站 HTTP 做节流 + 重试退避,修改时不要去掉
_throttle/_request_with_retry逻辑。 - 详细环境变量与默认值见同目录 reference.md。
- 技能包内已附带与主流程一致的源码镜像:见 code/(导入方式见 code/README.md)。环境变量名与示例见 主仓库 根目录
.env.example,自行复制为技能包根目录的.env后填写。
端到端流程(与代码一致)
- URL:
app/utils/url_tools.py(包内 code/app/utils/url_tools.py)— 展开b23.tv、解析BV与分 P?p=。 - 编排(完整仓库):
app/services/orchestrator.py— 先官方字幕;失败且开启 ASR 时再本机转写;正文就绪后调用总结服务。技能包未含 orchestrator/ASR,仅含抽取与总结核心模块。 - B 站元数据与字幕:
app/extractors/bilibili.py+app/services/bilibili_subtitle.py(包内code/app/...)。 - 无字幕兜底(仅完整仓库):
app/utils/audio_fetch.py+app/asr/local_faster_whisper.py(需LOCAL_ASR_ENABLED等)。 - 总结:
app/services/summary.py— 优先 LLM(OpenAI 兼容 Chat Completions),失败则本地抽样回退。