前言¶
在 DeepSeek Harness(DSH)里和智能体对练时,常需要对照一本参考书、规范或长篇笔记。把阅读器和对话页并排开,窗口容易被聊天流挤占;单纯把电子书放到浏览器另一个标签,又要在输入框和文档之间来回切焦点。社区插件 dsh-float-reader(维护者 tianluyao328)针对的是另一类需求:在 Web UI 对话区域上方 挂一个可拖动、可缩放的阅读窗,支持 TXT / EPUB,不替换 DSH 自带界面,只占用 shell.overlay 与 sidebar.footer.action 两个插件槽位。
下面按定位、能力、安装与操作说明该插件;事实均来自其 GitHub README 与 package.json(当前版本 2.1.1,许可证 MIT)。
这是什么¶
dsh-float-reader 是面向 DeepSeek Harness Web UI 的客户端插件:浮在对话窗口上方的透明(或接近透明)阅读窗,可读 TXT / EPUB,展示标题层级、加粗与正文图片,支持拖动、缩放,以及点击窗外收成横条。目录分类为「客户端」;在 SkillHub 插件目录 可查到同一条目(社区站点,与 DeepSeek / 幻方无官方从属关系)。
插件以当前 DSH 进程权限在浏览器侧运行;安装前建议自行审阅 仓库源码 与许可证。
核心功能¶
书籍格式与解析¶
- TXT / EPUB:自实现 zip 解压(
DecompressionStream('deflate-raw')),无第三方依赖;只取正文,目录页与空白页自动跳过。 - 章节:优先使用
nav.xhtml/toc.ncx中的章节名,否则回退到<h1>。 - 进度:按「第几章 + 章内比例」记忆;改字号、缩放或收起再展开后不丢进度。
富文本与图片¶
- 支持标题层级、加粗、斜体、下划线、列表、引用、分隔线、表格、
<pre>;内联样式仅保留字重、斜体、下划线、字号、对齐五项。 - 正文图片自适应宽度、限高 180px;点击全屏放大,再点或按 Esc 关闭。
窗口交互与幽灵模式¶
- 拖标题栏移动;拖右下角缩放(最小约 240×170)。
- 点窗口外任意处收成约 30px 横条,位置不变;单击横条展开。
- 连续按两次 Esc 直接隐藏窗口。
- 幽灵模式:顶栏、底栏、进度线、滚动条不渲染,仅保留正文与右上角约 20px 开关(同时可作拖拽手柄)。
主题¶
跟随 DSH 的 --dsw-alias-* design token,明暗主题自动切换;文字带轻微阴影,叠在代码块上仍可读。
安装与启用¶
要求 DSH >= 0.2.0-rc.1(package.json 中 engines.dsh 为 >=0.2.0-rc.1 <0.3.0-0;Node >= 20 用于本地开发测试)。
官方 README 给出的安装步骤如下:
git clone https://github.com/tianluyao328/dsh-float-reader.git
dsh plugin --profile <你的 profile> add ./dsh-float-reader
装好后刷新页面。入口在侧边栏底部、设置按钮上方的小书图标;首次安装会自动弹出阅读窗一次。
典型用法¶
| 操作 | 效果 |
|---|---|
| 拖顶部窄条 | 移动窗口(幽灵模式下拖右上角小按钮) |
| 拖右下角 | 缩放 |
| 点窗口外任意处 | 收成横条 |
| 单击横条 | 展开 |
| 连按两次 Esc | 隐藏 |
拖 .txt / .epub 到窗口 |
打开该书 |
| 底部工具栏 | 换书、章节跳转、字号 ±、点击穿透锁 |
| 点击正文图片 | 全屏查看 |
把本地电子书拖到浮窗即可开始读;边读边在下方 composer 里继续对话。插件 不修改 DSH 输入框高度(composer 为宿主组件,配置里仅有 busyEnter,无改尺寸接口)。
适用场景与已知边界¶
适合谁:需要在 Harness 对话页内对照长文、技术书或 EPUB 资料、又不想离开当前 Web UI 的开发者与用户。
需注意:
- 不改 composer 尺寸:阅读窗叠在对话区上方,输入框布局仍由 DSH 核心控制。
- 不还原 EPUB 原有排版:不加载书中 CSS / 字体,只保留结构语义,避免与 DSH 主题冲突。
- DRM:
META-INF/encryption.xml中加密了正文的书无法打开;仅加密字体的书可正常使用。 - 图片:通过 blob URL 常驻内存,切换书籍时会释放。
开发侧可将 client.js 中 book-core 数据层在 Node 中做解析校验,例如:
node test/epub-check.mjs ~/Downloads
结尾¶
dsh-float-reader 在 DSH Web UI 上增加一层可收起、可隐身的 TXT/EPUB 浮窗,与对话并行而不替换原生界面。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。