前言¶
DeepSeek Harness(DSH)的 web / desktop profile 启动后,界面往往直接进入工作区。若希望在每次会话开始时用一段固定的视觉语言交代「意图成形」的主题,又不把大体积视频塞进前端 bundle,需要在 Host 侧提供媒体路由、在浏览器侧用全屏遮罩播放,并处理自动播放策略、跳过与重播等细节。社区插件 chuyuanguo/dsh-opening 把短片 《DSH / OPENING — INTENT, IN FORM》 做成标准 Cordis bundle:应用启动时全屏播放约 19.5 秒的黑白科幻片头,结束后安静退场。
这是什么¶
dsh-opening 由维护者 chuyuanguo 发布,在 SkillHub 分类为「趣味换装」。插件简介为:19.5s monochrome DSH opening film as a DeepSeek Harness startup plugin。本地包名为 @local/dsh-opening(package.json 版本 1.0.0),以目录链接(link:)方式挂载,安装后请勿删除或移动克隆目录。
核心功能¶
下面介绍 README 中已写明的能力,均可在仓库说明中核对。
- 成片原样播放:1920×1080、30 fps、H.264 + AAC 立体声,时长 19.5 秒;不在浏览器里重绘,也不引用外部图片或音频素材。
- 启动自动播放:每个页面会话播放一次;新开标签页或重启客户端会再次播放。
- 可跳过:右上角「跳过 / Skip」,
Esc同样有效(可通过配置关闭)。 - 声音兜底:浏览器拒绝带声音自动播放时先静音播放,用户首次点击即可开声。
- 可重播:设置 → 通用 → 开场动画 → 重新播放。
- 尊重
prefers-reduced-motion:停在海报上,用户点击后再开始播放。 - 不会卡住界面:全屏遮罩带时长看门狗,媒体异常或
ended事件丢失时会自动收起。 - 本地流式加载:Host 通过 HTTP Range 提供影片,首帧可快速出现,不把约 30 MB 视频塞进 JS。
安装与启用¶
要求:DeepSeek Harness 的 web / desktop profile,且 Host 侧提供 webServer 服务。
先把仓库克隆到本地(安装命令以 README 为准):
git clone https://github.com/chuyuanguo/dsh-opening.git
再在 Harness 中安装本地 bundle,将 target 指向克隆目录(Windows 路径示例如下,请按实际路径修改):
plugin_manager({
action: 'install_bundle',
target: 'C:\\path\\to\\dsh-opening',
})
安装会写入当前 profile,对同一 profile 的所有会话生效。完成后刷新页面即可看到开场;同一页面会话只会自动播放一次,需要再看可在设置里使用「重新播放」。
配置¶
可选配置文件:$DSH_HOME/dsh-opening.json(Windows 通常为 C:\Users\<你>\.dsh\dsh-opening.json)。
{
"frequency": "session",
"volume": 0.85,
"allowSkip": true,
"autoplay": true
}
| 字段 | 取值 | 说明 |
|---|---|---|
frequency |
session(默认)/ daily / once / always |
自动播放的频率 |
volume |
0 – 1 |
初始音量 |
allowSkip |
true / false |
是否显示跳过按钮并允许 Esc |
autoplay |
true / false |
false 时仅在设置里手动重播 |
配置文件在每次请求状态时重新读取,修改后刷新页面即可生效;无配置文件时使用默认值。
典型用法与自检¶
手动重播:安装并刷新后,若本会话已自动播过,可到 设置 → 通用 → 开场动画 → 重新播放。
Host 路由自检(将 <port> 换成当前 Harness 端口;-o NUL 为 Windows 写法,macOS / Linux 请改为 -o /dev/null):
node --check index.js
node --check client.js
curl -s http://127.0.0.1:<port>/dsh-opening/state.json
curl -sI http://127.0.0.1:<port>/dsh-opening/media/opening.mp4
curl -s -D - -o NUL -H "Range: bytes=0-1023" \
http://127.0.0.1:<port>/dsh-opening/media/opening.mp4
预期:状态请求返回 200 application/json;影片 200 且带 Accept-Ranges: bytes;Range 请求 206 且 Content-Range: bytes 0-1023/30645130;越界 Range 返回 416。
工作原理(简要)¶
插件分为 Host 与浏览器两半:index.js 注册 /dsh-opening/state.json 与媒体路由(opening.mp4 / poster.png),支持 HEAD、Range、ETag、304、416;client.js 向 shell.overlay 注册全屏播放器,并向 settings.general.item 注册重播入口。浏览器侧通过 Harness 的 ctx.slots 与 ctx.locale 接入,不直接向 document.body 追加节点。
适用场景与注意¶
适合希望在 DSH 启动瞬间统一品牌开场、又需要跳过、静音策略与无障碍(减少动效)兼顾的 web / desktop 用户。
安装前建议阅读源码与许可:插件源码为 MIT;成片与海报 © 2026 chuyuanguo,不适用 MIT,第三方字体与商标见仓库 NOTICE.md。插件在当前 DSH 进程权限下运行,安装前应自行核对仓库内容。
已知限制(来自 README):
- 仅在 Host 提供
webServer的 profile 中工作;若 Electron 外壳以file://+ IPC 下发前端且无 HTTP 载体,插件不会挂载。 - 仓库仅含 1080p30 Clear 版,不含 4K 24fps 母版。
- 除设置页重播外无独立配置界面,选项通过 JSON 文件修改。
- 影片含 DeepSeek 鲸标与 Montserrat 字体渲染,声明见 NOTICE.md。
DSH 生态强调「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-opening 把固定长度的黑白片头做成可流式加载的启动插件,并处理会话频率、跳过、音量与重播等常见需求。目录页:https://www.skillhub.cn/plugins/chuyuanguo/dsh-opening;源码与完整说明:https://github.com/chuyuanguo/dsh-opening。