🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

CAD 模型预览 RichardYZLu/dsh-cad-preview

DeepSeek 客户端
RichardYZLu26 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在侧栏旋转缩放查看 STEP、STL 等三维模型

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/RichardYZLu/dsh-cad-preview.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
  • 读取本地文件
    lib/index.js:142
    info = statSync(absolutePath)
  • 读取本地文件
    lib/index.js:173
    const stream = createReadStream(absolutePath, range === null ? undefined : range)
  • 读取本地文件
    lib/index.js:215
    return JSON.parse(readFileSync(join(packageRoot, 'package.json'), 'utf8')).version ?? '0.0.0'
  • 读取本地文件
    lib/index.js:298
    info = await stat(raw)
  • 发起网络请求
    lib/client.js:16179
    fetch(req).then((response) => {
  • 发起网络请求
    lib/client.js:34030
    var byteLoader = createWasmFetcher((...args) => fetch(...args));
  • 发起网络请求
    lib/client.js:34156
    const response = await fetch(`${ROUTE}/file?path=${encodeURIComponent(path)}`, { signal });
  • 发起网络请求
    lib/client.node.mjs:1066
    var byteLoader = createWasmFetcher((...args) => fetch(...args));
  • 发起网络请求
    lib/client.node.mjs:1192
    const response = await fetch(`${ROUTE}/file?path=${encodeURIComponent(path)}`, { signal });
  • 读取本地文件
    lib/client.node.mjs:1615
    async () => new Uint8Array(await readFile(join2(fixtureDir2, "occt-import-js.wasm")))
  • 发起网络请求
    lib/client.occt.js:113
    return fetch(url, { credentials: "same-origin" }).then((response) => {
  • 发起网络请求
    lib/client.occt.js:258
    return fetch(binaryFile, { credentials: "same-origin" }).then((response) => {
  • 发起网络请求
    lib/samples.js:607
    var MODELS = await fetch("/models").then((response) => response.json());
  • 发起网络请求
    lib/samples.js:987
    const response = await fetch(url);
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 侧栏查看三维模型
  • 旋转缩放视角
展开完整介绍(149 字)↓

CAD 3D 模型预览,用于 DSH 侧边栏:STEP/STP/IGES/BREP(OpenCascade WASM,在 Web Worker 中解析)加 STL/3MF/OBJ/PLY,带轨道相机、结构边、线框和坐标轴指示器。支持 dsh-better-sidebar 或 DSH 内置文档预览。

README

由 DeepSeek 最新模型翻译生成
dsh-cad-preview 在 DSH 右侧栏里直接查看 3D 模型。打开文件树里的 .step、.stl 这些文件,侧栏里就是一个可以旋转、缩放、剖视的几何体,不用切到别的软件。 罗马柱 · 默认外观 支持的格式 | 格式 | 解析方式 | 说明 | | .step .stp | OpenCascade(WASM) | B-rep 离散:读实体、曲面与单位 | | .iges .igs | OpenCascade(WASM) | 同上 | | .brep .brp | OpenCascade(WASM) | OCCT 原生 BREP | | .stl | three.js STLLoader | 二进制与 ASCII 均可 | | .3mf | three.js 3MFLoader | 按 OPC 包解析 | | .obj | three.js OBJLoader | 只取几何,忽略材质 | | .ply | three.js PLYLoader | ASCII 与二进制均可 | 打开文件后,顶栏会显示:文件大小 · 包围盒尺寸(mm)· 三角面数 · 解析耗时。 大模型不会拖住界面 .step 这类 B-rep 文件要交给 OpenCascade 才能算出形状,而这一步是同步、一口气跑完的,内存需求能到 GB 级。
展开完整文档(README 剩余 1 节)
dsh-cad-preview

在 DSH 右侧栏里直接查看 3D 模型。打开文件树里的 .step、.stl 这些文件,侧栏里就是一个可以旋转、缩放、剖视的几何体,不用切到别的软件。

罗马柱 · 默认外观

支持的格式

| 格式 | 解析方式 | 说明 |
| .step .stp | OpenCascade(WASM) | B-rep 离散:读实体、曲面与单位 |
| .iges .igs | OpenCascade(WASM) | 同上 |
| .brep .brp | OpenCascade(WASM) | OCCT 原生 BREP |
| .stl | three.js STLLoader | 二进制与 ASCII 均可 |
| .3mf | three.js 3MFLoader | 按 OPC 包解析 |
| .obj | three.js OBJLoader | 只取几何,忽略材质 |
| .ply | three.js PLYLoader | ASCII 与二进制均可 |

打开文件后,顶栏会显示:文件大小 · 包围盒尺寸(mm)· 三角面数 · 解析耗时。

大模型不会拖住界面

.step 这类 B-rep 文件要交给 OpenCascade 才能算出形状,而这一步是同步、一口气跑完的,内存需求能到 GB 级。DSH 的右侧栏和聊天界面共用同一个渲染进程,因此这段计算如果放在页面主线程上,会把整个界面按住不放。

预览器把它放进了 Web Worker:页面 bundle 里没有 CAD 内核,内核只存在于 lib/client.worker.js。由此得到:

- 解析期间界面照常响应,可以继续滚动、切换标签;
- 关掉标签页即刻释放内核内存;
- 取消解析直接终止线程,不必等它跑完;
- 坏文件最多烧掉它自己那个 Worker。

安装

前置只有 DSH 本身,没有其它依赖。预览器会挂到它能找到的侧栏上:

| 你的环境 | 挂到哪里 |
| 装了 dsh-better-sidebar | 注册成它的文件查看器(.step 等直接开标签页) |
| 只有 DSH 自带侧栏 | 注册进 DSH 自带的文档预览 |
| 两者都有 | 两处都注册,互不影响 |

从 npm 安装(推荐)

dsh plugin --profile web add dsh-cad-preview

从 GitHub 安装

dsh plugin --profile web add https://github.com/RichardYZLu/dsh-cad-preview

请用完整的 HTTPS 地址,不要写成 github:RichardYZLu/dsh-cad-preview 简写:pnpm 会把简写解析成 git+ssh://,没配 GitHub SSH key 的机器会直接 Permission denied (publickey) 装不上。

装完重启 DSH Desktop,插件的两半都在启动时挂载。

升级:地址后面加 #<tag> 可锁定版本(例如 https://github.com/RichardYZLu/dsh-cad-preview#v0.3.5);不带 # 则跟随默认分支上的最新提交。

卸载

dsh plugin --profile web remove dsh-cad-preview

操作

鼠标 / 触控板:

- 左键拖动旋转
- 右键拖动(或 Shift + 左键)平移
- 滚轮缩放;触控板与触屏支持双指缩放

工具条与快捷键:

| 按钮 | 快捷键 | 作用 |
| 线框 | W | 隐藏面,只画结构线 |
| Z/Y 轴向上 | U | 在 CAD(Z 向上)与图形(Y 向上)两种约定之间切换 |
| 网格 | G | 地面网格 + 坐标轴 |
| 适配 | F | 重新框选模型,不改变当前视角 |
| 重置 | R | 模型重新居中落地 + 全部进画面 + 视角回到初始 |

右下角三根带字母的彩色箭头(红 X / 绿 Y / 蓝 Z)是方向指示器,随视角实时旋转,用来看清模型自身坐标系的朝向。

外观

默认外观是 ao+strong:环境光遮蔽压暗接缝,再用 30° 结构线勾出块面 —— CAD 的块面结构主要靠明暗差读出来。本页最上面那张就是默认外观。

点工具条的「线框」切到 lines:隐藏面、只留结构线,并把提取阈值降到 1°,这样圆柱侧面的折边也能保留下来。

罗马柱 · 线框

两张图都是真实模型的实际渲染(罗马柱,柱身凹槽与柱础、柱头的曲面),由 scripts/make-screenshots.mjs 生成,可以重新复跑。

常见问题

通过隧道 / 局域网域名访问时全是 403

插件内部的几条路线都带 Host 信任栅栏,默认只认 loopback。用 dsh.example.com 这类域名打开 GUI 时,需要把这个域名加进信任列表:

profile 的 cordis.patch.yml
- id: cad-preview
name: dsh-cad-preview
config:
trustedHosts:
- dsh.example.com
maxModelBytes: 8589934592

信任名单每次请求都会重新收集,并且已经给 /api、/sidebar 放行过的域名会被自动继承——通常只要在 DSH 那边配过一次,这里就不用再配。被拒绝时,响应体会直接写出是哪个域名被挡下、该改哪个配置项。

界面上的提示是什么意思

| 提示 | 含义 | 处理 |
| CAD 内核下载失败:… | 7.6 MB 的 OpenCascade 内核没取到(网络中断等) | 点「重试」;插件本身也会自动重试一次 |
| 这个环境没有 Web Worker… | 当前页面没有 Worker,主线程解析被刻意拒绝 | 在正常的 DSH 窗口里打开 |
| 网格太大(… 超过上限 12000000) | 三角面数超过上限 | 导出时简化模型,或只预览局部 |
| CAD 解析已取消 | 关标签页 / 切换文件导致的中断,属正常路径 | 无需处理 |
| CAD 解析线程出错:… | 解析线程的脚本没加载到,或线程内异常 | 确认版本 ≥ 0.3.2 后重装 |

许可

MIT。lib/occt-import-js.wasm 打包了 occt-import-js(MIT)与 OpenCascade Technology(LGPL-2.1 + OCCT exception),许可全文随包提供:lib/THIRD-PARTY-NOTICES.md。

要改这个插件、或了解内部实现与设计取舍,见 DEVELOPMENT.md;发布流程见 PUBLISHING.md。
预览分享卡片长什么样 ↓RichardYZLu/dsh-cad-preview
分享 · DeepSeek Harness Hub
RichardYZLu/dsh-cad-preview

在侧栏旋转缩放查看 STEP、STL 等三维模型

这是你的仓库?认领条目

回到顶部