DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Pdf — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@zhtx2026/dsh-pdf

Pdf

DSH PDF 解析插件: 为 agent 提供 pdf_info / pdf_extract_text / pdf_render_page 三个工具。基于 pdfjs-dist + @napi-rs/canvas; 对未内嵌字体的 PDF (如嘉立创EDA导出) 自动改用系统字体渲染文字。热插拔 — 通过 cordis.patch.yml + profile node_modules 软链接挂载, 无需改动 dsh 源码。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @zhtx2026/dsh-pdf@0.1.1
README兼容性版本

兼容性与来源证明

Pdf 以 @zhtx2026/dsh-pdf 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.1.1stable
2026/8/20

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
48 kB
文件数
7
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 3
周下载
241
安全扫描
✓ v0.1.1 扫描通过
最近提交
2026/8/20
查看源码 ↗
项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

@zhtx2026/dsh-pdf

PDF parsing toolkit for DeepSeek Harness — three agent-facing tools (pdf_info / pdf_extract_text / pdf_render_page) with hybrid engines, including system-font rendering for PDFs with non-embedded CJK fonts (e.g. EasyEDA / JLC EDA schematic exports).

English | 中文

Tags: dsh-plugin · pdf · pdfjs · canvas · schematic · tools

Install

dsh plugin --profile web add @zhtx2026/dsh-pdf

Or from a local checkout during development:

dsh plugin --profile web add link:<path-to-repo>

Then restart DSH (or open a new session) — the three tools and an agent guidance block become available.

Tools

ToolWhat it does
pdf_infoPage count, page sizes (pt), document metadata, and the font list with per-font embedded flags.
pdf_extract_textExtracts text per page; optional page and withPosition (per-line x/y coordinates + font size).
pdf_render_pageRenders one page to a PNG (local file) with configurable scale/outDir; engine auto-selection.

Why a custom renderer?

pdfjs-dist cannot render text in PDFs whose fonts are not embedded and lack a ToUnicode map — the classic case is JLC EDA / EasyEDA schematic exports (SimSun/SimHei Type0 fonts with UniGB-UCS2-H encoding): pdfjs emits translateFont failed and drops the glyphs.

dsh-pdf solves this with a two-engine design:

  • pdfjs engine — used when all fonts are embedded (standard PDFs).
  • sysfont engine — a built-in content-stream renderer that decodes the PDF text operators (BT/ET, Tf, Tm, Td, Tj, TJ) itself, maps UniGB-UCS2-H/UTF-16BE strings to Unicode, and draws them with system fonts (SimSun, SimHei, Microsoft YaHei, …) via @napi-rs/canvas.

Text extraction uses the same auto-selection: embedded fonts → pdfjs text layer; non-embedded fonts → the built-in decoder (which correctly recovers CJK text pdfjs loses).

Example

pdf_info("D:/Downloads/SCH_SA-V11A.pdf")
→ 3 pages, A3 landscape, jsPDF producer, 6 fonts (all non-embedded)

pdf_extract_text("D:/Downloads/SCH_SA-V11A.pdf", { page: 1 })
→ net names, pin numbers, and Chinese labels ("主控板", "嘉立创", …)

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)

Architecture

  • lib/index.js — cordis plugin entry (name, inject, apply); registers the three tools as native tool objects (plain JSON-Schema parameters and output — no @deepseek-ai/dsh-tools dependency needed) and injects the agent guidance block (systemPrompt.section, order 160).
  • lib/pdf-core.js — self-contained engine: PDF object parser, font scanner, pdfjs loading with fs-based CMapReaderFactory/StandardFontDataFactory (Node 24's global fetch doesn't speak file://), the built-in text extractor, and the sysfont renderer.
  • cordis.patch.yml — the dsh.bundle.patch insert row.

Limitations

  • Scanned/image-only PDFs have no text layer — extraction returns nothing (rendering still works, as a plain image).
  • The sysfont renderer assumes Type0 CID codes equal Unicode code points (true for UniGB-UCS2-H exports); exotic CID fonts fall back to pdfjs.
  • Large PDFs are parsed fully into memory.

License

MIT