前言¶
在 DeepSeek Harness(DSH)里让模型「看懂」视频,常见做法是直接接链接或抽帧 API:权限边界模糊,B 站、YouTube 等站点一旦放开,往往连 cookie、上传音频一起进来。若你更关心「默认只读本地、联网通道必须人工放行、ASR 留在本机」,可以把视线放到社区插件 dsh-video-gate(维护者 PoiFlos,分类:联网工具)。下面介绍它是什么、能做什么,以及如何在 Windows 上安装与日常使用。
这是什么¶
dsh-video-gate 是 DSH 的「视频通道阀门」插件:默认只允许读取本地文件;Bilibili 通道默认关闭,模型调用读取工具前必须在弹窗或独立窗口里放行。YouTube、小红书、Netflix 不在支持列表(README 说明前两者需额外程序与 cookie,Netflix 涉及 DRM)。
平台限定 Windows 10/11(依赖 install-deps.ps1、阀门界面为 PowerShell / Python;macOS、Linux 未适配)。当前 package 版本 0.9.1,要求 Node >=20、DSH >=0.2.1-rc.2。
核心功能¶
通道与默认策略¶
| 通道 | 默认 | 能力(资料记载) |
|---|---|---|
| 本地文件 | 开 | ffmpeg 抽帧(720p PNG);可选本地 whisper 转写(transcribe: true) |
| Bilibili | 关 | 标题、时长、公开字幕、分镜帧;登录后可取 AI 字幕(可选) |
本地工具链约定在工作区旁:tools\ffmpeg\ffmpeg.exe、tools\whisper\whisper-cli.exe 与 models\ggml-small.bin(来源与哈希见仓库 docs/provenance-*.md)。允许访问的本地根目录写在 %USERPROFILE%\.dsh\video-gate\state.json 的 localRoots,默认包含 <工作区> 与 %USERPROFILE%\Videos。
阀门与会话两层开关¶
模型调用 video_read 时,插件按域名归类通道。通道关闭时会弹出选项:只放行这一次、本会话放行、长期打开该通道(写入 state.json)、保持关闭。用户拒绝则工具返回错误,系统提示禁止换路子绕过;宿主无 userQuestions 服务时按关闭处理(fail-closed)。
与会话相关的另一层:每个会话需先发「启用读取视频插件」 才允许读取;未启用时 video_read 直接返回「视频插件还没启用」。发「关闭读取视频插件」可停用。/video 命令仅显示状态;改阀门走弹窗或独立窗口。
双击 启动阀门.cmd(或桌面快捷方式)可打开独立小窗口,勾选通道即时写入 state.json,插件每次读取前重读,无需重启 DSH。窗口层管通道(持久),唤醒管本会话是否允许读视频(内存);两层都通过才会真正读取。
本地 ASR 与 B 站字幕¶
- 仅使用本地 whisper.cpp,音频不出机器,无 API key、无上传;单次最多处理前 15 分钟(README 称普通桌面 CPU 上约 7 分半视频转写约 2–3 分钟)。
- B 站匿名无法拿到音频流(
playurl返回 0 条 audio),台词依赖平台字幕;若需 ASR,需将视频下载到本地走本地通道。 - 可选登录:说「登录 B 站」后将
SESSDATA写入%USERPROFILE%\.dsh\video-gate\bilibili.cookie;插件不读浏览器 cookie,只读该文件,且域名限定在 bilibili 相关域。
B 站 AI 字幕在生成完成前可能返回其他视频的字幕;0.9.0 起采用本地缓存、最多 8 次重试(间隔 400ms)及归属校验(时长覆盖、标题/UP 名关键词至少命中 2 个),过不了则明确提示未取到,避免错配台词。
安全与审计(代码硬约束)¶
资料列出的约束包括:仅允许 http/https 公开 GET、无 POST;目标域名限定 B 站与本地文件;拒绝内网/回环(SSRF);子进程 argv 列表、带超时;落盘仅在 cache/。状态:state.json;审计:audit.jsonl;缓存:cache\。
安装与启用¶
安装步骤以仓库 README 为准(需先取得仓库目录,再交给 DSH 的 bundle 安装器):
git clone https://github.com/PoiFlos/dsh-video-gate.git
plugin_manager action=install_bundle target=<克隆路径>
ffmpeg(约 84MB)、whisper(约 11MB)、模型(约 465MB)不随仓库分发。先查看计划与哈希,再下载:
powershell -ExecutionPolicy Bypass -File <克隆路径>\install-deps.ps1 -Plan
powershell -ExecutionPolicy Bypass -File <克隆路径>\install-deps.ps1
依赖装到 <克隆路径>\..\tools\,不装服务、不改 PATH、一般不需要管理员。更细的下载、localRoots 配置与故障排查见仓库 docs/安装与使用.md;若交给 Agent 自动安装,可读 AGENTS.md。
卸载:
plugin_manager action=remove_bundle target=dsh-video-gate
典型用法¶
- 完成安装与依赖后,在 DSH 会话中发送:「启用读取视频插件」。
- 若需读 B 站链接,先在弹窗或
启动阀门.cmd窗口中打开 Bilibili 通道(或按需选择「只放行这一次」等)。 - 向模型发送本地路径或 B 站链接;本地视频可在工具参数中使用
transcribe: true触发 whisper 转写。 - 需要 B 站 AI 字幕时,按文档配置登录态文件;用完后可在阀门窗口「退出登录」或按提示清理。
可选:运行 安装托盘支持.cmd 将 pystray + Pillow 装入 gui/_vendor,关阀门窗口时可缩到托盘(托盘点击行为 README 标注为未人工验证)。
适用场景与注意¶
适合:在 Windows 上用 DSH 分析本地教程、录屏,或在明确放行后读取 B 站公开信息与字幕,且希望联网范围与 ASR 尽量留在本机、可审计的场景。
务必注意:
- 插件以当前 DSH 进程权限运行;安装前请自行审阅源码与 MIT 许可(
tools/内第三方二进制另有许可,如 ffmpeg GPL)。 - 仅 Windows 10/11 有完整路径;其他系统勿按本文命令照搬。
- 社区目录 SkillHub 插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;星标等元数据以页面为准(资料抓取时为 1 star)。
结尾¶
dsh-video-gate 把「能不能读视频」拆成本地默认开放、B 站默认关闭、会话需唤醒、放行可审计几层,并把抽帧与 whisper 转写绑在工作区工具链上。若你的 harness 工作流需要这种阀门式视频通道,可从目录页与仓库 README 继续跟进版本与 provenance 文档。
- 目录页:https://www.skillhub.cn/plugins/PoiFlos/dsh-video-gate
- GitHub:https://github.com/PoiFlos/dsh-video-gate