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

侧栏音视频预览 feigo313/dsh-media-viewer

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

DSH 侧栏dsh-better-sidebar的音视频预览插件:注册一个文件查看器,用 /sidebar/file…

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 发起网络请求
    client.js:71
    fetch(mediaUrl)
  • 读取本地文件
    verify.mjs:27
    new Function('window', readFileSync(join(HERE, 'client.js'), 'utf8'))(globalThis.window)
  • 读取本地文件
    verify.mjs:63
    const pkg = JSON.parse(readFileSync(join(HERE, 'package.json'), 'utf8'))
  • 读取本地文件
    verify.mjs:64
    ok('exports["./client"] resolves', pkg.exports?.['./client'] !== undefined && readFileSync(join(HERE, 'client.js')).length > 0)
  • 读取本地文件
    verify.mjs:65
    ok('bundle patch names the package', readFileSync(join(HERE, 'cordis.patch.yml'), 'utf8').includes(`'${pkg.name}'`))
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DSH 侧边栏的内联音视频预览插件(dsh-better-sidebar 伴生):自带 /media 路由支持 HTTP Range,mp4/mkv/mp3/flac 直接播、可拖时间轴,无需先下载

README

由 DeepSeek 最新模型翻译生成
dsh-media-viewer dsh-better-sidebar 好用,唯一短板是播不了音视频——这个仓库就是它的「插件中的插件」,只补这一件事。 插件中的插件:补上 dsh-better-sidebar 做不到的那一件事——在侧卡里播放视频和音频。 就是个小玩意,自用为主:不上插件市场,也不发 npm。 想用就 clone 本仓库,在配置档里用 file: 指过来。 点开侧栏里的 .mp4 / .mp3,直接出播放器,能播、能拖时间轴;不用下载,也不用起本地服务。 它解决什么 侧栏自己没有媒体查看器:.mp4 会落进 code 兜底、被判成二进制,最后停在「此文件类型不支持预览 · 下载查看」;它自己的 /sidebar/file 对非图片一律回 application/octet-stream,也不支持 Range,浏览器于是既选不到 demuxer、也拖不动进度条。 这个插件用一个独立包补上这件事,而不是去改侧栏的源码:侧栏升级不会覆盖它。 怎么实现的(三行说清) 1. host 半是空的:index.js 只导出 name / inject: [] / 空 apply()。不起路由、不读会话、不依赖 webRuntime 之类随宿主变化的服务。
展开完整文档(README 剩余 1 节)
dsh-media-viewer

dsh-better-sidebar 好用,唯一短板是播不了音视频——这个仓库就是它的「插件中的插件」,只补这一件事。

插件中的插件:补上 dsh-better-sidebar 做不到的那一件事——在侧卡里播放视频和音频。

就是个小玩意,自用为主:不上插件市场,也不发 npm。 想用就 clone 本仓库,在配置档里用 file: 指过来。

点开侧栏里的 .mp4 / .mp3,直接出播放器,能播、能拖时间轴;不用下载,也不用起本地服务。

它解决什么

侧栏自己没有媒体查看器:.mp4 会落进 code 兜底、被判成二进制,最后停在「此文件类型不支持预览 · 下载查看」;它自己的 /sidebar/file 对非图片一律回 application/octet-stream,也不支持 Range,浏览器于是既选不到 demuxer、也拖不动进度条。

这个插件用一个独立包补上这件事,而不是去改侧栏的源码:侧栏升级不会覆盖它。

怎么实现的(三行说清)

1. host 半是空的:index.js 只导出 name / inject: [] / 空 apply()。不起路由、不读会话、不依赖 webRuntime 之类随宿主变化的服务。
2. client 半只调一个公开 API:
ctx.effect(() => ctx.betterSidebar.registerFileViewer({
id: 'dsh-media-viewer:media',
exts: [...26 种音视频容器],
priority: 50,
fetchStrategy: 'mediaUrl', // 侧栏把路径解析好,交给我们一个 /sidebar/file URL component: MediaView, }))

3. 播放:fetch(mediaUrl) → Blob({ type: 'video/mp4' … }) → / 。因为字节进了内存,拖动时间轴不依赖服务端 Range;>256 MB 自动退化为直链播放;解不了码时给一句明确提示 + 「下载原文件」,不是一块黑屏。

安装

复制到任意目录,然后把路径写进 profile ~/.dsh/profiles/desktop/package.json
"dependencies": { "dsh-media-viewer": "file:G:/dsh-media-viewer" }
"dsh": { "profile": { "bundles": [ ... , "dsh-media-viewer" ] } }

cd $env:USERPROFILE\.dsh\profiles\desktop
pnpm install

宿主半要重启一次 App;之后侧栏客户端会按内容哈希自动加载插件。

依赖:dsh-better-sidebar(提供 betterSidebar 服务)。没装侧栏时本插件不会激活,也不会报错。

支持的容器

- 视频:mp4 m4v webm mov qt ogv mkv avi wmv flv mpeg mpg 3gp 3g2 m2ts
- 音频:mp3 m4a aac wav flac oga ogg opus weba aiff aif

能不能解出画面取决于宿主 Electron 自带的 ffmpeg:H.264 / VP9 / AAC 正常;qtrle(QuickTime Animation RLE,常见于带通道特效素材)、ProRes 等解不了——外部播放器(QQ影音等)能播不代表侧栏能播,这类素材要先转码:

保留透明通道,Chromium 可解 ffmpeg -i in.mov -c:v libvpx-vp9 -pix_fmt yuva420p -auto-alt-ref 0 out.webm 或丢掉通道,最通用 ffmpeg -i in.mov -c:v libx264 -pix_fmt yuv420p -movflags +faststart out.mp4

边界与取舍

- 只做预览:不转码、不做缩略图、不做播放列表、不记忆播放进度。
- 不碰侧栏源码,也不改宿主;/sidebar/file 缺媒体 MIME 与 Range 这件事属于上游(见 DSH-better-sidebar#1027),本插件用 Blob 绕开它。
- 侧栏哪天改了 registerFileViewer 的签名,本插件要跟着改一次——这是所有伴生插件共同的义务。

License

MIT,见 LICENSE。
预览分享卡片长什么样 ↓feigo313/dsh-media-viewer
分享 · DeepSeek Harness Hub
feigo313/dsh-media-viewer

DSH 侧栏dsh-better-sidebar的音视频预览插件:注册一个文件查看器,用 /sidebar/file…

这是你的仓库?认领条目

回到顶部