dsh-cinema:在 DSH 左側欄接入 TMDB 海報牆與 CMS 片源播放

前言

在 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,本文不展開。

典型用法

片源

  1. 左側欄點膠片圖標,面板默認在「片源」。
  2. 「管理源」:填寫接口地址(形如 http://xxx.com/api.php/provide/vod),或粘貼 {"sources":[{"name":"…","url":"…"}]} / 選文件導入。
  3. 選擇源 → 搜索或翻頁 → 點海報 → 選集 → 播放。

TMDB(可選)

  1. 在 themoviedb.org/settings/api 申請免費 Developer Plan。
  2. 將 API Key (v3) 或 Read Access Token (v4) 填入面板;保存時實時校驗(401 即密鑰無效)。密鑰存在瀏覽器 localStorage(鍵 dsh-cinema:key),隨請求頭髮給本機宿主;宿主不緩存、不寫日誌。
  3. 首次打開有分步引導;不配 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 目錄頁。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜