DeepSeek Harness (DSH) 插件體系允許通過擴展來增強 AI 助手的能力。在文檔處理場景中,讀取 PDF 是常見需求,但通常面臨文件大小限制(如 64KB)以及對掃描件或圖片頁無法直接讀取的問題。dsh-pdf 插件通過 pdfjs-dist 提取完整 Unicode 文本層,並對掃描件/圖片頁自動 OCR,解決了這些痛點。
插件介紹¶
該插件由 henryxiao709 維護,旨在讓 AI 助手讀取任意大小的 PDF 文件。它通過 pdfjs-dist 提取完整的 Unicode 文本層,支持中文、英文及其他腳本;同時針對掃描件或圖片頁,提供自動 OCR 回退機制。插件採用 MIT 許可證。
核心能力¶
- 分頁讀取:支持通過
pages參數指定讀取範圍,如"1-3"、"2"、"1,3-5"或"all"。 - 無文件大小限制:默認單文件上限爲 200MB,突破了常見的 64KB 限制。
- 完整 Unicode 文本層:利用 pdfjs-dist 提取文本,支持多語言。
- 自動 OCR 回退:在
auto模式下,頁面文字層字符數少於閾值時,會自動進行 OCR 處理。 - 模式控制:提供
text(僅文本層,速度快)、ocr(強制 OCR)、auto(自動判斷)三種模式。 - OCR 引擎選擇:支持 Windows WinRT OCR(零安裝,需特定語言包)或 tesseract.js。
安裝與啓用¶
安裝過程需要操作文件系統和 Node.js 環境。執行以下命令完成克隆和依賴安裝,隨後通過命令注入到運行中的 DSH 實例中。
- 克隆倉庫:
git clone https://github.com/henryxiao709/dsh-pdf.git
cd dsh-pdf
- 安裝依賴:
npm install --ignore-scripts
- 注入運行實例:在 DSH 的 Agent 中執行以下命令,將本地路徑注入:
dev_install_package <絕對路徑到 dsh-pdf>
或者,將插件添加到 `dsh.profile.bundles` 中,使其隨 DSH 啓動時自動加載。
使用方法¶
插件註冊了 read_pdf 工具,支持通過參數控制讀取範圍和模式。
工具簽名:
read_pdf file_path=... [pages="1-3"] [mode=auto|text|ocr] [ocrEngine=auto|windows|tesseract] [maxCharsPerPage=20000]
返回示例:
{
"path": ".../test.pdf",
"totalPages": 7,
"mode": "auto",
"pages": [
{ "number": 1, "text": "test… [OCR] test…", "source": "mixed", "chars": 163 },
{ "number": 2, "text": "1 test)…", "source": "text", "chars": 876 }
],
"engines": ["windows: ok", "tesseract: unavailable (no traineddata)"],
"warnings": []
}
每頁返回 source 字段,標識數據來源:text(僅文本層)、ocr(僅 OCR)或 mixed(混合)。
系統要求與注意事項¶
- 運行環境:需要運行中的 DeepSeek Harness 實例和 Node.js >= 20。
- Windows OCR 限制:若使用 Windows OCR 引擎,系統需安裝
zh-Hans-CN和en-US語言包。 - 依賴鎖定:依賴的
@deepseek-ai/*版本已鎖定,無需手動鏈接。 - 配置調整:通過 Settings → Plugins → dsh-pdf 可實時調整配置項(如
maxFileBytes、maxCharsPerPage等)。 - 許可證:MIT 許可證。
dsh-pdf 解決了 DSH 生態中 PDF 讀取的文件大小限制和掃描件識別問題,適合需要在本地處理大量文檔或非文本 PDF 的開發者。更多細節可參考 GitHub 倉庫。