lishLRF/dsh-3d-model-viewer

DSH Plugin: View OBJ/STL/STEP 3D models in the DeepSeek Harness web interface, and translate them into standardized, LLM-readable JSON (with semantic analysis), with one-click sending to AI.

Project Overview项目介绍

This is a native DSH plugin built exclusively for DeepSeek Harness, that adds 3D model viewing and processing capabilities to DSH's web interface. It can load common 3D model formats including OBJ, STL, and STEP, and convert them into a standardized, LLM-readable JSON format that allows pure text large language models to understand 3D part information without a CAD kernel. The plugin follows the standard DSH bundle format, with a host side that registers the read_3d_model tool for the agent, and a client side that adds a floating viewer panel aligned with DSH's theme using Three.js for rendering.

After installation, you can access the viewer panel from the right side of DSH's web interface. To use it, open a DSH session, then drag and drop or select a local 3D model file to load it into the viewer. You can interact with the loaded model to rotate, pan, or zoom it, adjust material properties like color and roughness, change lighting settings, and enable cross-section views. You can also add a custom text description to the model that gets included in the output JSON, to help the LLM understand the model better and reduce misinterpretation.

To install this plugin, you need Node.js version 20 or higher and pnpm version 10 or higher. The visual viewer panel only works on DSH's web profile, though the read_3d_model conversion tool can still be used on headless or TUI profiles. The plugin is released under the open source MIT license, but STEP format support relies on the LGPL-licensed OpenCascade WASM binary that is dynamically loaded from a CDN by default. Currently, STEP parsing is only supported in the browser client, and the host side tool only supports OBJ and STL conversion.

这是一个专为 DeepSeek Harness (DSH) 开发的原生插件,核心功能是在 DSH 的 Web 界面中查看三维模型,并将模型转译为大语言模型可读的标准化 JSON,让纯文本大模型无需 CAD 内核即可理解模型内容。插件支持 OBJ、STL、STEP 三种常见 3D 格式,分为 Host 端和 Client 端两部分,Host 端注册工具让 Agent 读取模型并转译,Client 端提供基于 Three.js 的可视化面板。

用户使用时,先打开 DSH 会话,在右侧悬浮面板拖拽或选择本地 3D 模型文件加载,加载后可以交互调整模型的旋转、平移、缩放,还可以修改材质、光照、开启剖面视图。用户还可以为模型添加自定义描述,随 JSON 一起发送给大模型,减少误判。也可以导出转译后的标准 JSON 文件,适合需要让大模型处理 3D 模型的开发者和工程师。

本插件要求 Node 版本 ≥ 20,pnpm ≥ 10,需要安装在 DSH 的 web profile 下才能正常使用可视化面板,headless/TUI 环境仅可使用模型转译工具。插件采用 MIT 许可证开源,其中 STEP 格式支持依赖 LGPL 协议的 OpenCascade WASM 二进制。当前仅支持在浏览器端解析 STEP,Host 端工具仅覆盖 OBJ 和 STL。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:lishLRF/dsh-3d-model-viewer

把 lishLRF/dsh-3d-model-viewer 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-3d-model-viewer

一个面向 DeepSeek Harness (DSH) 的 插件:在 Web 界面里查看三维模型,并把模型转译成 标准化的、LLM 可读的 JSON, 让纯语言大模型无需 CAD 内核也能“看懂”一个零件。

#dsh-plugin


功能

# 能力
1 在 DSH Web 界面右侧的悬浮面板中展示 OBJ / STL / STEP 模型,样式对齐 DSH 主题。
2 交互:旋转 / 平移 / 缩放;材质(颜色、金属度、粗糙度、线框)、光照(环境光 + 主光)、剖面(裁剪平面)视图。
3 把任意受支持模型转译成同一套标准 JSON(dsh-3d-model/v1),含语义分析,语言模型可直接阅读。
4 发送到 AI:一键把 JSON + 提示词写入 DSH 输入框,随用户输入一同上传;或立即发送为排队消息。

工作原理

一个包、两个半边(DSH 插件的标准形态):

  • Host 半边(src/index.ts)—— 注册 read_3d_model 工具,让 Agent 自己能读盘上的 OBJ/STL 并转译成标准 JSON;同时导出转译库(translateFromBytes / translateObj / translateStl 与 schema)。
  • Client 半边(src/client/*)—— 按 DSH client-module 契约构建的浏览器 bundle,在 shell.overlay(加性、帧级悬浮层,不会覆盖系统 UI)注册面板,用 three.js 渲染,并通过 sessions scope 触达对话、追加/发送模型块。
  拖拽/选文件 ──▶ load.ts ──▶ 解析器(obj|stl|step) ──▶ 标准 JSON 文档
                                                    │
                          ┌─────────────────────────┤
                          ▼                         ▼
                 three.js 查看器(scene.ts)     buildPromptBlock(send.ts)
                 旋转/材质/光照/剖面            └──▶ conversation.input.setDraft

安装与部署

本插件是一个 DSH bundle:package.json 声明了 dsh.bundle(指向 cordis.patch.yml) 与 dsh.client(浏览器 bundle)。把它加进一个 profile,dsh plugin 会将其作为一层 叠加在 @deepseek-ai/dsh-base 之上。

DSH 的 Web 界面运行在 web profile 上(dsh web ≡ dsh --profile web,由 @deepseek-ai/dsh-base + @deepseek-ai/dsh-web-app 组成)。如果你用的是其它 profile, 把下面的 web 换成你的 profile 名。

方式 A —— 一键安装(Release tgz,推荐)

dsh plugin --profile web add https://github.com/lishLRF/dsh-3d-model-viewer/releases/download/v0.1.1/dsh-3d-model-viewer-0.1.1.tgz

预编译包已包含 lib/ 构建产物:无需安装时构建、无需 allowBuilds 授权,装完 dsh web 即可。

方式 B —— 从 GitHub 源码安装

dsh plugin --profile web add github:lishLRF/dsh-3d-model-viewer

pnpm ≥ 10 会拒绝执行 git 依赖的 prepare 构建脚本,直到你显式允许。第一次 add 会失败并 打印需要复制的包名,把它写进 profile 的 pnpm-workspace.yaml,再重跑 add:

allowBuilds:
  dsh-3d-model-viewer: true

为供应链安全建议锁定 commit(prepare 脚本会在你机器上执行):

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev RemoteOps 下一个 Next .dsh-plugin-installer →