← Back to home@2927683690myn-rgb

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 手写,无需其他第三方包。