dsh-novel-reader
摸鱼小说阅读器:在 DSH Web 中悬浮轻量小说阅读面板,可拖动缩放、目录分页定位、书架与进度保存、章节预缓存;Host 抓取解析,Client 渲染面板
zhusheng-0807
@zhusheng-0807
⬇ 1
★ 2
main
安装
dsh plugin --profile web add github:zhusheng-0807/dsh-novel-reader
需要可复现安装时,可在仓库后追加 #commit 固定提交。
摸鱼小说阅读器:在 DSH Web 中悬浮轻量小说阅读面板,可拖动缩放、目录分页定位、书架与进度保存、章节预缓存;Host 抓取解析,Client 渲染面板
该插件未提供要点说明,请参考仓库 README。
deepseek-harnessdshdsh-pluginfictionnovel-reader
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/zhusheng-0807/dsh-novel-reader |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 1 |
| GitHub 星标 | 2 |
| 最近推送 | 2026-08-17 |
| 收录日期 | 2026-09-19 |
| 分类 | 趣味 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# 📖 dsh-novel-reader
> DSH Web 摸鱼小说阅读器 · 在 DeepSeek Harness Web 里悬浮一个轻量小说阅读面板,随时摸鱼。
[](https://www.npmjs.com/package/dsh-novel-reader)
[](LICENSE)
[](https://github.com/ZhuSheng-0807/dsh-novel-reader)
一个为 **DeepSeek Harness (DSH) Web** 打造的悬浮小说阅读器插件:点击右下角半透明白色 📖 按钮即可展开阅读面板,看小说不用切窗口,摸鱼利器。
## ✨ 功能特性
- 📌 **悬浮按钮**:半透明白色图标按钮,可随意拖动位置;点击展开,Esc 一键收起
- 🪟 **自由缩放面板**:拖动面板边缘/角落即可调整窗口大小,拖拽标题栏移动位置(位置与大小自动记忆)
- 📑 **分页目录**:每页 20 章,自动定位到当前阅读章节所在页,支持页码直接跳转
- 🔖 **书架**:收藏多本小说,随时继续阅读;「最近阅读」历史一键回到上次位置
- 💾 **阅读进度**:章节 + 行内滚动位置双重保存,重启 DSH 后自动续读
- ⚡ **章节预缓存**:自动预取上一章/下一章,翻页秒开
- 🔍 **搜索换书**:按书名搜索小说,一键加入书架开始阅读
- 🎨 **原生风格**:UI 使用 DSH 设计 token(`--dsw-alias-*`),随 DSH 明暗主题自动适配
- 🏗️ **纯 JS 无构建**:无需 TypeScript/打包步骤,改完即用
## 🚀 安装
### 方式一:npm
```bash
dsh plugin --profile web add dsh-novel-reader
```
### 方式二:GitHub 直装
```bash
dsh plugin --profile web add github:ZhuSheng-0807/dsh-novel-reader
```
### 方式三:本地开发调试
```powershell
cd \profiles\web
pnpm add file:D:\dsh-novel-reader
# 把 dsh-novel-reader 追加到 package.json 的 dsh.profile.bundles
# 重启 DSH-Web(client 半由 HMR 自动热更)
```
安装后重启 DSH(或刷新页面),右下角会出现半透明白色 📖 按钮。
## 📸 界面预览
_(待补充截图)_
## 🧱 架构
插件采用 DSH 标准的 **Dual-half** 结构,参照 `dshmarket` / `dsh-better-sidebar` 的写法:
```
dsh-novel-reader/
├── lib/index.js # Host 半:/novel/* 同源 JSON API(抓取 + 解析)
├── lib/types/index.d.ts # 类型声明
├── client/client.js # Client 半:window.__ModuleLoader__ bundle(纯 JS)
├── cordis.patch.yml # bundle 挂载补丁
├── package.json # dsh 元数据(bundle/client 声明)
└── README.md
```
### Host 半(`lib/index.js`)
在 DSH webserver 注册 `/novel/*` 路由,以桌面 UA 抓取目标站并解析 HTML
(浏览器跨域 fetch 会被目标站 CORS 拦截,所以抓取放在 Host 侧):
| 路由 | 说明 |
| --- | --- |
| `GET /novel/toc?book=&page=` | 分页目录 `{ book, author, page, pages, pageRanges, chapters[] }` |
| `GET /novel/chapter?url=...` | 章节正文 `{ title, content, prev, next }`(自动合并多页章节) |
| `GET /novel/search?q=...` | 按书名搜索 `{ results: [{ id, title, author, category }] }` |
### Client 半(`client/client.js`)
- 纯 JS `window.__ModuleLoader__.load({ id, factory })` bundle,**无需编译**
- 注册进 `shell.overlay` 槽位,用 `createPortal` 渲染到 `document.body`
(脱离 overlay 容器 z-index 限制,不被其他插件盖住)
- 样式全部使用 DSH 设计 token,明暗主题自适应
- 阅读进度 / 书架 / 历史 / 面板位置大小存于 localStorage
## 🛠️ 开发与发布
**开发**:本插件是纯 JavaScript,改完 `lib/` 或 `client/` 后同步到
`\profiles\web\node_modules\dsh-novel-reader\` 即可
(client 半由 DSH 的 client-hmr 自动热更新,host 半需重启后端)。
**发布到 npm**:
```bash
npm login
npm publish
```
**发布到插件市场**:在 [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin)
提交 PR,将本插件加入 `plugins.json` 即可被插件市场搜索到。
## ⚠️ 免责声明
- `/novel/*` 代理仅允许 `www.hongmengxsw.com` 及其子域(防 SSRF)
- 仅抓取免费公开小说网站的章节文本用于个人阅读,请尊重原作者版权,勿用于商业用途
- 阅读进度/书架数据仅存本机 localStorage,不上传任何服务器
## 📄 License
[MIT](LICENSE)
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。