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 仓库。