前言¶
在 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 为准。