DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Nbcad Plate — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
N

dsh-nbcad-plate

Nbcad Plate

将 2D 平板零件图纸转换为 noBS CAD 脚本和 STEP 文件的 DeepSeek Harness 插件:一个技能(平板工作流)、四个工具(运行脚本并导出 STEP、检查 STEP、将模型叠加到图纸上、原生图纸探测器),以及 Web UI 中的“2D → 3D”面板,可转换一份 PDF/PNG/JPG 图纸并保存 STEP。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:jackControls/dsh-nbcad-plate#25306cf912b42b2a0fc93a23675acc0cbc635b2b
README兼容性版本

兼容性与来源证明

Nbcad Plate 以 dsh-nbcad-plate 发布,当前版本为 0.4.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/25

版本

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

相关插件

正在加载相关插件…

最新版
0.4.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/25
查看源码 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

继续浏览 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

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).