dsh-office-preview:在 DSH 側邊欄本地預覽 Word 與 Excel

前言

DeepSeek Harness(DSH)右側欄文檔面板默認可預覽常見文本類文件。工作區裏若打開 .docx 或 .xlsx,會落到純文本渲染器,界面提示「非文本文件,暫時無法預覽」。要對照文檔內容寫提示詞或覈對表格,只能切到系統裏的 Office/WPS,或另開瀏覽器上傳——與「在 Harness 裏完成上下文工作」的路徑不一致。

dsh-office-preview 是維護者 JohnGD 發佈的客戶端類插件:在瀏覽器內解析 OOXML,只讀展示 Word 與 Excel,不安裝 Office、不訪問外部服務。下面介紹它的能力邊界、安裝方式與使用時的注意點。

這是什麼

dsh-office-preview 面向 DeepSeek Harness 右側欄文檔面板,接管 Word(.docx 等)與 Excel(.xlsx 等)的預覽渲染。

未安裝本插件時,上述 Office Open XML 文件仍走官方純文本回退;安裝並在 Harness 中啓用後,在側邊欄點開對應文件即可看到結構化預覽。

核心功能

支持的擴展名與渲染內容

擴展名 渲染內容
.docx .docm .dotx .dotm 標題層級;段落(縮進與項目符號);加粗 / 斜體 / 下劃線;表格(含嵌套表格)
.xlsx .xlsm .xltx .xltm 工作表分頁籤;行列號表頭;合併單元格;列寬;數字與日期格式;公式的緩存值

舊二進制格式(.doc、.xls)不由本插件聲明,仍使用純文本回退;.pptx 目前不在範圍內。

實現要點(客戶端、零外部依賴)

插件在官方擴展點 ctx.documentPreviews 與插槽 sidebar.right.tab.document 上註冊兩個渲染器,不 patch Harness 源碼,不調用外部服務;除 react 外無額外運行時依賴。

OOXML 在瀏覽器內處理:lib/client.js 內置 ZIP 中央目錄讀取(通過 DecompressionStream 解 raw-DEFLATE)與小型 XML 讀取器,未引入 JSZip、SheetJS 或 mammoth。lib/index.js 僅用於讓 Cordis loader 加載客戶端入口,可見邏輯均在客戶端半。

Harness 兼容性在 package.json 中聲明爲 dsh >= 0.1.1-rc.2,並列出若干已標註 compatible 的發行版本;運行環境要求 Node >= 20。

安裝與啓用

插件以當前 DSH 進程權限運行;安裝前建議閱讀倉庫源碼與 MIT 許可證,確認符合你的安全策略。

從插件市場安裝(推薦)

在 Harness 中:設置 → 插件市場 → 發現,搜索 dsh-office-preview,安裝後按提示重啓 Harness。

用預構建包安裝(不用市場、不用 npm)

本包未發佈到 npm;官方 README 給出的命令如下:

dsh plugin --profile web add https://github.com/JohnGD/dsh-office-preview/releases/latest/download/dsh-office-preview.tgz

離線手動安裝

Windows 使用 install.ps1,macOS 與 Linux 使用 install.sh。以 Windows 爲例:

powershell -ExecutionPolicy Bypass -File install.ps1

腳本會做三件事:

  1. 將包複製到 <home>\plugins\dsh-office-preview;
  2. 建立 <home>\profiles\node_modules\dsh-office-preview 聯結指向該目錄(Cordis loader 解析插件條目名的回退根);
  3. 在 profile 補丁層 <home>\profiles\web\cordis.patch.yml 追加一條 insert 行,修改前自動備份。

補丁層啓用 patchReload: live 監聽,通常刷新頁面(Ctrl+R)即可生效;若無變化,重啓 DSH Desktop。

兩種安裝形態不要同時啓用:profile 依賴(dsh plugin add 或 link:)與 install.ps1 / install.sh 路徑若重複掛載同一插件 id,會衝突。

安裝後可在 Harness → 設置 → 插件清單 看到 dsh-office-preview 與內置插件並列。僅當作爲 profile 依賴安裝時,插件市場 → 已安裝 纔會列出,並標記爲「本地開發」。

典型用法

無需單獨命令行「打開預覽」:在 DSH 工作區選中或打開已支持的文件,右側欄文檔面板會自動走本插件註冊的渲染器。

維護者在倉庫提供自檢腳本(需 Node >= 20),可在克隆或下載源碼後於插件目錄執行,驗證解析、渲染與客戶端註冊契約(README 示例路徑面向 Windows DSH Desktop 自帶的 node):

$node = "$env:APPDATA\dsh-desktop\harness\.desktop-bin\node.cmd"
& $node test\parse.mjs  samples\sample.xlsx samples\sample.docx
& $node test\render.mjs samples\sample.xlsx samples\sample.docx
& $node test\plugin.mjs

成功時各腳本輸出 ALL CHECKS PASSED;samples/ 內含示例工作簿與文檔,不依賴外部文件。

適用場景與限制

適合:在 Harness 內只讀查看 .docx / .xlsx 正文與表格結構;離線或不便安裝 Office 的環境;希望預覽數據不出本機、不經第三方 SaaS 的場景。

邊界與限制(來自官方 README):

  • 只讀:預覽不會寫回文檔。
  • 圖片、批註、修訂痕跡、圖表、宏不渲染;相關文字內容仍會顯示。
  • 單文件讀取上限受 Harness workspaceFiles.readAll 約束,默認 32 MiB。
  • 大表格最多渲染 4000 行 × 160 列,超出部分會提示。

卸載:若用 install.ps1 安裝,可執行 uninstall.ps1(加 -RemoveFiles 可刪除已複製文件);若作爲 profile 依賴安裝,在 市場 → 已安裝 → 卸載 移除。

結尾

dsh-office-preview 把 Word / Excel 的 OOXML 預覽收進 DSH 右側欄文檔面板:瀏覽器內解析、無 Office、無聯網,與 DSH「一切皆插件」的擴展方式一致。需要能力細節或自行審計實現時,以 GitHub 倉庫 README 爲準。

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

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

小夜