把视频链接变成带依据的总结,并标明材料来源
28.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add hunyu-feng/dsh-video-digest该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 发起网络请求lib/http.js:105
const response = await fetch(parsed.href, { - 执行外部命令来自配置/变量lib/web.js:374
const child = spawn(executable, ['-J', '--no-warnings', '--no-playlist', '--', url], { - 读取本地文件lib/summarize.js:36
const parsed = JSON.parse(readFileSync(configPath(), 'utf8')); - 读取本地文件lib/browser.js:43
return BROWSER_CANDIDATES.find((candidate) => existsSync(candidate)) ?? ''; - 写入本地文件lib/browser.js:53
appendFileSync(join(tmpdir(), 'dsh-video-digest-render.log'), `${new Date().toISOString()} ${JSON.stringify(fields)}\n`); - 执行外部命令来自配置/变量lib/browser.js:138
const child = spawn(command, args, { - 删除本地文件递归lib/browser.js:245
await rm(profile, { recursive: true, force: true, maxRetries: 3, retryDelay: 200 }).catch(() => {});
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件:把视频链接(Bilibili、YouTube 或任意页面)变成有转录稿支撑的摘要,并直说用了哪些证据。
README
由 DeepSeek 最新模型翻译生成dsh-video-digest · 视频速读
本地开发备忘(怎么改、改完怎么生效、踩过的坑):见 NOTES.md。
把视频链接丢给 DSH,拿回一份带依据的总结:它读什么、没读到什么,都会写在结果里。
一个 DeepSeek Harness 插件,注册两个工具:
| 工具 | 作用 |
| video_digest | 链接 → 抓取可读材料 → 调用当前默认模型 → 结构化总结(标题、一句话结论、正文、要点、时间线、依据、置信度) |
| video_transcript | 链接 → 只取带时间码的字幕逐字稿,不调用模型 |
支持 B 站(BV/av、多分 P、b23.tv 短链)、YouTube、抖音(用本机 Edge/Chrome 无头渲染页面,取文案与话题),以及任何带视频元信息的普通网页;装了 yt-dlp 之后还能抓更多站点的字幕。
抖音没有公开字幕接口,插件也不做语音转写,所以抖音链接给的是「页面文案 + 话题 + 发布信息」的提炼,不是逐字总结。
另外,DSH 桌面宿主进程可能不允许直接拉起浏览器(表现为渲染返回空页面):此时可在终端跑 node scripts/smoke.mjs <链接> 取材料,或把文案贴给模型。
展开完整文档(README 剩余 1 节)
dsh-video-digest · 视频速读
本地开发备忘(怎么改、改完怎么生效、踩过的坑):见 NOTES.md。
把视频链接丢给 DSH,拿回一份带依据的总结:它读什么、没读到什么,都会写在结果里。
一个 DeepSeek Harness 插件,注册两个工具:
| 工具 | 作用 |
| video_digest | 链接 → 抓取可读材料 → 调用当前默认模型 → 结构化总结(标题、一句话结论、正文、要点、时间线、依据、置信度) |
| video_transcript | 链接 → 只取带时间码的字幕逐字稿,不调用模型 |
支持 B 站(BV/av、多分 P、b23.tv 短链)、YouTube、抖音(用本机 Edge/Chrome 无头渲染页面,取文案与话题),以及任何带视频元信息的普通网页;装了 yt-dlp 之后还能抓更多站点的字幕。
抖音没有公开字幕接口,插件也不做语音转写,所以抖音链接给的是「页面文案 + 话题 + 发布信息」的提炼,不是逐字总结。
另外,DSH 桌面宿主进程可能不允许直接拉起浏览器(表现为渲染返回空页面):此时可在终端跑 node scripts/smoke.mjs <链接> 取材料,或把文案贴给模型。
它到底"看"了什么
这是本插件最重要的设计取舍:它不解码画面和音频(那需要 ffmpeg + 语音识别模型,代价和失败率都高得多),而是按可用性从高到低找材料,然后在结果里如实标注用了哪一档。
| 材料 | 需要什么 | 强度 |
| 字幕逐字稿 | B 站登录 cookie(SESSDATA)/ yt-dlp | 高 —— 真正逐字读完 |
| B 站官方 AI 总结 | B 站登录 cookie | 高 |
| 章节(view_points)、简介、标签 | 不需要 | 中 |
| 弹幕采样 + 热评 | 不需要 | 低,只作侧写 |
| 页面正文 / OG 元信息 | 不需要 | 视页面而定 |
因此输出里永远有 basis(依据)和 confidence(high / medium / low),没有任何字幕时 warnings 会写明"未获得逐字稿"。它不会假装自己看了视频。
弹幕不是原样塞给模型:先按长度和内容过滤掉"哈哈""1""?"这类噪音并去重,再沿整条时间轴均匀采样,让模型看到的是全程走向而不是开场刷屏。
安装
插件以 bundle 形式声明(package.json 里的 dsh.bundle.patch → cordis.patch.yml),装进 DSH 的 profile 即可:
1. 在 DSH 里打开 插件 → 安装本地插件包(或让智能体调用 plugin_manager 的 install_bundle);
2. 包目录选择本仓库根目录;
3. 重启会话后,工具列表里出现 video_digest 和 video_transcript。
卸载:在插件列表里禁用或移除 dsh-video-digest 即可,工具会随之卸载(插件是 fiber 作用域)。
用法
直接用自然语言:
帮我总结这个视频 https://www.bilibili.com/video/BV1Xdnc6jEbL
这个视频的核心论点是什么?只看技术细节 https://youtu.be/xxxxxxxxxxx
模型会调用 video_digest。需要原文引用时:
把 BV1Xdnc6jEbL 的字幕原文取出来
调用 video_transcript。
参数:
- url(必填):视频页链接
- focus:想看的角度,例如"核心论证""代码实现"
- language:输出语言,默认简体中文
- detail:brief / standard / detailed(detailed 会送更多逐字稿进模型)
- page:B 站多分 P 时看第几 P
- cookie:B 站 SESSDATA,建议改用环境变量
配置
| 环境变量 | 作用 |
| BILI_COOKIE | B 站 SESSDATA(可只填值,也可填完整 cookie 串)。设置后解锁字幕逐字稿与官方 AI 总结 |
| YT_DLP_PATH | 指向 yt-dlp 可执行文件。设置后 YouTube 及其他站点走 yt-dlp 抓字幕;B 站没拿到字幕时也会尝试用它补 |
| VIDEO_DIGEST_PROVIDER + VIDEO_DIGEST_MODEL | 覆盖总结用的模型路由;默认跟随 DSH 当前的 agentDefaultModel |
| DSH_VIDEO_DIGEST_CONFIG | 覆盖下面这个插件配置文件的路径 |
单独给本插件指定模型(不影响 DSH 全局默认):
// ~/.dsh-video-digest/config.json
{ "provider": "deepseek-account", "model": "deepseek-v4-pro", "reasoningEffort": "max" }
优先级:工具参数 → 环境变量 → 这个配置文件 → agentDefaultModel → 第一个已注册 provider。
reasoningEffort 可省略,省略时用模型自己的默认档位。
插件自己不保存任何 API key:总结走 DSH 已经在用的 provider/model,所以你换了默认模型它也照常工作。
输出示例
{
"title": "中文已死:为什么我们越来越不敢好好说话?", "platform": "bilibili", "author": "大圆镜科普", "durationSeconds": 427, "headline": "用热梗代替表达,让语言在省力中磨损", "summary": "……",
"keyPoints": ["……"],
"chapters": [{ "time": "0:00", "title": "热梗是压缩包", "startSeconds": 0 }],
"basis": "基于章节、弹幕、热评(未获得逐字稿)", "confidence": "medium",
"warnings": ["未登录 B 站,看不到字幕列表(字幕接口需要 SESSDATA)。"],
"model": "deepseek-account/deepseek-flash"
}
开发
node --test # 21 个单元测试:URL 解析、wbi 签名、弹幕 inflate/XML、VTT、JSON 还原
node scripts/smoke.mjs https://www.bilibili.com/video/BV1Xdnc6jEbL # 真实抓取,不调用模型
BILI_COOKIE=... node scripts/smoke.mjs <url> # 顺便验证字幕路径
代码结构:
index.js 插件入口:注册 video_digest / video_transcript,声明输出 schema lib/index.js 分发器:平台识别、yt-dlp 兜底、digest 流水线 lib/bilibili.js B 站:view → player/v2 → 字幕 / AI 总结 / 章节 / 弹幕 / 热评,含 wbi 签名 lib/web.js YouTube oEmbed、通用网页元信息、yt-dlp、VTT / json3 字幕解析 lib/evidence.js 材料 → 提示词文本;依据、置信度、时间码格式化 lib/prompt.js 提示词、JSON 还原、结果规范化、markdown 渲染 lib/summarize.js 模型路由解析与流式调用(复用宿主 llm 服务) lib/http.js 带超时/体积上限的 fetch,统一错误码
局限
- 无登录时 B 站字幕接口返回空列表——这是接口行为,不是 bug;
- 无法直连 YouTube 的网络里,YouTube 链接会明确报错并给出提示;
- 不下载、不转写音频,因此没有字幕的视频只能得到侧写式总结;
- 依赖平台未公开接口,平台改版时可能失效,scripts/smoke.mjs 是最快的自查手段。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
hunyu-feng/dsh-video-digest
把视频链接变成带依据的总结,并标明材料来源
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目