dsh-float-reader:在 DSH Web UI 上疊一層 TXT/EPUB 浮窗閱讀器

前言

在 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 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜