dsh-bili-flow
DeepSeek Harness 插件:B站字幕一条命令管线,缓存+自动切组(分P/章节/锚点)+ 写字幕原文与口播稿 + 转 PDF/DOCX
- Stars
- 0
- Language
- Python
- Created
- Oct 26, 2026
- Updated
- Oct 26, 2026
Introduction
dsh-bili-flow 2.0
B站字幕管线 v2:一次调用完成「短链解析 → 取 AI 字幕(缓存)→ 切第X组 → 写原文/口播稿」, 再把整理版转成 PDF/DOCX 并给出下载链接。逐字稿不进入对话上下文。
与 dsh-bili-subtitle 并存,互不取代:那个把字幕读回对话,这个把字幕留在磁盘上。
两个工具
| 工具 | 作用 | 返回 |
|---|---|---|
bili_flow(url, group?, name?, force?) | 提取并切片 | 一行 JSON:bvid/title/range/lines/chars/cached/groups/md/oral/urls |
bili_flow_export(md) | md → PDF + DOCX + 下载链接 | pdf/docx/served/urls |
产出
<name>_第X组_字幕原文.md——带[分:秒],相邻字幕间隔 >1.0s 分段<name>_第X组_口播稿.md——无时间码,按停顿分段,写整理版时读这一份<name>_第X组_整理版.pdf/.docx——由bili_flow_export生成
组边界
优先用官方章节(view_points 里带「第X组」的章节);没有章节时回退到字幕锚点:
30 秒之后第一次出现「第X组」的位置就是该组起点,下一组起点是终点。
缓存
~/.dsh/bili-flow-cache/<bvid>.json,24 小时有效;force: true 强制重下。
同一视频换组请求不联网(实测 0.5 秒)。
登录
复用已有的 B站 cookie,按顺序查找:
BILI_COOKIES 环境变量 → ~/.dsh/bili-cookies.json → 插件目录 cookies.json。
没有 cookie 就调用 dsh-bili-subtitle 的 bili_login_qr / bili_login_poll 扫一次码。
安装(已由 DSH 配置完成,供参考)
cd ~/.dsh/profiles/web
ln -sfn ../plugins/dsh-bili-flow node_modules/dsh-bili-flow
# package.json: "dsh-bili-flow": "file:./plugins/dsh-bili-flow"
# cordis.patch.yml:
# - insert:
# - id: bili-flow
# name: dsh-bili-flow
服务端插件,加载后重启 DSH 生效。
依赖
libs/ 内置 reportlab 与 PIL 桩(PDF 用),DOCX 由纯 OOXML 手写,无需其他第三方包。