DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Bilibili Video Summary — DSH Plugin for DeepSeek Harness
← Plugins
B

dsh-bilibili-video-summary

Bilibili Video Summary

DSH plugin: When you send a Bilibili (or any yt-dlp-supported site) video link, it automatically prepares material for summarization (transcript + keyframe contact sheet) and produces a summary according to the methodology.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:Aurum807/dsh-bilibili-video-summary#215e20d7704caf833e018c4c6f8fd7462fa1cf35
READMECompatibilityVersions

Compatibility and provenance

Bilibili Video Summary is published as dsh-bilibili-video-summary and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/16/2026

Versions

0.1.0stable
10/16/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/16/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in search-research.

Ab Wechat Scrapedsh-ab-wechat-scrape--- description: "The out-of-tree wechat_scrape tool: retrieves WeChat official-account articles, filters promotional blocks, and saves each as a Markdown file, for maintainers of this machine's dsh profiles." kind: "package-reference" ---Ab Market Researchdsh-ab-market-researchAn out-of-tree DeepSeek Harness plugin: the trade_search tool (multi-round aspect-broadening query planning, publisher-tier ranking, source diversity, JSON snapshot) and its browser card in one package.Weknora@wxg-prc-cpg/dsh-weknoraWeKnora knowledge retrieval tools for DeepSeek Harness (dsh): semantic search, document reading and RAG/agent answers over your own knowledge bases.Free Searchdsh-free-searchFree web search for DeepSeek Harness: 24 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel keyless; Zhihu global/site via MCP and Perplexity/SerpBase/DeepSeek/You.com/Baidu/Kimi/Aliyun/Doubao with key; OpenAI/Gemini/Claude

README

dsh-bilibili-video-summary

给 DeepSeek Harness(DSH)用的插件: 在对话里只发一条 B 站视频链接、不提任何要求时,自动开始总结这个视频。

不是把链接丢给模型让它猜,而是先把视频变成可总结的素材——逐段时间轴转写稿 + 关键帧拼图—— 再按一套固定的方法论产出总结。画面和文字互相校正,避免语音识别把人名、型号、数字说错。

装上之后是什么体验

你:https://www.bilibili.com/video/BV1xx411c7mD/

助手:(自动取素材、读拼图通读画面、回读关键帧核对参数)→ 直接给出一份结论先行的中文总结。

用户明确说了要干什么时(例如「总结这个」「讲了什么」「帮我翻译」),按用户的说法来, 插件不会抢着注入自己的流程。

它解决的问题

直接把视频链接给大模型,通常只能得到三种结果:复述标题、复述简介、或者编。原因是模型拿不到视频内容。 这个插件补上两样东西:

  1. 转写稿——优先用 UP 主自己上传的字幕;没有的话用语音识别,带时间轴,可回查原话。
  2. 画面——按固定间隔抽关键帧,再拼成 16 格「接触印相纸」。一份 20 分钟的视频, 逐张读图要 190 次以上,读拼图只要 12 次左右,全片结构一眼看完,具体参数再回读单帧核对。

安装

需要先有 DSH。本插件按 DSH bundle 规范打包,装完即用:

# 从 npm 安装(发布后)
dsh plugin --profile web add dsh-bilibili-video-summary

# 本地开发:直接指向本目录
dsh plugin --profile web add link:/绝对路径/dsh-bilibili-video-summary

装好后重启 DSH,插件会同时注册一个工具(video_material)和一个 skill(bilibili-video-summary)。

外部依赖

视频下载和转码依赖两个命令行工具,插件会自己找,找不到时会给出安装提示:

依赖用途缺失影响
yt-dlp下载视频/音频、抓站方字幕完全不可用
ffmpeg(含 ffprobe)抽帧、分离音轨只能拿转写稿,没有画面

语音识别(ASR)不内置,因为它的体积和平台差异都太大。两种选择:

  • 不配置:插件会先尝试站方字幕。B 站很多 UP 主会上传字幕,够用;没有字幕时就只有画面素材, 总结会缺少逐字内容。此时插件仍可用,只是能力受限。

  • 配置一个:设置环境变量 VIDEOSUM_ASR_CMD 指向任何「音频 → 带时间戳文本」的命令, {audio} 会被替换成音频文件路径、{out} 替换成输出 txt 路径。例如:

    # faster-whisper(需要 pip install faster-whisper)
    VIDEOSUM_ASR_CMD=python -m faster_whisper_cli {audio} --out {out} --language zh
    

在 Windows 上,DSH 里跑的命令可能拿不到你交互式 shell 的 PATH。若插件报找不到工具, 用环境变量显式指定即可:

VIDEOSUM_YTDLP=D:\path\to\yt-dlp.exe
VIDEOSUM_FFMPEG=D:\path\to\ffmpeg.exe
VIDEOSUM_FFPROBE=D:\path\to\ffprobe.exe

只有 yt_dlp 模块、没有 yt-dlp 可执行文件

如果 yt-dlp 是作为一个 Python 包放在某个目录里(而不是装在解释器的 site-packages), 把它所在目录加进来,插件就会用 python -m yt_dlp 调用:

VIDEOSUM_PYLIBS=D:\path\to\dir-containing-yt_dlp

这一点特别值得留意:文件存在不等于能用。yt_dlp 目录躺在那里但不在 PYTHONPATH 里时,import yt_dlp 会报 No module named yt_dlp。所以插件对每个候选 都真的跑一次 --version 验证,doctor 报出来的版本号就是实测结果。

用法

大多数时候不用管——贴链接就行。也可以显式用它:

  • 模型侧工具:video_material({ action: "probe", url }) 先看是不是目标视频; video_material({ action: "material", url, every: 3 }) 准备全部素材。

  • 命令行(不经过模型,手动跑素材流水线):

    node lib/video-material.mjs doctor              # 检查 yt-dlp / ffmpeg / ASR 是否就绪
    node lib/video-material.mjs probe    --url <URL>
    node lib/video-material.mjs material --url <URL> --every 3
    

产物

默认输出到 ./vidsum_out/<视频标题>/:

文件内容
meta.json标题、作者、时长、播放量、简介、章节
transcript.txt[起-止] 文本 逐段时间轴转写
transcript.srt同名 SRT 字幕,可当字幕文件用
frames/f_*.jpg关键帧单张(默认宽 640)
frames_index.txt单帧 ↔ 时间点对照
sheets/sheet_*.jpg4×4 关键帧拼图
sheets_index.txt拼图每格 ↔ 时间点对照

参数

参数默认说明
--every3抽帧间隔秒。演示类调小(1~2),口播访谈调大(5~10)
--width640关键帧宽度。读取耗时主要看像素数,640 宽约为 960 宽的一半,字幕仍可辨认
--max-frames192上限;视频过长时插件会自动放宽间隔以覆盖全片
--grid / --cell4x4 / 384拼图布局与每格宽度
--audio-only关只下音频,省流量
--no-sheets / --no-asr关跳过拼图 / 跳过转写

总结方法论

插件的 skill 里固化了这几条(也是它比「让模型自己看着办」稳定的原因):

  1. 先给一句话结论,再展开。细节堆太多会把主线埋掉——用户看不懂通常不是因为信息不够。
  2. 两遍法读画面:先读拼图通读全片,再回读关键帧核对具体参数。
  3. 语音识别结果不可全信:型号、人名、数字一律回画面核对;核对不到就标存疑,不假装确定。
  4. 静止文档类视频以画面文字为准,实拍类视频以讲述为准、画面用来确认型号与数据。
  5. 不添加视频里没有的信息,争议内容标明是作者观点;对线类视频说明这是单方面说法。

常见故障

现象原因处理
No module named yt_dlpyt-dlp 以 Python 模块形式存在,但不在 PYTHONPATH 里设 VIDEOSUM_PYLIBS 指向含 yt_dlp 的目录
HTTP Error 412没有 cookies,B 站拒绝放好 cookies/bilibili.txt
HTTP Error 567 Unknown Status媒体下载走了连不上 B 站 CDN 的本地代理见下
PermissionError 指向 cookie 文件cookie 文件在只读位置,yt-dlp 退出时回写失败插件已自动复制到可写位置;若仍出现,把 cookie 放到可写目录

567 这个坑最值得说,因为它的报错完全看不出原因。yt-dlp 会读系统代理设置, 如果本机有个代理(例如 127.0.0.1:7890)而它连不通 B 站 CDN,每一个媒体分片 都会被判成 567;此时 --simulate 解析直链是正常的,只有真正传数据才失败, 所以很容易误判成限流或权限问题。

插件对 B 站域名自动追加 NO_PROXY(bilibili.com、bilivideo.com、hdslb.com、b23.tv), 其他站点仍走你原有的代理设置。如果你手动调 yt-dlp 也遇到,加 --proxy "" 即可。

已知限制

  • B 站高画质与部分字幕需要登录。插件会自动读取工作区 cookies/bilibili.txt(Netscape 格式) 或 --cookies 指定的文件。Cookie 会过期,过期后请重新导出。
  • 转写质量取决于 ASR 引擎与音质;本插件不改善识别本身,只保证错误能被画面校正。
  • 只对用户消息里只有链接的情况自动触发。如果同时贴了多条链接,只会总结第一条—— 想让插件逐条处理,直说即可。
  • 抽帧是等间隔的,不是「智能选帧」。全屏 PPT 或长时间静止画面会有大量重复帧。
  • 索引文件(frames_index.txt、sheets_index.txt)的表头是 ASCII,这是刻意的: 按 GBK 解码中文会把表头变成乱码,而这些索引正是用来看时间点的。

开源协议

MIT,见 LICENSE。