前言¶
在 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 目錄頁。