DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
N

@dsh-external/dsh-nx

Nx

用于 DeepSeek Harness 的 Siemens NX + nx-auto-mcp 适配器:将健康检查链路、直接 TCP 工具调用、NX 启动、窗口聚焦、屏幕截图和插件部署整合为一个工具。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:catsenior507/dsh-nx#bf409b611ead008e70e9fce3cabf653e1a49a3ae
README兼容性版本

兼容性与来源证明

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

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/26

版本

0.1.0stable
2026/10/26

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

MarketdshmarketDeepSeek Harness 内的可视化插件市场——浏览、搜索并一键安装社区插件。· DSH 可视化插件市场:浏览、搜索并一键安装社区插件。Better Sidebardsh-better-sidebarBetter Sidebar for DSH — 在一列中提供文件树、编辑器、变更、任务和侧边聊天,并为每个对话单独显示。同时提供服务,供其他插件注册侧边栏标签页和文件查看器。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Ssh@linxin666/dsh-sshdsh Web GUI 的远程 SSH 操作:主机配置存储(~/.dsh/dsh-ssh.json,可从 ~/.ssh/config 导入)、支持跳板主机的持久化 ssh2 连接池、exec / PTY Web 终端 / SFTP 传输 / 本地端口转发隧道 / 集群执行

README

dsh-nx

A DeepSeek Harness plugin for driving Siemens NX through nx-auto-mcp — by making the startup chain observable and repairable instead of guessable.

nx-auto-mcp already exposes 123 NX tools over MCP, and when the chain is up they work. The problem is the chain: five things must be true at once, and when one is false the model sees only No work part is open. or an empty PNG.

#LinkWhen it is false you see
1ugraf.exe is runningevery nx_* tool fails to connect
2managed_plugin.dll is deployedno menu, no listener, no error
3that DLL is loadablesame silence — NX refuses unsigned plugins without a message
4the plugin's TCP server is listeningconnection refused
5the NX window is renderablescreenshots succeed and contain nothing

This plugin gives the agent one tool, nx, that inspects all five links separately, and repairs the ones that can be repaired from outside NX.

It does not replace the MCP server: keep @deepseek-ai/dsh-mcp-client wired to mcp/nx-auto-mcp.js for the 123 modelling tools. This is the layer underneath them.

What it does

actionpurpose
statusThe five links, the deployed DLL, its signature state, the newest NX syslog, and the window — each row observed or explicitly unknown.
callRun one plugin tool straight over TCP, bypassing the MCP client.
toolsThe live inventory, for the same reason.
launchStart ugraf.exe with UGII_CUSTOM_DIRECTORY_FILE / UGII_USER_DIR set, then poll the port instead of sleeping.
focusRestore and foreground the NX window.
captureFocus → settle → fit → screenshot → verify the file.
deployCompile, sign and install the managed plugin, reporting each step separately.

Why call exists

An MCP client pulls tools/list once, at connect time. Deploy a new tool into NX and it is invisible until the client reconnects. call talks to the plugin directly, so it always sees the live inventory — and it reports what the plugin said, not what a cached list believed.

Why capture waits

NX exports the graphics buffer, not a fresh render. Capture a window that is still repainting — just restored, just uncovered — and NX writes a file of the right size containing uninitialised pixels, and reports success. The action therefore focuses, waits, fits the view, waits again, and measures the resulting file before calling it a capture. A minimized window is the other half of the same failure: it has no renderable surface at all.

Why the window is matched by process id

The NX title is NX at the gateway, part - NX - Gateway with a part open, and localised on other installs. A loose match on NX also hits unrelated windows (an Explorer folder named SiemensNX-2412, for instance). So the window is selected by owning process — the title fragment only breaks ties.

Install

dsh plugin --profile web add D:/deepseek_harness/dsh-nx

Or link it by hand, the way the other @dsh-external plugins in this profile are linked:

# 1. junction into the profile
New-Item -ItemType Junction `
  -Path  "$env:USERPROFILE\.dsh\profiles\web\node_modules\@dsh-external\dsh-nx" `
  -Target "D:\deepseek_harness\dsh-nx"

# 2. add to the profile's bundles (package.json → dsh.profile.bundles)
# 3. restart the app

Config lives on the row that cordis.patch.yml inserts:

- insert:
    - id: tool-nx
      name: '@dsh-external/dsh-nx'
      config:
        nxRoot: 'D:\Program Files\Siemens\NX2412'
        nxAutoMcpPath: 'D:\deepseek_harness\ug\_repo'

Every field is optional. nxRoot falls back to UGII_BASE_DIR, then to an NX* scan of Program Files; nxAutoMcpPath has no fallback, because the only honest answer when the package is unknown is "unknown".

fielddefaultmeaning
host / port127.0.0.1 / 1977plugin TCP endpoint
nxRootdetectedNX install root
nxAutoMcpPath—nx-auto-mcp checkout (needed by deploy)
customDirsFile<nxAutoMcpPath>/custom_dirs.datwhat launch exports
userDir<nxAutoMcpPath>what launch exports as UGII_USER_DIR
exePath<nxRoot>/NXBIN/ugraf.exewhat launch starts
windowTitleNX - Gatewaypreferred title fragment for focus/capture
callTimeoutMs180000per TCP call
launchTimeoutMs240000how long launch waits for the port
deployExecTimeoutMs300000csc / SignDotNet wall clock

Usage

Ask for state first; it is the difference between "the plugin is not loaded" and "the plugin said no":

nx status

Run a tool the MCP client has not noticed yet:

nx call  tool=nx_measure_volume  params={}

Start NX correctly when it is not running:

nx launch

Screenshot something that actually contains the model:

nx capture  imagePath=D:/tmp/nx.png

Rebuild after changing the plugin source:

nx deploy

What deploy will and will not claim

deploy reports compile, sign and install separately, because they fail for different reasons and only one of them is about your code.

Two facts worth knowing, both learned the hard way on NX 2412:

  • Signing can fail while NX still loads the DLL. SignDotNet asks the licence server for the author licence; NX at runtime asks for a different grant. A machine can have the second without the first — the syslog then says DotNet author license is present. Authentication passed for an unsigned DLL. So a signing failure is reported as a failure, deployment continues, and the outcome is stated rather than smoothed over.
  • NXSigningResource.res lives in UGOPEN, which a runtime-only NX install does not have. Without it the DLL is compiled without the resource bundle and cannot be signed at all — not a code problem, and not fixable from this plugin.

Verification

npm test                          # 13 tests: wire format, config, selection rules, tool schema
$env:NX_AUTO_MCP_PATH = 'D:\deepseek_harness\ug\_repo'
node scripts/live-check.mjs       # against a real NX; launches it if needed

The unit tests run the TCP layer against a fake plugin: the wire format is the contract that matters, and it can be pinned without a licence, a desktop session, or a running CAD system. scripts/live-check.mjs is the other half and starts NX.

Observed on NX 2412 / Windows 11 (2026-10-26): launch → port open in 8–12 s, status → 123 tools, call → working modelling calls, capture → a 17 KB render of the model.

Limitations

  • Windows only. NX is, and so are the window and process probes.
  • focus/capture need a desktop session. A process in another session cannot see or restore NX's window; the actions say so instead of failing silently.
  • deploy cannot sign what the licence server will not grant. See above.
  • status reads the newest *.syslog in %TEMP%, which may predate the current NX session. The row carries the log's timestamp so a stale reading is visible rather than mistaken for the present.

License

MIT. Not affiliated with Siemens or with nx-auto-mcp.