DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Pdf — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@zhtx2026/dsh-pdf

Pdf

DSH PDF parsing plugin: provides agents with three tools: pdf_info / pdf_extract_text / pdf_render_page. Based on pdfjs-dist + @napi-rs/canvas; automatically uses system fonts to render text for PDFs without embedded fonts (such as those exported by 嘉立创EDA). Hot-swappable — mounted via cordis.patch.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @zhtx2026/dsh-pdf@0.1.1
READMECompatibilityVersions

Description

DSH PDF parsing plugin: provides agents with three tools: pdf_info / pdf_extract_text / pdf_render_page. Based on pdfjs-dist + @napi-rs/canvas; automatically uses system fonts to render text for PDFs without embedded fonts (such as those exported by 嘉立创EDA). Hot-swappable — mounted via cordis.patch.yml + profile node_modules symlinks, with no changes to dsh source code required.

Compatibility and provenance

Pdf is published as @zhtx2026/dsh-pdf and currently resolves to version 0.1.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/20/2026

Versions

0.1.1stable
8/20/2026

Related plugins

Loading related plugins…

Latest
0.1.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
48 kB
Files
7
Surface
any
License
MIT
Source
npm
GitHub
★ 3
Weekly downloads
241
Security scan
✓ v0.1.1 scan passed
Last push
8/20/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

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