SimpleCADforDSH 是 DeepSeek Harnessdsh的树外插件,能把文字提示词变成真正的参数化…
数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
dsh plugin --profile web add jianboer/SimpleCADforDSH状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装;安装清单取自 SimpleCADforDSH/dsh-plugin/package.json
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/26 09:46:22
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
查看扫描证据(共 27 处,展示前 18 条)
- 发起网络请求SimpleCADforDSH/dsh-plugin/client.js:151
const res = await fetch(url, { cache: 'no-store' }) - 发起网络请求SimpleCADforDSH/dsh-plugin/client.js:541
const res = await fetch( - 发起网络请求SimpleCADforDSH/dsh-plugin/client.js:575
fetch('/simplecadfordsh/parts', { cache: 'no-store' }), - 发起网络请求SimpleCADforDSH/dsh-plugin/client.js:641
const res = await fetch('/simplecadfordsh/latest', { cache: 'no-store' }) - 发起网络请求SimpleCADforDSH/dsh-plugin/client.js:712
const res = await fetch('/simplecadfordsh/delete?path=' + encodeURIComponent(node.path), { method: 'POST' }) - 执行外部命令来自配置/变量SimpleCADforDSH/dsh-plugin/index.js:30
const child = spawn(pythonBin(), [CLI, ...cliArgs], { - 执行外部命令来自配置/变量SimpleCADforDSH/dsh-plugin/index.js:82
workerChild = spawn(pythonBin(), [CLI, 'worker'], { - 读取本地文件SimpleCADforDSH/dsh-plugin/routes.js:37
return existsSync(target) ? target : null - 读取本地文件SimpleCADforDSH/dsh-plugin/routes.js:50
const stat = statSync(filePath) - 读取本地文件SimpleCADforDSH/dsh-plugin/routes.js:62
createReadStream(filePath).pipe(res) - 执行外部命令来自配置/变量SimpleCADforDSH/dsh-plugin/routes.js:84
const child = spawn(pythonBin, [cli, ...args], { - 读取本地文件SimpleCADforDSH/dsh-plugin/routes.js:113
if (!existsSync(modelsDir)) return - 读取本地文件SimpleCADforDSH/dsh-plugin/routes.js:114
for (const entry of readdirSync(modelsDir, { withFileTypes: true })) { - 读取本地文件SimpleCADforDSH/dsh-plugin/routes.js:143
if (!existsSync(modelsDir)) return [] - 写入本地文件SimpleCADforDSH/dsh-plugin/routes.js:332
writeFileSync(join(modelsDir, `${name}.glb`), body) - 写入本地文件SimpleCADforDSH/dsh-plugin/routes.js:337
writeFileSync(tmp, body, 'utf8') - 写入本地文件SimpleCADforDSH/dsh-plugin/routes.js:360
writeFileSync(out, body) - 删除本地文件SimpleCADforDSH/dsh-plugin/routes.js:385
unlinkSync(file)
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
界面预览
1 张 · 点击查看大图功能亮点
- 文字提示词生成模型
- 参数化模型生成
- 模型检索
基于 DeepSeek Harness 框架的参数化 CAD 模型生成与检索插件
README
由 DeepSeek 最新模型翻译生成展开完整文档(README 剩余 1 节)
SimpleCADforDSH
SimpleCADforDSH 是 DeepSeek Harness(dsh)的树外插件,能把文字提示词变成真正的参数化 CAD。它走 dsh 官方插件契约(宿主工具 + 客户端插槽 + 技能),不 fork、也不改 dsh 源码。
用大白话描述一个零件 → 智能体写出 build123d Python,导出 STEP + GLB,跑几何 QA,并在同一窗口打开 CAD 面板,你可以在里面改尺寸、重新生成。
SimpleCADforDSH 工作台
功能
- 文字 → 参数化 CAD。 text-to-cad 技能串起需求 → 建模 → QA → 导出,并从提示词里锁定 overall_size_mm 和 special_features。
- CAD 即代码。 每个零件都是一段 gen_step() build123d 脚本(from build123d import *),不是网格;整体尺寸放在 PARAMS 字典里,随时可改。
- 内置几何 QA。 检查 single_body、watertight、overall_dimension(0.2 mm 容差),给出通过/不通过结论。
- 同窗口 CAD 面板。 工作台在 dsh 界面右侧打开——模型树、着色 3D 视图、参数侧栏、面检查器。
- 参数化编辑。 点一个面,或用 simplecadfordsh_apply,就能改 length / width / height / hole_d;STEP + GLB 自动重新生成。
- 导出。 STEP、STL、GLB(3MF 计划中)。
- 相似度参考。 CAD 与参考图的轮廓 IoU,加上基于规则的 AI 建议,来源是 QA + 相似度 + 需求意图。
工具
| 工具 | 作用 |
| simplecadfordsh_brief | 写工程 IR + 需求(包络、特征、single_body/watertight) |
| simplecadfordsh_gen | 写 gen_step(),导出 STEP+GLB,返回 facts + qa,打开面板 |
| simplecadfordsh_inspect | 重新测量几何 |
| simplecadfordsh_qa | 只做通过/不通过检查 |
| simplecadfordsh_measure | 检查指定的 X/Y/Z 整体尺寸 |
| simplecadfordsh_export | 从已有零件导出 STL / GLB |
| simplecadfordsh_preview | 在 CAD 面板里显示零件 |
| simplecadfordsh_params | 读取可编辑字段(length、width、height、hole_d) |
| simplecadfordsh_apply | 应用参数修改并重新生成 STEP+GLB |
| simplecadfordsh_snapshot | 渲染正交视图 PNG(iso/front/right/top) |
| simplecadfordsh_similarity | CAD 与参考图的轮廓 IoU(仅供参考) |
| simplecadfordsh_advice | 基于规则的建议,来源是 QA + 相似度 + IR |
保留(只有 schema,未实现):simplecadfordsh_part · simplecadfordsh_assemble · simplecadfordsh_dfam。
工作原理
prompt ─▶ text-to-cad skill
├─ simplecadfordsh_brief (lock overall_size_mm / special_features)
├─ simplecadfordsh_gen (build123d → STEP + GLB, facts + qa)
├─ [pane opens] (QA issues, params, face inspector)
└─ simplecadfordsh_export (STL / GLB)
每个生成的 gen_step() 都在顶层 PARAMS 字典里声明整体尺寸,并在函数体内引用 PARAMS[...]——这样才能在面板里编辑零件,也能通过 simplecadfordsh_apply 编辑。
环境要求
- Node.js 22
- Python 解释器,需装 build123d(以及 numpy;用到图像功能时还需 PIL/trimesh)
- dsh Web 环境,并配好你的 DeepSeek API key
安装(原生 dsh)
dsh 包名是 simplecadfordsh;让它可被解析,再打一行补丁。
1. Make the package resolvable
$DSH_HOME/profiles/node_modules/simplecadfordsh -> <this-repo>/SimpleCADforDSH/dsh-plugin
2. Point the CAD interpreter at the active Conda environment
conda activate <conda-env-with-build123d>
scripts/start-dsh-web.ps1 detects CONDA_PREFIX automatically.
For native dsh without the script, set SIMPLECADFORDSH_PYTHON explicitly:
export SIMPLECADFORDSH_PYTHON=$(command -v python)
PowerShell: $env:SIMPLECADFORDSH_PYTHON = (Get-Command python).Source
3. Patch one row in your dsh patch file
- insert: { id: simplecadfordsh, name: simplecadfordsh }
如果是从源码检出,先在 deepseek-harness 根目录运行 pnpm install 和 pnpm run build,然后用 scripts/start-dsh-web.ps1 创建本地链接、生成绝对路径补丁,并运行 pnpm dsh web。
许可证
MIT——见 LICENSE。预览分享卡片长什么样 ↓
SimpleCADforDSH 是 DeepSeek Harnessdsh的树外插件,能把文字提示词变成真正的参数化…