dsh-reader:在 DSH Web 右側欄閱讀工作區內的書籍

前言

在 DeepSeek Harness(DSH)裏寫智能體、改工作區時,參考資料往往就放在當前項目目錄:EPUB、Markdown、TXT 或導出的 HTML。若每次用系統默認應用或另開瀏覽器標籤打開,既要離開 Web GUI,又難以和會話並排對照。dsh-reader 是 DSH 生態裏的一類客戶端插件:在 dsh 的 Web 界面右側欄註冊 reader 標籤,點開即在同一頁面內瀏覽已註冊工作區中的讀物,並記住上次閱讀位置。下文介紹其定位、能力、安裝方式與使用時的邊界。

這是什麼

dsh-reader 由維護者 guiyuan77 發佈,屬於 DSH 插件目錄中的客戶端分類。一句話定位:DeepSeek Harness 的右側欄閱讀器——文件取自 dsh 自己註冊的工作區,在面板內渲染 EPUB、TXT、Markdown、HTML;PDF 交由瀏覽器原生查看器。按 README 說明,插件零運行時依賴、不寫工作區文件、自身不請求任何非本機服務。

核心功能

下面按 README 功能表歸納已覈實能力。

發現與打開

  1. 書架:遞歸掃描工作區找書(深度 ≤ 5,自動跳過 node_modules、dist、.git 等);EPUB、PDF 優先排序。
  2. 目錄瀏覽:逐層展開工作區,點開任意文件即讀。

格式支持

格式 行爲
EPUB 自寫 ZIP 解析(中央目錄 + DecompressionStream),讀 OPF 與 spine 分章,插圖正常顯示;書內 <style> / <script> / 事件屬性一律剝掉
TXT UTF-8 嚴格解碼失敗時回退 GB18030,保留原始換行
Markdown 標題、列表、代碼塊、行內碼、粗體、引用
HTML DOMParser 解析後剝掉腳本、樣式與事件屬性,按當前主題排版
PDF 瀏覽器原生查看器,非面板內自繪

閱讀體驗

  • 續讀:按「工作區 + 書籍路徑」記住章節與滾動位置;切書、收起面板、刷新頁面都會先落盤(進度存在瀏覽器 localStorage)。
  • 主題:跟隨 dsh / 紙白 / 護眼 / 夜間(默認跟隨);深色下書裏寫死的黑字自動回落爲主題色。
  • 老闆鍵:面板內按 Esc 收起整個右側欄,會話區不受影響;再展開時標籤、章節、滾動位置保留。

快捷鍵

鍵 作用
Esc 收起右側欄(目錄抽屜或設置浮層打開時先關它們)
← → EPUB 翻章;TXT / Markdown 滾動一屏
j k 上下滾動

配置項

在 profile 的插件條目裏給 config,不填則用默認值:

字段 默認 說明
roots [] 額外允許的閱讀根目錄(絕對路徑);不填則只認 dsh 已註冊的工作區
maxBytes 134217728 單文件上限(128 MiB),超過返回 413

安裝與啓用

插件尚未發佈到 npm,需用 GitHub 形式安裝。需要 dsh 0.2.x(package.json 中 engines.dsh 爲 >=0.2.0-rc.1 <0.3.0-0 等區間)。當前插件版本爲 0.1.0。

先做安裝,再重啓 Web 服務:

dsh plugin --profile web add github:guiyuan77/dsh-reader

plugin add 會改寫 profile 的 package.json 與 node_modules;跑着的會話 UI 會斷開,會話記錄不丟。裝完後必須重啓 dsh web 才生效。插件自帶 cordis.patch.yml(dsh.bundle.patch),安裝時由 bundle 層自動插入條目,不需要手工編輯 profile。插件沒有構建步驟,從源碼安裝即可用。

典型用法

經過上面的安裝與重啓後:

  1. 點右側欄的 +。
  2. 在引導頁選擇「閱讀器」卡片。
  3. 若上次會話仍保留該標籤,會直接恢復。

在書架或目錄樹中選書即可閱讀;EPUB 可用左右方向鍵分章,長文可用 j / k 滾動。需要快速收起界面時,在面板內按 Esc。

數據邊界與已知限制

安全與權限

插件以當前 dsh 進程權限運行;安裝前宜自行查看 GitHub 源碼 與 MIT 許可證。

  • 只讀:不寫、不刪、不改工作區裏的任何文件。
  • 路徑:只能讀到 dsh 已註冊的工作區,以及 roots 裏顯式授權的目錄;越界或未註冊爲 403。
  • 網絡:插件自身只訪問本機 /reader/api/*,不上傳書籍內容。
  • 內容淨化:腳本、表單、內嵌框架、書外樣式表均被剝除;EPUB 插圖只從包內解析。正文裏寫死的外鏈圖片仍會由瀏覽器按普通網頁規則加載——與直接在瀏覽器打開該文件相同。

功能邊界

README 列出的限制包括:不做標註、書籤、全文搜索;EPUB 不支持 ZIP64、不渲染書內 CSS;PDF 下焦點進入原生查看器後 Esc 可能不冒泡到面板;不做章節級分頁;不做網絡隔離(敏感書籍請選無外鏈版本)。

結尾

dsh-reader 把「工作區裏的書」收進 DSH Web 右側欄,適合需要在寫 Harness、對照文檔時少切窗口的開發者。生態上 DSH 奉行「一切皆插件」;社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。源碼與詳細說明見 github.com/guiyuan77/dsh-reader。

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

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

小夜