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.

Nbcad Plate — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
N

dsh-nbcad-plate

Nbcad Plate

DeepSeek Harness plugin that turns 2D prints of flat plate parts into noBS CAD scripts and STEP files: one skill (the plate workflow), four tools (run a script and export STEP, inspect a STEP, overlay the model on the print, native print probe) and a "2D → 3D" panel in the Web UI that converts one P

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

npx -y @deepseek-ai/dsh plugin --profile web add github:jackControls/dsh-nbcad-plate#25306cf912b42b2a0fc93a23675acc0cbc635b2b
READMECompatibilityVersions

Description

DeepSeek Harness plugin that turns 2D prints of flat plate parts into noBS CAD scripts and STEP files: one skill (the plate workflow), four tools (run a script and export STEP, inspect a STEP, overlay the model on the print, native print probe) and a "2D → 3D" panel in the Web UI that converts one PDF/PNG/JPG print and saves the STEP.

Compatibility and provenance

Nbcad Plate is published as dsh-nbcad-plate and currently resolves to version 0.4.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/25/2026

Versions

0.4.0stable
9/25/2026
0.3.2stable
9/25/2026

Related plugins

Loading related plugins…

Latest
0.4.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/25/2026
View source ↗
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

dsh-nbcad-plate

A DeepSeek Harness (dsh) plugin that turns 2D engineering prints of flat plate parts into noBS CAD scripts and STEP files.

It registers:

  • the skill nbcad-plate: the standard workflow for plate parts, from a ten-hole bracket to a dense plate with eighty holes (sheet survey, callout inventory, corner-origin frame, chain arithmetic, one script per part, verification by hole counts, report), with a validated example script that shows every modelling idiom (skill/plate-example.nbcad.jsonc);
  • four tools that drive a headless noBS CAD engine and the print:
    • nbcad_run_script(script_path, step_path): run a version 1 .nbcad.jsonc script in a blank document, export STEP, return the scene summary and the holes found, or the failing step and reason;
    • nbcad_inspect_step(step_path): re-import a STEP file and return the same summary, for verification;
    • nbcad_print_probe(action, pdf_path, length_mm, width_mm, ...): the native pixel toolkit (Rust, native/print-probe): calibrate, crop with a millimetre grid and hole overlay, ring-score (what is drawn at or near each model hole), symbols (circles and dots found in a region, matched against the model). Well under a second per call, renders cached;
    • nbcad_overlay_print(pdf_path, step_path, out_png, length_mm, width_mm, region?, dpi?): draw the model's holes onto the plan view of the print (whole page, or a high-resolution crop of a millimetre window) so every group can be checked against the drawn hole symbols.

The model reads the print itself (its own image reads and pdftoppm crops), writes the script, runs it, compares the hole list with its inventory and fixes what is missing. Everything goes through the ordinary noBS CAD script interpreter; there is no second modelling path.

The "2D → 3D" panel in the Web UI

In a web profile the plugin adds a 2D → 3D entry to the sidebar's panel list. The panel:

  • shows, refreshed every two seconds, whether the noBS CAD engine (nbcad-mcp) is reachable, whether a noBS CAD desktop is running (read from the desktop's session registry: a heartbeat.json newer than 30 seconds under $TMPDIR/nbcad-sessions/, the same rule the MCP server uses), whether the native probe is built and whether pdftoppm and Python are present;
  • takes one print, either uploaded from the browser (PDF, PNG or JPG) or named by its path on the machine that runs dsh; a raster print is converted to PDF on the host (sips on macOS, img2pdf or ImageMagick elsewhere) so the probe and the crops work on it;
  • starts a new session in the chosen workspace with the plate-workflow brief, names it after the part, and follows it: the conversation stays one click away;
  • lists every STEP file (and report) the run produces under <workspace>/out/ and saves it where you choose (Save STEP as…, the browser's save dialog where available, otherwise a download).

Nothing here bypasses the model: the panel only prepares the workspace, sends the brief and collects the files. The host half serves the panel's routes under /dsh-nbcad/api on dsh's own web server; headless profiles do not mount them.

Requirements

  • dsh 0.1.5 (release candidates included) with a profile based on headless, tui or web; Node 22 or later.
  • A noBS CAD checkout with the MCP server built: cargo build -p nbcad-mcp (the executable is target/debug/nbcad-mcp).
  • Python 3 (standard library only) and pdftoppm (poppler) on the PATH.

Install

From GitHub into a profile of your own (the plugin is plain JavaScript and Python, so no build approval is needed; use web instead of headless as the template to get the panel):

dsh --profile nbcad --from-default-profile headless --dump-config >/dev/null
dsh plugin --profile nbcad add github:jackControls/dsh-nbcad-plate

Or from a local checkout:

dsh plugin --profile nbcad add file:/path/to/dsh-nbcad-plate

The native print probe behind nbcad_print_probe is optional; build it once with a Rust toolchain and point the plugin at it (below). Without it the other three tools still work and nbcad_overlay_print uses its Python renderer.

cargo build --release --manifest-path native/print-probe/Cargo.toml

Then point the plugin at the engine in the profile's cordis.patch.yml (~/.dsh/profiles/nbcad/cordis.patch.yml):

- id: nbcad-plate
  config:
    server: /path/to/noBS-CAD/target/debug/nbcad-mcp
    probe: /path/to/dsh-nbcad-plate/native/print-probe/target/release/print-probe

probe is needed because the profile holds a copy of the package without the build directory; NBCAD_PRINT_PROBE in the environment works as well.

NBCAD_MCP in the environment works as well. Check with dsh --profile nbcad --dump-config that the nbcad-plate entry is mounted.

Use

From a workspace that contains the print:

dsh --profile nbcad "Model scratch/PART.pdf as a STEP file. Load the nbcad-plate skill first."

The skill asks for the script, the STEP file, a feature table and a short report in the workspace. Run one part per task; a dense plate is allowed several script runs.

Layout

lib/index.js             plugin entry: registers the skill and the four tools
python/run_script.py     run a script through nbcad-mcp and export STEP (--json)
python/inspect_step.py   re-import a STEP file and summarise it (--json)
python/overlay_print.py  draw a model's holes on the print for a visual check (--json)
python/cad.py            engine session helpers (scene summary, hole extraction)
python/mcp_client.py     minimal newline JSON-RPC client for nbcad-mcp
skill/SKILL.md           the workflow (also usable as a plain filesystem skill)
skill/plate-example.nbcad.jsonc   validated example with every idiom
tools/make_example.py    regenerates and validates the example
native/print-probe/      Rust pixel toolkit behind nbcad_print_probe
cordis.patch.yml         bundle patch that mounts the plugin

Development

NBCAD_MCP=/path/to/nbcad-mcp python3 tools/make_example.py --validate

After editing the plugin, refresh the installed copy with dsh plugin --profile nbcad update dsh-nbcad-plate (or remove and add again).