在侧边栏内联播放视频并拖动进度条
35.8/100
综合分
5
GitHub 星标
680
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-video-previewnpm 源 · dsh-video-preview 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 68 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-video-preview @ 0.1.4
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 12:34:29
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
- 读取本地文件index.js:223
const stream = createReadStream(path, { start, end }) - 读取本地文件index.js:234
const stream = createReadStream(path) - 读取本地文件index.js:270
const info = await stat(path)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧边栏内联播放视频
- 拖拽进度条
- 支持多种视频格式
dsh-better-sidebar 的视频文件预览插件: 在侧边栏打开 .mp4 .webm .mov .mkv .avi 等视频文件时,内联渲染一个可播放、可拖拽进度条的 <video> 播放器。
README
由 DeepSeek 最新模型翻译生成dshfind
📌 本插件已收录于 dshfind 插件超市(GitHub 仓库打 dsh-better-sidebar / dsh-plugin topic 后自动收录),点击上方徽章直达主页。
dsh-video-preview
npm version
dsh-better-sidebar 的视频文件预览插件:在侧边栏打开 .mp4 / .webm / .mov / .mkv / .avi 等视频文件时,内联渲染一个可播放、可拖拽进度条的 播放器。
背景
better-sidebar 内置的文件预览器只有 image / pdf / markdown / html / code / binary-download,没有视频预览——视频文件目前会落到 code 视图(乱码)或下载按钮。
直接复用内置的 /sidebar/file 媒体路由也不行:
- 该路由不支持 HTTP Range(整个文件读进内存、返回 200),浏览器无法拖动进度条(seek);
- 受 mediaLimit(默认 20MB)限制,更大的视频会被直接拒绝。
因此本插件自带一条 支持 Range(206 Partial Content)的 /video/ 宿主路由,用 createReadStream 分片流式下发,seek / 拖进度条 / 倍速都能正常工作。
展开完整文档(README 剩余 1 节)
dshfind
📌 本插件已收录于 dshfind 插件超市(GitHub 仓库打 dsh-better-sidebar / dsh-plugin topic 后自动收录),点击上方徽章直达主页。
dsh-video-preview
npm version
dsh-better-sidebar 的视频文件预览插件:在侧边栏打开 .mp4 / .webm / .mov / .mkv / .avi 等视频文件时,内联渲染一个可播放、可拖拽进度条的 播放器。
背景
better-sidebar 内置的文件预览器只有 image / pdf / markdown / html / code / binary-download,没有视频预览——视频文件目前会落到 code 视图(乱码)或下载按钮。
直接复用内置的 /sidebar/file 媒体路由也不行:
- 该路由不支持 HTTP Range(整个文件读进内存、返回 200),浏览器无法拖动进度条(seek);
- 受 mediaLimit(默认 20MB)限制,更大的视频会被直接拒绝。
因此本插件自带一条 支持 Range(206 Partial Content)的 /video/ 宿主路由,用 createReadStream 分片流式下发,seek / 拖进度条 / 倍速都能正常工作。
功能
- 通过 ctx.betterSidebar.registerFileViewer 注册 video 预览器(id video,与内置 viewer 同权):
- .mp4/.m4v/.webm/.mov/.qt/.mkv/.avi/.wmv/.flv/.ogv/.ogg/.mpeg/.mpg/.3gp/.3g2/.m2ts
- 内联 :播放/暂停、拖进度条(Range 206)、倍速、全屏、音量、preload=metadata
- 底部文件名 + 「下载」链接(浏览器无法解码的容器格式仍可下载原文件)
- 自带 /video/ 宿主路由:HTTP Range / If-Range / suffix-range(bytes=-N),视频大小不受 mediaLimit 限制
- viewer 描述符带 title/icon,Side card 设置页自动显示启用开关(含 16px 播放器图标)
- 客户端组件自包含:不依赖 better-sidebar 的 client 内部实现,fetchStrategy: 'none'
依赖 better-sidebar 版本
需要 better-sidebar >= 0.4.0(ctx.betterSidebar.registerFileViewer 服务)。
安装(profile)
前置:DSH 已装好且 dsh web 能运行,已安装 dsh-better-sidebar。
从 npm 安装(推荐,发布后生效):
dsh plugin --profile web add dsh-video-preview
本地开发(link: 热更新):
dsh plugin --profile web add "link:"
从 tarball 安装(离线 / 未发布):
dsh plugin --profile web add file:/dsh-video-preview-0.1.1.tgz
安装后重启 dsh web 进程并浏览器硬刷新(Cmd/Ctrl+Shift+R)。
说明:新增宿主半(/video 路由)需要重启一次;之后仅 client 改动硬刷新即可。
运行
- 打开侧边栏 → 在文件资源管理器中打开任意视频文件,video 预览器自动命中;
- Side card 设置页 →「文件预览」清单中可见 Video 卡片(带播放器图标),可单独启用/禁用。
开发与检查
node test/route.test.mjs # 宿主路由回归测试(Range/206/416/403/HEAD/405,19 项)
| 检查项 | 命令 | 预期 |
| 宿主路由测试 | node test/route.test.mjs | 全部通过 |
| client bundle | node --check client.js | 语法 OK |
| bundle 形态 | 产物首行 | window.__ModuleLoader__.load({ id: 'dsh-video-preview', ... }) |
| 安装状态 | node_modules/dsh-video-preview/client.js 存在 | True |
结构
| 文件 | 作用 |
| index.js | 宿主半:注册 /video/* 前缀路由(Host 头信任围栏 + 会话 cwd 越界检查 + Range/If-Range/suffix-range) |
| client.js | 客户端 bundle:经 ctx.betterSidebar.registerFileViewer 注册 video 预览器(fetchStrategy: 'none',含 16px 图标) |
| cordis.patch.yml | dsh.bundle.patch:挂载行(entry name 与包名一致,供 client-modules 发现 client bundle) |
| test/route.test.mjs | 宿主路由回归测试(自包含,无需 ffmpeg) |
安全
- 路由复用与 /api 网关相同的 Host 头信任围栏(loopback 或 trustedHosts,拒绝跨站);
- 解析后的路径必须位于会话权威工作目录内(大小写/分隔符容忍),.. 无法越界;
- 只读流式下发,不写文件、不设身份。
说明与限制
- 支持浏览器可解码的容器/编码(H.264 的 mp4/m4v、VP8/VP9 的 webm、mov、OGV 等); Chrome/Edge/Firefox 不内置解码的格式(如部分 HEVC、AV1 组合)会在播放器内报错,可用「下载」取回原文件;
- 视频大小不受 better-sidebar mediaLimit 限制;
- 不新建 Tab 页,仅作为文件预览器注册(也可按需再加 registerTab)。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zemul/dsh-video-preview
在侧边栏内联播放视频并拖动进度条
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 266,913已汉化DSH
71.8
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4