前言¶
在 DeepSeek Harness(DSH)里做智能体或会话开发时,浏览器面板往往只承担对话与工具入口;若想在同一宿主里浏览片库、管理采集源并在面板内直接播放,通常要另开网页或 TVBox 类客户端,和 DSH 的左侧栏、同源代理体系是割裂的。
下面介绍社区插件 dsh-cinema(维护者 ObliviateOnline,分类为客户端):在 DSH 左侧栏增加「影音工作室」入口,打开后是原生 React 全页面板——TMDB 热门与片库元数据,以及使用者自行配置的 Apple CMS V10 片源管理、搜索、选集与 HLS/FLV/mp4 面板内播放。形态上可参考 CineFlow,但为独立实现,不内置任何片源。
这是什么¶
dsh-cinema 是发布在 npm 的 DSH Web 插件(当前资料中版本 1.4.2,许可证 MIT)。它通过 cordis.patch.yml 注入客户端,依赖 @deepseek-ai/dsh-client-ui-sidebar 等布局能力,在左侧栏挂胶片图标。
插件解决的核心问题是:在 DSH 进程内完成「元数据浏览 + 自备 CMS 源 + 代理出网/直连策略 + 播放器」,而不使用 iframe 嵌第三方站。接什么源、看什么内容由使用者自行配置并自负其责;插件声明不带遥测。
核心功能¶
片源(核心)¶
- 内置 34 个常用采集接口:首次加载自动合并进源列表;手动删除的不会自动恢复,需要时可点「恢复内置源」。
- 管理多个 CMS V10 接口:单条添加/删除,或整份 JSON、TVBox 配置、
名称|地址分行导入,也支持从配置 URL 拉取。 - 源测速:并发测试并在列表中显示毫秒或「不通」。
- 在源内搜索片名或翻页;搜索词云记录最近关键词,点击可重放。
- 结果 → 选集弹窗(多线路、集数网格)→ 面板内播放:m3u8 走内置 hls.js,FLV 走 flv.js,mp4 直链经宿主媒体代理(支持拖动进度)。
- 播放历史与续播:约每 5 秒记录进度(源、线路、集数、秒数);历史页续播、单条删除;播完可自动下一集。
- 收藏:TMDB 条目与片源结果均可收藏,顶栏收藏面板直达。
TMDB 元数据(可选)¶
- 热门电影/剧集海报墙与评分;分类片库(类型 × 年份、下滑续拉)。
/search/multi搜索、详情弹窗、最近看过(最多 24 条);详情页可用自备片源起播。- 自然语言/场景搜索:如「回南天」「夜宵」等词会扩展到对应类型并合并结果。
- 打开插件默认落在「电影」标签;未配置 TMDB 密钥也可选择「先看片源」。
宿主代理架构¶
浏览器面板经同源请求访问 Host 代理,再由 node:https 访问上游:
浏览器面板 ──同源请求──> Host 代理 ──node:https──> 上游
| 路由 | 用途 |
|---|---|
/dsh-cinema/tmdb/... |
TMDB API,密钥经 x-tmdb-key / x-tmdb-token 请求头 |
/dsh-cinema/img |
TMDB 海报 |
/dsh-cinema/cms |
CMS V10 JSON(ac=detail&wd=...&pg=1) |
/dsh-cinema/pic |
片源海报(带 Referer) |
/dsh-cinema/media |
mp4/ts 直通,支持 Range |
/dsh-cinema/hls |
拉取 m3u8 并重写分片地址到本代理 |
/dsh-cinema/vendor/hls.min.js |
内置 hls.js(Apache-2.0) |
出网策略:TMDB 代理优先(DSH_CINEMA_PROXY → HTTPS_PROXY → http://127.0.0.1:7897),失败回退直连;片源 直连优先,失败回退代理。直连使用显式 https.Agent,避免宿主全局 agent 被代理整体接管。
安装与启用¶
插件以当前 DSH 进程权限运行;安装前建议在 GitHub 仓库 查看源码与 MIT 许可证(捆绑 hls.js 为 Apache-2.0)。目录页:SkillHub 插件页(社区目录,与 DeepSeek / 幻方无官方从属关系)。
从 npm(资料中的推荐方式)
在 DSH「插件 → 添加插件」中直接填写包名:
dsh-cinema
或在会话中使用插件管理器:
plugin_manager action=install_bundle target=dsh-cinema
开发态可从源码目录安装 bundle(改完即时生效),在会话中指定插件目录绝对路径,同样使用 plugin_manager action=install_bundle,不要手改 profile。具体 clone 路径见仓库 README,本文不展开。
典型用法¶
片源¶
- 左侧栏点胶片图标,面板默认在「片源」。
- 「管理源」:填写接口地址(形如
http://xxx.com/api.php/provide/vod),或粘贴{"sources":[{"name":"…","url":"…"}]}/ 选文件导入。 - 选择源 → 搜索或翻页 → 点海报 → 选集 → 播放。
TMDB(可选)¶
- 在 themoviedb.org/settings/api 申请免费 Developer Plan。
- 将 API Key (v3) 或 Read Access Token (v4) 填入面板;保存时实时校验(401 即密钥无效)。密钥存在浏览器
localStorage(键dsh-cinema:key),随请求头发给本机宿主;宿主不缓存、不写日志。 - 首次打开有分步引导;不配 TMDB 也可直接看片源。
适用场景与注意¶
适合谁:已在 DSH Desktop / Web 客户端日常工作的开发者或重度用户,希望把 CMS V10 源与 TMDB 元数据收拢到同一左侧栏面板,并依赖宿主代理处理跨域、防盗链与 m3u8 重写。
安全与边界(据 README):代理路由对 TMDB 路径与 CMS/媒体等 u 参数做白名单(仅 http(s) 绝对地址);插件不内置片源。不同源的反盗链差异大,不能播的源宜在仓库开 issue 并附接口与报错。
验证状态:维护者在 Windows + DSH Desktop 0.2.2-rc.1 下验证了多条代理路由(TMDB/CMS/海报/HLS/分片等);README 标明浏览器内完整渲染与交互、各 CDN 兼容性尚未全覆盖验证。
结尾¶
经过上面的步骤,dsh-cinema 把 TMDB 浏览与自备 CMS 播放链路接到 DSH 客户端侧栏,出网策略按 TMDB 与片源分开处理,适合需要「面板内完成选源到播放」的场景。进一步说明与 issue 见 GitHub:ObliviateOnline/dsh-cinema,汇总入口见 SkillHub 目录页。