DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
V

@lifenrir/dsh-video-preview

Video Preview

在 DSH 右侧预览面板直接播放工作区视频。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:LiFenrir/dsh-video-preview#25823e46ab1ddbd1baeac2c53f5629de42f7169f
README兼容性版本

说明

在 DSH 右侧文档预览中原生播放视频。

兼容性与来源证明

Video Preview 以 @lifenrir/dsh-video-preview 发布,当前版本为 0.1.4。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/11/3

版本

0.1.4stable
2026/11/3
0.1.3stable
2026/10/29
0.1.2stable
2026/10/26
查看其余 2 个版本收起版本
0.1.1stable
2026/10/26
0.1.0stable
2026/10/23

相关插件

正在加载相关插件…

最新版
0.1.4
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/11/3
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 vision-media 分类下经过校验的插件。

Experimental Voice Input Bundle@deepseek-ai/dsh-experimental-voice-input-bundle实验性语音输入,使用本地 SenseVoice;首次使用时下载其运行时Modlens@liustack/modlens面向仅支持文本的 LLM 的插件视觉能力,由免费的 Antigravity CLI 提供支持Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---Tool Describe Image@linxin666/dsh-tool-describe-image面向模型的 describe_image 工具,用于 dsh Web GUI:通过在兼容 OpenAI 的端点调用视觉语言模型,为文本模型提供图像理解能力,以描述一张图像(本地路径、http(s) URL 或附件引用)。可热插拔 —

README

DSH Video Preview

中文

Play workspace videos directly in DeepSeek Harness's right-side context / document preview panel. Instead of showing "unsupported file type", the panel renders a native video player with working seeking, including files larger than the 32 MiB RPC preview read limit.

  • Package: @lifenrir/dsh-video-preview
  • DSH: >= 0.2.1-rc.2
  • Node: ^22.19 || >=24

Features

  • Inline <video controls playsInline preload="metadata"> inside the right-side document panel: play, pause, seek, and fullscreen.
  • Authenticated Host route /api/dsh-video-preview/stream that implements HTTP Range (206 / 416), so seeking is not limited by the RPC preview cap.
  • 4 MiB chunked reads through ctx.fs.readByteRange; a HEAD probe validates the path, MIME type, and workspace permission before the browser issues its GET.
  • Only known video extensions are accepted; everything else returns 415.
  • The player follows the DSH theme through --dsw-alias-* design tokens.

Supported containers and codecs

ExtensionContent-Type
.mp4, .m4vvideo/mp4
.movvideo/quicktime
.webmvideo/webm
.ogv, .oggvideo/ogg
.mkvvideo/x-matroska

Container recognition does not imply codec support. The browser still has to decode the stream:

  • H.264/AAC in MP4 and VP8/VP9 in WebM have the widest compatibility.
  • .mov often contains ProRes, and .mkv often contains H.265/AC-3 or other codecs browsers do not ship decoders for. When decoding fails the panel shows "This browser cannot play this video format" with a Retry button.

Install

From npm

dsh plugin add @lifenrir/dsh-video-preview

From a local directory

git clone https://github.com/LiFenrir/dsh-video-preview.git
dsh plugin add /absolute/path/to/dsh-video-preview

No build step is required: the Host half is the ESM entry index.js, and the browser half is client.js, loaded through window.__ModuleLoader__.

From git

dsh plugin add git+https://github.com/LiFenrir/dsh-video-preview.git

Reload the Web UI (or restart the profile) after adding and enabling the plugin.

Usage

  1. Open a workspace video from the Files tab.
  2. The right-side preview panel shows the player.
  3. Use the native controls to play, seek, and enter fullscreen.

How it works

  • index.js registers the streaming route on the authenticated connection layer via ctx.connection.fetch.register.
  • The route resolves the session workspace through the workspaceFileScope lookup, then resolves and stats the requested path with ctx.fs, which keeps sandbox rules in force.
  • client.js registers a document-preview definition for the supported extensions and the panel component. It parses the dsh-resource://file/session/<sessionId>/<path> address, performs the HEAD probe, and only then points the <video> element at the stream URL.

Security

  • The stream route is served through DSH's authenticated connection layer; paths are resolved relative to the session's workspace root and remain subject to the ctx.fs sandbox.
  • Responses use Cache-Control: private, no-store and X-Content-Type-Options: nosniff.
  • Error responses do not leak internal error details.
  • Request paths containing NUL bytes are rejected, and only the extensions listed above are served.

Verify

  1. Enable the plugin and reload the Web UI.
  2. Open a .mp4 file from the Files tab.
  3. The right-side preview should show a player, and dragging the progress bar should seek correctly.
  4. Optionally open a file larger than 32 MiB and confirm that seeking still works.

If the panel reports a load failure, check that the file exists, lies inside the current session workspace, and has a supported extension. If it reports an unsupported format, the container may be recognized but the codec is not decodable by the browser.

Development

This package has no build step and no runtime dependencies. The source files are the shipped files:

index.js            Host half (stream route)
client.js           Browser half (document preview + player)
cordis.patch.yml    Bundle manifest
locale/{en,zh}.json Display metadata
icon.svg            Plugin icon

To test a change locally, point dsh plugin add at this directory and reload the Web UI.

License

MIT. See LICENSE.