← 返回列表
未验证
@zhtx2026/dsh-pdf
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/20 · 已提供中文文档
DeepSeek Harness 的 PDF 解析工具包:pdf_info、pdf_extract_text、pdf_render_page,采用 pdfjs/内置引擎混合方案,并针对非嵌入 CJK PDF 提供系统字体渲染。
综合分
28.5
GitHub 分
28.5
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zhtx2024/dsh-pdf该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
@zhtx2026/dsh-pdf
DeepSeek Harness 的 PDF 解析工具集 — 提供 pdf_info / pdf_extract_text / pdf_render_page 三个模型可见工具,双引擎架构,未内嵌中文字体的 PDF(如嘉立创 EDA / EasyEDA 导出的原理图)自动切换系统字体渲染。
安装
dsh plugin --profile web add @zhtx2026/dsh-pdf
开发期可从本地源码安装:
dsh plugin --profile web add link:
重启 DSH(或开新会话)后生效,同时注入中文协作公告。
工具
| 工具 | 能力 |
|---|---|
| pdf_info | 页数、页面尺寸(pt)、文档元数据、字体列表及每项 embedded 内嵌标记。 |
| pdf_extract_text | 按页提取文字;可选 page 与 withPosition(每行 x/y 坐标 + 字号)。 |
| pdf_render_page | 把一页渲染为本地 PNG;scale/outDir 可配;渲染引擎自动选择。 |
为什么需要自研渲染器
pdfjs-dist 无法渲染「字体未内嵌且无 ToUnicode 映射」的 PDF 文字 —— 典型就是
嘉立创 EDA / EasyEDA 导出的原理图(SimSun/SimHei Type0 字体、
UniGB-UCS2-H 编码):pdfjs 会报 translateFont failed 并丢字。
dsh-pdf 用双引擎解决:
- pdfjs 引擎 — 字体全部内嵌时使用(常规 PDF)。
- sysfont 引擎 — 自研内容流渲染器:自己解析文本算子
(BT/ET、Tf、Tm、Td、Tj、TJ),把 UniGB-UCS2-H/UTF-16BE
串解码为 Unicode,再经 @napi-rs/canvas 用系统字体(宋体、黑体、
微软雅黑……)绘制。
文字提取同样自动选择:字体全内嵌 → pdfjs 文本层;存在未内嵌字体 →
自研解码器(正确还原 pdfjs 会丢失的中文)。
示例
pdf_info("D:/Downloads/SCH_SA-V11A.pdf")
→ 3 页、A3 横向、jsPDF 生成、6 个字体(全部未内嵌)
pdf_extract_text("D:/Downloads/SCH_SA-V11A.pdf", { page: 1 })
→ 网络名、引脚号、中文标签("主控板"、"嘉立创"……)
pdf_render_page("D:/Downloads/SCH_SA-V11A.pdf", { page: 1, scale: 2 })
→ D:/Downloads/SCH_SA-V11A-pages/page-1.png (2396×1698,engine: sysfont)
架构
- lib/index.js — cordis 插件入口(name、inject、apply);以原生工具
对象注册三个工具(标准 JSON-Schema parameters/output,无需依赖
@deepseek-ai/dsh-tools),并注入中文协作公告(systemPrompt.section,
order 160)。
- lib/pdf-core.js — 自包含引擎:PDF 对象解析器、字体扫描、基于 fs 的
CMapReaderFactory/StandardFontDataFactory 加载 pdfjs(Node 24 全局
fetch 不支持 file://)、自研文本提取器、sysfont 渲染器。
- cordis.patch.yml — dsh.bundle.patch 插入行。
限制
- 扫描件/纯图片 PDF 无文字层,提取不到文字(渲染仍可用,等同原图)。
- sysfont 渲染器假设 Type0 的 CID 即 Unicode 码点(UniGB-UCS2-H 导出
成立);特殊 CID 字体回退 pdfjs。
- 大文件整份读入内存解析。
许可证
MIT同作者(zhtx2024)的其他插件
扫码进群