dsh-media-viewer

DSH PLUGIN会话与消息

仓库 feigo313/dsh-media-viewer

会话与消息 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件
安装这个插件

DSH 侧栏(dsh-better-sidebar)的音视频预览插件:注册一个文件查看器,用 /sidebar/file + Blob 播放,侧栏升级不会被覆盖

一句话选型结论

按资料字段整理

dsh-media-viewer 是会话与消息类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 1 复刻 0 · 未关闭 issue 0
最近更新 2026-10-28 创建于 2026-10-23
README 3.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:feigo313/dsh-media-viewer
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

audiodshdsh-better-sidebardsh-pluginpreviewvideo

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-media-viewer当前 未做沙盒验证 未标注 1 未标注 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方feigo313仓库 dsh-media-viewer · 默认分支 main
分类会话与消息client
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证未标注商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-23 · 2026-10-28最后推送 2026-10-28
本站收录2026-10-30首次进入本站目录的时间

README 全文

3.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-media-viewer

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

A plugin-of-a-plugin: it adds the one thing dsh-better-sidebar cannot do — playing video and audio in the side card.

就是个小玩意,自用为主:不上插件市场,也不发 npm。 想用就 clone 本仓库,在 profile 里用 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,
}))
  1. 播放: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。

常见问题

4 问
答案由本站依据条目字段整理,不引用上游原文
dsh-media-viewer 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:feigo313/dsh-media-viewer` 即可。

dsh-media-viewer 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-media-viewer 安全吗?

未标注。

dsh-media-viewer 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

同名或近似条目

1 条
不同作者的仓库分开列,请确认你要装的是哪一个
会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

feigo313 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。