前言¶
在 DeepSeek Harness(DSH)裏做智能體開發,主界面往往圍着對話與工具轉;想順手搜書、聽音、看圖或跟 RSS,通常要另開瀏覽器標籤或一堆獨立應用。源格式各不相同:閱讀 3.0 書源、洛雪自定義音源、venera 漫畫源還要自己找客戶端接進去。若希望這些能力留在同一套 DSH 界面裏,並且配置與進度落在本機、由你自己掌控,就需要一個以「頻道 + 本地狀態」組織的客戶端插件。下面介紹維護者 ahao430 發佈的 dsh-funhub(FunHub)。
這是什麼¶
dsh-funhub 是 DSH 的娛樂工作臺插件:在宿主內提供多頻道 UI(首頁 Dashboard、小說、漫畫、圖片、音樂、影視、小遊戲、RSS、收藏與設置),數據以本地優先方式保存在 $DSH_HOME/funhub/state.json(常見路徑爲 ~/.dsh/funhub/)。插件當前版本爲 1.0.0,許可證 MIT,要求 Node >= 20,DSH 版本 >= 0.2.1-rc.5 且 < 0.3.0。它在 npm 上的包名爲 dsh-funhub,屬於 DSH 社區目錄中的客戶端類插件;GitHub 倉庫爲 ahao430/dsh-funhub,另有介紹頁 https://ahao430.github.io/dsh-funhub/。
核心功能¶
功能按頻道劃分,第三方內容多依賴你自行導入的源腳本或自有服務,倉庫不內置書源、洛雪音源腳本與漫畫源。
首頁與全局能力¶
首頁爲多列響應式卡片 Dashboard,卡片可隱藏、調序、調尺寸,並支持亮暗兩套氛圍背景。音樂模塊提供全局四態播放器(音頻引擎與 UI 分離),可在瀏覽其他頻道時持續播放。
小說、漫畫與圖片¶
- 小說:書源搜索與發現、書架、歷史、閱讀器(字號、行距、四主題、進度保存、章末手動翻章);數據來自閱讀 3.0(Legado)書源及 Gutenberg 公版書。
- 漫畫:發現、搜索、章節目錄(正/倒序)、閱讀器、書架、收藏、歷史;使用 venera 格式漫畫源(ComicSource JS)。
- 圖片:瀑布流、搜索、全屏、收藏與歷史;支持 Picsum(免 Key)、Pexels、Unsplash(自配 Key)等共 13 個圖源。
音樂、影視與小遊戲¶
- 音樂:網易 / 酷我搜索、洛雪音源解析直鏈、公版庫、本地上傳;洛雪腳本與 Internet Archive 等作爲數據來源。
- 影視:連接用戶自有的 Emby 媒體庫,劇集按目錄歸組,電影與單集可在頁內播放器播放;
mkv/hevc等瀏覽器無法直接播放的格式由服務器轉碼爲 HLS(h264/aac),播放器支持全屏。 - 小遊戲:內置 2048、掃雷、數獨、俄羅斯方塊(含 DAS 連發)、翻翻樂、貪喫蛇、五子棋(禁手 + AI)、推箱子(30 關)等,配套 WebAudio 音效與靜音開關。
RSS、收藏與設置¶
RSS 支持訂閱管理、分類過濾、未讀、正文閱讀、文章收藏與熱門推薦,兼容 RSS 2.0 / Atom / RDF。收藏提供跨頻道統一入口。設置裏可管理各類源(導入、啓停、刪除、在線檢測清理、一鍵清空,操作均二次確認)、圖片源 Key、網絡代理、首頁佈局及數據導出清理。
安裝與啓用¶
推薦使用插件市場或 npm 直裝(包已發佈爲 dsh-funhub)。
- 在 DSH 的「插件」面板搜索 dsh-funhub 安裝;或
- 在 desktop profile 中手動添加依賴並註冊 bundle:
cd ~/.dsh/profiles/desktop
pnpm add dsh-funhub
# package.json 的 dsh.profile.bundles 數組加 "dsh-funhub"
pnpm install && 重啓 DeepSeek Harness
完成上述步驟後重啓 DSH,側欄應出現 FunHub 入口,宿主會註冊 /funhub 前綴相關路由。
典型用法:導入源與接 Emby¶
閱讀 3.0 書源¶
FunHub 不附帶書源 JSON。請自行準備 Legado / 閱讀 3.0 格式書源(數組或單對象,支持較大體積包),在設置中通過 URL 或本地文件導入。導入後可使用「檢測清理」在線剔除失效源。帶 <js> / @js: 或需登錄的書源會在導入時被標記爲不兼容並說明原因。
洛雪音源與 venera 漫畫源¶
- 洛雪:自行獲取洛雪自定義源
.js文件導入;腳本在node:vm隔離環境中運行,導入時會探測inited.sources所支持的平臺與音質檔位。 - 漫畫:支持單腳本 URL 或清單
index.json批量導入 veneraComicSource格式源,同樣走隔離運行時與受控網絡。
影視(Emby)¶
在 設置 → 影視源 填寫服務器地址,使用賬密或 API Key 登錄。mp4/h264 可 Range 拖動直連;其他格式走服務器 HLS 轉碼。Emby 的 API Key 僅保留在宿主側,經 publicState 剝離後不下發到瀏覽器。
數據落盤位置¶
書源、漫畫源、音源、Emby 憑據、圖片 Key、RSS 訂閱等均寫入本機 state.json,不進插件 git 倉庫。需要備份時可直接複製 ~/.dsh/funhub/ 下相關文件,或使用設置中的導出能力(以界面實際選項爲準)。
架構與安全(開發者向)¶
插件分爲 Node host 半片(cordis 插件:路由、state.json 持久化、書源引擎、洛雪 / venera 運行時、Emby 與 RSS 等)與瀏覽器 client 半片(esbuild 打包的 React UI、各頻道路由、HLS 播放器與內置遊戲)。出站請求統一經 fetcher:限制 http(s)、SSRF 與端口策略、超時與響應大小;第三方腳本無文件系統權限;RSS 等外部 HTML 經白名單清理後再渲染。
倉庫提供 npm test(node --test test/)覆蓋書源、RSS、洛雪、Emby 轉碼代理、遊戲與渲染冒煙等場景。
適用場景與注意¶
適合:已在用 DSH desktop profile、希望在一個 Web 客戶端裏統一管理多渠道娛樂內容,並願意自行維護書源 / 音源 / 漫畫源或自備 Emby 的用戶。
注意:
- 插件在 當前 DSH 進程權限 下運行,出站抓取與第三方腳本執行均受宿主策略約束;安裝前請閱讀 MIT 許可證 與源碼中的
fetcher、沙箱相關實現。 - 社區目錄 SkillHub 上的 dsh-funhub 與 GitHub 爲生態信息來源,與 DeepSeek / 幻方無官方從屬關係;DSH 本身遵循「一切皆插件」的擴展方式。
- 不要期望倉庫內置敏感源或賬號;影視、付費圖庫 Key、代理等均由你在本機配置。
結尾¶
dsh-funhub 把小說、漫畫、圖片、音樂、Emby 影視、小遊戲與 RSS 收成同一套本地優先工作臺,並把閱讀 3.0、洛雪、venera 等社區源格式接到 DSH 宿主的安全抓取與隔離運行鏈路上。若要查看分類與簡介,可打開 SkillHub 目錄頁;安裝與細節以 GitHub README 爲準。