🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

B站视频总结 YZz-S/dsh-bili-summary

DeepSeek Harness
YZz-S79 天前有提交已提供中文文档扫描:含敏感能力

抓取字幕时间轴与配图,生成可跳转的结构化笔记

27.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add YZz-S/dsh-bili-summary
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 10 条)
  • 发起网络请求
    bili-summary.js:296
    const res = await fetch(url, { headers: baseHeaders(opts), signal: timeoutSignal(opts.timeoutMs) })
  • 发起网络请求
    bili-summary.js:329
    const res = await fetch(url, { headers: baseHeaders(opts), signal: timeoutSignal(opts.timeoutMs) })
  • 发起网络请求
    bili-summary.js:350
    const res = await fetch(current, {
  • 写入本地文件
    bili-summary.js:465
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    bili-summary.js:477
    await writeFile(path.join(dir, file), buffer)
  • 读取本地文件
    bili-summary.js:586
    const text = await readFile(file, 'utf8')
  • 写入本地文件
    bili-summary.js:704
    await mkdir(cacheDir, { recursive: true })
  • 写入本地文件
    bili-summary.js:705
    await writeFile(path.join(cacheDir, 'meta.json'), JSON.stringify(view, null, 2))
  • 写入本地文件
    bili-summary.js:735
    await mkdir(cacheDir, { recursive: true })
  • 写入本地文件
    bili-summary.js:736
    await writeFile(path.join(cacheDir, 'subtitle.json'), JSON.stringify(subtitle, null, 2))
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 抓取字幕时间轴
  • 同步高清帧截图
  • 生成可跳转结构化笔记

DeepSeek Harness 宿主插件:bili_summary 工具——Bilibili 视频元数据、字幕时间轴、高清帧同步截图,内置错误处理与降级,跨平台纯 Node 实现

README

由 DeepSeek 最新模型翻译生成
bili-summary English · 中文 DeepSeek Harness Host 插件:注册模型工具 bili_summary,一次调用取回 B 站视频的元数据、字幕时间轴与可选配图素材(sharp 切帧),供 Agent 生成带时间点跳转链接的结构化总结笔记。 DeepSeek Harness Host 插件:注册模型工具 bili_summary,一次调用取回 B 站视频的元数据、字幕时间轴与可选配图素材(sharp 切帧),供 Agent 生成带时间点跳转链接的结构化总结笔记。 中文 · ← 返回 DeepSeekHarnessPlugins 功能特性 - 一个工具搞定全流程:video 输入接受 BV 号、bilibili.com/video/ 链接和 b23.tv 短链(自动解析重定向) - 字幕优先:AI/人工字幕时间轴 → SRT 缓存;字幕过长时写入文件并仅内联摘录——模型用 read 分段读取其余部分 - 可选配图(仅在用户明确要求"配图"时):封面 + 每章节一张代表性帧,由 sharp 从播放器快照 API 提取,本地存储,以相对路径引用 - 错误处理即代码行为:B 站错误码映射(-404/-412/-352/62002…
展开完整文档(README 剩余 1 节)
bili-summary

English · 中文

DeepSeek Harness Host 插件:注册模型工具 bili_summary,一次调用取回 B 站视频的元数据、字幕时间轴与可选配图素材(sharp 切帧),供 Agent 生成带时间点跳转链接的结构化总结笔记。

DeepSeek Harness Host 插件:注册模型工具 bili_summary,一次调用取回 B 站视频的元数据、字幕时间轴与可选配图素材(sharp 切帧),供 Agent 生成带时间点跳转链接的结构化总结笔记。

中文 · ← 返回 DeepSeekHarnessPlugins

功能特性

- 一个工具搞定全流程:video 输入接受 BV 号、bilibili.com/video/ 链接和 b23.tv 短链(自动解析重定向)
- 字幕优先:AI/人工字幕时间轴 → SRT 缓存;字幕过长时写入文件并仅内联摘录——模型用 read 分段读取其余部分
- 可选配图(仅在用户明确要求"配图"时):封面 + 每章节一张代表性帧,由 sharp 从播放器快照 API 提取,本地存储,以相对路径引用
- 错误处理即代码行为:B 站错误码映射(-404/-412/-352/62002…)、超时、指数退避重试、风控自动重试;业务失败返回结构化 JSON 而非抛出异常
- 渐进式降级:字幕 → "无字幕"提示;切帧 → 仅封面 → 纯文本——每个降级原因都会返回给模型
- 跨平台:纯 Node(≥ 20.9),无 shell 调用,无编码陷阱;文件名净化处理 Windows 非法字符和保留名称
- 多分 P 视频:page 参数切换分 P,每个分 P 有独立 cid;超出范围时返回总分 P 数

安装(dsh.bundle)

本仓库同时是可安装的 dsh 插件包(package.json 声明 dsh.bundle,cordis.patch.yml 声明插入行):

dsh plugin --profile web add github:YZz-S/dsh-bili-summary

安装后,用 dsh --profile web 启动,bili_summary 工具会自动挂载;无头用户将 profile 切换为 headless。注意事项:

- dsh plugin 内部转发到 pnpm(需先安装 pnpm);首次运行时 profile 会自动初始化;
- 如果 pnpm 要求批准构建脚本,批准 sharp 即可启用切帧;也可以不安装它——插件会自动降级为"仅封面配图";
- 行级配置(outputDir / cookie 等)在 profile 自身的 cordis.patch.yml 中,行 id 为 bili-summary 下覆盖。

安装(agent 预设行)

1. 准备你自己的 DSH agent 预设(用户预设位于 ${DSH_HOME}/.agent-presets//,组合文件为 agent.cordis.yml)。
2. 将 bili-summary.js 放入预设目录,并在组合中添加一行:

- id: tool-bili-summary
name: ./bili-summary.js
config:
outputDir: bili-output
(examples/cordis.row.yml 中有一个完整示例;这一行只会在宿主 tools 注册表中注册该工具,并且不发布任何服务,因此不需要 isolate realm。)

3. sharp(可选):在插件目录树中运行 npm install。没有它也能工作——会自动降级为“仅封面图片”,并在结果中说明这一点。
4. 使用 standingKeyFor() 验证挂载,然后打开一个新会话,并确认 bili_summary 出现在工具列表中。

工具参数

| 参数 | 类型 | 描述 |
| video | string(必填) | Bilibili 链接(b23.tv 短链接、bilibili.com/video/ 链接)或 BV ID |
| withImages | boolean | 默认 false(纯文本);仅在用户明确要求“带图片”时传入 true |
| page | number | 多分P视频的分P编号(默认 1) |
| maxFrames | number | 图片模式下提取的最大帧数(1–48,默认 12) |
| refresh | boolean | 忽略磁盘缓存重新获取(默认 false) |

配置(内联 config)

| 字段 | 默认值 | 描述 |
| outputDir | bili-output | 输出根目录:images/_/、cache//(meta.json / subtitle.json / subtitle.srt) |
| cookie | 空 | SESSDATA=...; bili_jct=...。在触发风控(-412)或登录(-352)时使用;仅用于请求头,绝不写入日志或结果 |
| userAgent | 内置浏览器 UA | 覆盖默认 UA |
| timeoutMs | 15000 | 每次 HTTP 超时 |
| retries | 2 | 网络失败 / 5xx / 风控的重试次数(指数退避) |
| maxFrames | 12 | 图片模式下的最大帧数 |
| chapterIntervalSec | 180 | 章节粒度(存在字幕时吸附到最近的字幕起点) |
| inlineSubtitleLimit | 10000 | 返回的内联字幕最大字符数 |

已知限制

- 明确不支持番剧/影视(redirect_url)、直播和互动视频(返回结构化错误,而不是盲目尝试)
- 字幕走旧版 view/player/v2 端点,不进行 WBI 签名;如果 Bilibili 收紧这一点,字幕会降级为“无字幕”并附带说明
- videoshot 是 Bilibili 的非官方接口,可能会变化;部分视频没有快照数据
- 插件使用进程级 Node fs 写入 outputDir(绕过会话文件沙箱)——请将挂载它的预设视为可信
- 为什么不使用 cordis_define 动态插件形式:动态 Host 沙箱没有 fetch/require/sharp,并且此部署的 web 服务没有 fetch provider

测试

npm test # 或 node test/sanity.mjs

不需要网络或依赖。覆盖输入解析、sprite 帧提取数学回归(多 sprite Y 坐标 bug)、文件名清理、SRT 格式化、帧选择去重和章节吸附。

安全(依赖)
- sharp 版本要求:≥ 0.35.3(内置 libvips 8.18.3)。sharp DeepSeek Harness Host 插件:注册模型工具 bili_summary,一次调用取回 B 站视频的元数据、字幕时间轴与可选配图素材(sharp 切帧),供 Agent 生成带时间点跳转链接的结构化总结笔记。

特性

- 一个工具走完全流程:video 输入支持 BV 号、bilibili.com/video/ 链接与 b23.tv 短链(自动解析跳转)
- 字幕优先:AI 字幕/人工字幕时间轴 → SRT 缓存;字幕过长时写文件并只内联返回摘录,模型用 read 分段阅读
- 可选配图(仅当用户明确要求“带图”):封面 + 每章代表帧,sharp 从播放器快照接口切出,本地存储、相对路径引用
- 错误处理是代码行为:B 站错误码映射(-404/-412/-352/62002…)、超时、指数退避重试、风控自动重试,业务失败返回结构化 JSON 不抛异常
- 逐级降级:字幕 → 无字幕说明;切帧 → 仅封面 → 纯文字,每级失败原因都返回给模型
- 跨平台:纯 Node 实现(≥20.9),无 shell 调用、无编码坑;文件名清洗兼容 Windows 非法字符与保留名
- 多P视频:page 参数切换分P,每 P 独立 cid;越界给出总 P 数

安装(dsh.bundle)

本仓库同时是可安装的 dsh 插件包(package.json 声明 dsh.bundle,cordis.patch.yml 声明插入行):

dsh plugin --profile web add github:YZz-S/dsh-bili-summary

安装后以 dsh --profile web 启动即自动挂载 bili_summary 工具;headless 用户把 profile 换成 headless。注意:

- dsh plugin 内部转发给 pnpm(需先装 pnpm),首次会自动初始化 profile;
- 若 pnpm 提示批准构建脚本,批准 sharp 可获得切帧能力;不批准也能安装,插件自动降级为“仅封面配图”;
- 行级配置(outputDir / cookie 等)在 profile 自己的 cordis.patch.yml 中按行 id bili-summary 覆盖。

安装(agent preset 行)

1. 准备一个自己的 DSH agent preset(用户 preset 位于 ${DSH_HOME}/.agent-presets//,组合文件 agent.cordis.yml)。
2. 把 bili-summary.js 放进 preset 目录,在组合里加一行:

- id: tool-bili-summary
name: ./bili-summary.js
config:
outputDir: bili-output

(完整示例见 examples/cordis.row.yml;该行只向宿主 tools 注册表注册工具、不发布服务,不需要 isolate realm。)

3. sharp(可选):在插件目录树内执行 npm install。不装也能用——自动降级为“仅封面配图”并在结果里说明。
4. 用 standingKeyFor() 挂载校验,然后开新会话确认工具列表出现 bili_summary。

工具参数

| 参数 | 类型 | 说明 |
| video | string(必填) | B 站链接(b23.tv 短链、bilibili.com/video/ 链接)或 BV 号 |
| withImages | boolean | 默认 false(纯文字);仅当用户明确要求“带图”时传 true |
| page | number | 多P视频分P序号(默认 1) |
| maxFrames | number | 带图模式最多切帧数(1–48,默认 12) |
| refresh | boolean | 忽略磁盘缓存重新抓取(默认 false) |

配置(行内 config)

| 字段 | 默认 | 说明 |
| outputDir | bili-output | 输出根目录:images/_/、cache//(meta.json / subtitle.json / subtitle.srt) |
| cookie | 空 | SESSDATA=...; bili_jct=...。风控(-412)/需登录(-352)时启用;仅用于请求头,绝不写入日志或结果 |
| userAgent | 内置浏览器 UA | 覆盖默认 UA |
| timeoutMs | 15000 | 单次 HTTP 超时 |
| retries | 2 | 网络失败 / 5xx / 风控重试次数(指数退避) |
| maxFrames | 12 | 带图模式最多切帧数 |
| chapterIntervalSec | 180 | 章节划分粒度(有字幕时吸附到最近字幕起点) |
| inlineSubtitleLimit | 10000 | 字幕内联返回字符上限 |

已知限制

- 番剧/影视(redirect_url)、直播、互动视频明确不支持(结构化报错而非瞎试)
- 字幕走 view/player/v2 遗留接口,未实现 WBI 签名;B 站收紧时字幕会降级为“无字幕”并说明
- videoshot 为 B 站非官方接口,可能变动;部分视频无快照数据
- 插件以进程级 Node fs 写 outputDir(不经过会话文件沙箱)——挂载它的 preset 视为可信
- 为什么不做 cordis_define 动态插件形态:动态 Host 沙箱无 fetch/require/sharp,且本部署 web 服务无 fetch provider

测试

npm test # 或 node test/sanity.mjs

无需网络与依赖。覆盖输入解析、精灵图切帧数学回归(多精灵图 Y 坐标 bug)、文件名清洗、SRT 格式、帧选择去重、章节吸附。

安全(依赖)

- sharp 版本要求:≥ 0.35.3(内置 libvips 8.18.3)。< 0.35.0 的 sharp 自带 libvips 存在 CVE-2026-33327 / CVE-2026-33328 / CVE-2026-35590 / CVE-2026-35591(处理恶意构造的图片可触发,其中两项 CVSSv4 为高危);本插件只解码 B 站 CDN 的封面与快照图,实际暴露面有限,但升级无副作用,务必保持最新。
- Node 要求:sharp 0.35 起要求 Node ≥ 20.9.0,本包 engines 已同步。
- 可选加固(standalone 使用场景):如需进一步缩小解码面,可在插件初始化处限制解码器:

sharp.block({ operation: ['VipsForeignLoadNsgif', 'VipsForeignLoadTiff', 'VipsForeignLoadVips'] })

注意 sharp.block 是进程级全局生效:若与处理 GIF/TIFF 的其他程序共享进程(例如 DSH harness 内的其他插件),请勿启用,以免影响它们。

合规与免责声明

依赖 B 站非官方接口,仅供个人学习与笔记用途;请遵守 B 站用户协议、控制请求频率、勿用于商业抓取;截图与字幕仅限个人使用;总结应为概括性内容而非大段复制原文。

GitHub About

Description:DeepSeek Harness Host 插件:bili_summary 工具——B站视频元数据、字幕时间轴与 sharp 切帧配图,错误处理与降级内置,跨平台纯 Node 实现

Topics:bilibili bilibili-api deepseek-harness cordis ai-agents llm-tools video-summary subtitle sharp markdown nodejs

License

MIT(见 LICENSE)。

English · 中文
预览分享卡片长什么样 ↓YZz-S/dsh-bili-summary
分享 · DeepSeek Harness Hub
YZz-S/dsh-bili-summary

抓取字幕时间轴与配图,生成可跳转的结构化笔记

这是你的仓库?认领条目

回到顶部