前言¶
在 DSH 的插件生態中,處理辦公文檔(docx、xlsx、pptx 等)和掃描件 OCR 是常見需求。舊方案往往依賴第三方庫,容易導致進程崩潰或引入風險。dsh-wen 是一個零第三方依賴(僅使用 Node.js 內置模塊)的 Office 全家桶插件。它爲 DSH 增加了 4 個全局工具,支持讀寫改轉多種格式,並內置中文 PDF 亂碼自愈與離線 OCR 能力。其核心設計目標是“裝上不讓 DSH 崩”。
核心功能¶
插件註冊了 4 個全局工具,工具名沿用舊有的 office_read / office_create / office_edit / office_convert。安裝後,這些工具無需手動啓用或配置路徑,即可在所有 profile 的所有新會話中直接調用。
- office_read:讀取辦公文檔,輸出爲 Markdown、純文本、JSON 或元數據。支持指定工作表、頁碼範圍、批量盤點等。
- office_create:按擴展名創建文件,內容來源可爲 Markdown、表格、工作簿等。
- office_edit:在 zip/XML 級別原地修改已有文件,支持文本替換、插入圖片、增刪工作表/幻燈片等。
- office_convert:讀取 source,按統一內容模型寫出 target,實現格式互轉。
支持的格式包括 docx、xlsx、pptx、pdf、odf、csv、html 以及 legacy OLE2 格式(如 .doc/.xls/.ppt)。
安裝與啓用¶
通過 DSH 的包管理器安裝:
dsh plugin --profile web add github:17897693/dsh-wen
安裝後,插件會掛載至 ${DSH_HOME}/plugins/dsh-wen/,並通過 cordis.patch.yml 自動生效。檢查配置是否生效可運行:
dsh --profile web --dump-config
典型用法¶
讀取文檔¶
讀取 Word 文檔並轉換爲 Markdown:
office_read path="D:\報告.docx"
讀取 Excel 的指定工作表:
office_read path="D:\臺賬.xlsx" sheet="明細"
讀取 PDF 的前 5 頁:
office_read path="D:\講義.pdf" pages="1-5"
創建文件¶
創建一個新的 Word 文檔:
office_create path="D:\彙總.docx" markdown="# 標題\n- 要點\n\n| A | B |\n| --- | --- |\n| 1 | 2 |"
編輯與轉換¶
原地替換文檔中的文本:
office_edit path="D:\報告.docx" operations=[{op:"replace_text",find:"舊",replace:"新"}]
將 Excel 轉換爲 CSV:
office_convert source="D:\臺賬.xlsx" target="D:\臺賬.csv"
掃描件 OCR¶
對掃描件 PDF 進行自動識別:
office_read path="D:\掃描件.pdf"
平臺與能力說明¶
- Windows x64:擁有完整能力,包含內嵌的 RapidOCR 引擎(用於掃描件離線 OCR)與基於 WinRT 的高質量 PDF 渲染。
- 其他平臺:OCR 與高質量 PDF 渲染功能會自動降級爲純 JavaScript 能力,但仍支持基本的讀寫與轉換。
注意事項¶
- 插件僅使用 Node.js 內置模塊,不引入任何第三方依賴,旨在確保安裝後不會導致 DSH 進程崩潰。
- 詳細的技術文檔和更新日誌位於倉庫的 SKILL.md、CHANGELOG.md 和 DEVELOPMENT.md。
總結¶
dsh-wen 提供了一套穩定、零依賴的 Office 文檔處理方案。對於需要處理 PDF 亂碼或掃描件 OCR 的場景,該插件提供了本地化、離線的解決方案。完整參數說明與已知邊界請參考其 GitHub 倉庫。