dsh-funhub
DeepSeek Harness 娱乐工作台插件:小说 / 漫画 / 图片 / 音乐 / 小游戏 / RSS,多列卡片首页 + 全局音乐播放器,本地优先存储。
一句话定位
DeepSeek Harness 娱乐工作台插件:小说 / 漫画 / 图片 / 音乐 / 小游戏 / RSS,多列卡片首页 + 全局音乐播放器,本地优先存储。
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add 'git+https://github.com/ahao430/dsh-funhub.git#552d4de3b5aee5cd01f3f171e39484105854e43e'
兼容的 DSH 版本
>=0.2.1-rc.5 <0.3.0
作者与热度
ahao430 · ★ 3 · 更新于 2026-11-09
关于这个插件
FunHub — DSH 娱乐工作台插件
DeepSeek Harness(DSH)插件:把小说 / 漫画 / 图片 / 音乐 / 影视 / 小游戏 / RSS 整合进一个本地优先的娱乐工作台。
> 🏠 在线介绍页:https://ahao430.github.io/dsh-funhub/ (源码在 docs/index.html,GitHub Pages 从 main / docs 发布)
功能总览
| 板块 | 能力 | 数据来源 |
|---|---|---|
| 首页 | 多列响应式卡片 Dashboard,卡片可隐藏 / 调序 / 调尺寸;亮暗两套氛围背景 | 本地状态 |
| 小说 | 书源搜索、发现(左列源列表随手删)、书架、历史、阅读器(字号 / 行距 / 四主题 / 进度保存)、章末手动翻章 | 阅读3.0 书源(Legado)+ Gutenberg 公版书 |
| 漫画 | 发现(左列源列表 + 失效源自动滑)、搜索、章节目录(正/倒序)、阅读器、书架、收藏、历史 | venera 格式漫画源(ComicSource JS) |
| 图片 | 瀑布流、搜索、全屏浏览、收藏、浏览历史 | Picsum(免 Key)/ Pexels / Unsplash(自配 Key)等 13 源 |
| 音乐 | 网易 / 酷我搜索、洛雪音源解析直链、公版库、本地上传、全局四态播放器 | LX Music 自定义源脚本 + Internet Archive |
| 影视 | Emby 媒体库浏览:剧集按目录归组(单集列表)、电影直连播放、mkv/hevc 自动服务器转码 HLS、页内播放器可全屏 | 用户自己的 Emby 服务器 |
| 小游戏 | 2048 / 扫雷 / 数独 / 俄罗斯方块(DAS 连发)/ 翻翻乐 / 贪吃蛇 / 五子棋(禁手+AI)/ 推箱子(30 关),全套 WebAudio 音效 + 静音开关,AI 绘制贴纸素材 | 内置自研 |
| RSS | 订阅(左列管理)、分类过滤、未读、正文阅读、文章收藏、热门推荐 | 任意 RSS 2.0 / Atom / RDF |
| 收藏 | 跨频道统一收藏入口 | 本地 |
| 设置 | 源管理(导入 / 启停 / 删除 / 在线检测清理 / 一键清空,全部二次确认)、图片源 Key、网络代理、首页布局、数据导出清理 | 本地 |
安装
方式一:插件市场 / npm 直装(推荐)
FunHub 已发布到 npm(dsh-funhub)。在 DSH 的「插件」面板搜索 dsh-funhub 安装;或手动加进 desktop profile:
cd ~/.dsh/profiles/desktop pnpm add dsh-funhub # package.json 的 dsh.profile.bundles 数组加 "dsh-funhub" pnpm install && 重启 DeepSeek Harness
方式二:从源码安装(开发者)
git clone https://github.com/ahao430/dsh-funhub.git
cd dsh-funhub && npm install && npm run build
# 在 ~/.dsh/profiles/desktop/package.json 加入
# "dependencies": { "dsh-funhub": "link:/绝对路径/dsh-funhub" }
# "dsh": { "profile": { "bundles": [ …, "dsh-funhub" ] } }
cd ~/.dsh/profiles/desktop && pnpm install
# 重启 DeepSeek Harness
数据与隐私
- 所有源的配置只存在你本机:书源 / 漫画源 / 音源 / Emby 账密 / 图片 Key / RSS 订阅全部落在
$DSH_HOME/funhub/state.json(通常~/.dsh/funhub/),不在本仓库、不进 git .gitignore防御性排除:state.json、.local.json/js、.env、scripts/feeds.local.js(个人 RSS 清单模板)——即使误拷进仓库目录也不会被提交- Emby 的 API Key 只留在宿主侧,浏览器端拿不到(
publicState剥离后下发) - 第三方源脚本(音源 / 漫画源)在子进程沙箱运行,仅可公网访问,无文件系统权限
三类第三方源格式
阅读3.0 书源(Legado)
- 支持声明式子集:JSONPath(
$.data[*])、HTML 链(class.x@tag.a@href)、XPath 子集(og:meta)、{{key}}/{{page}}/{{$.f}}模板、##正则##替换##、||/&&、POST + 自定义头 - 带 `
/@js:` / 登录要求的书源在导入时被标记「不兼容」并给出原因 - FunHub 不内置书源:请自行获取阅读3.0 / Legado 格式的书源 JSON(数组或单对象,支持几十 MB 大包),以 URL 或本地文件导入;导入后可「检测清理」在线剔除 404/失效源
洛雪音源(LX Music 自定义源)
node:vm隔离运行:无 require/process/fs,lx.request全部经宿主安全抓取通道- 导入时探测
inited.sources能力(平台 / 音质档位),显示实际支持项 - FunHub 不内置音源脚本:请自行获取洛雪自定义源 .js 文件导入
venera 漫画源
- 兼容 venera
ComicSource格式脚本:Network / fetch / Convert / HtmlDocument / ComicSource 基类完整垫片 - 同样走 node:vm 隔离 + 受控网络;按源隔离 data/settings 存储空间
- FunHub 不内置漫画源:支持单脚本 URL 或清单 index.json 批量导入
Emby 影视
- 设置 → 影视源 填服务器地址账密登录(或 API Key 方式)
- mp4/h264 直连播放(Range 拖动);mkv/hevc 等浏览器放不了的格式自动走服务器转码 HLS(h264/aac)
- 剧集按目录归组展示,点单集直接在页内播放器开播,可全屏
架构
dsh-funhub/ ├── src/host/ # Node 半片(cordis 插件) │ ├── index.js # apply(): 注册 /funhub 前缀路由 │ ├── api.js # HTTP 路由(读端点 + /op 写入口 + 代理 + 后台检测任务) │ ├── store.js # $DSH_HOME/funhub/state.json 持久化(mtime 重读 + 串行写) │ ├── ops.js # 全部写操作(单一入口) │ ├── fetcher.js # 安全抓取器(URL 校验 / SSRF / 端口黑名单 / 超时 / 大小上限 / 代理熔断) │ ├── legado.js # 阅读3.0 书源规则引擎 │ ├── lx-runtime.js # 洛雪音源 vm 隔离运行时 │ ├── venera-runtime.js# venera 漫画源 vm 隔离运行时 │ ├── music-search.js # 网易 / 酷我搜索通道
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| dsh-pet | PC2005-cloud | 6K | 0.0.0 | 2026-11-09 |
| dsh-tavern | flizzywine | 1.6K | 3.1.3 | 2026-11-10 |
| dsh-meme | yyh-001 | 550 | 0.1.80 | 2026-11-09 |
| dsh-game-studio | ZSeven-W | 458 | 0.1.0-rc.5 | 2026-11-09 |
| whale-girl | vlln | 407 | 0.2.4 | 2026-10-30 |