前言¶
在 DeepSeek Harness 裏做機械、結構或硬件相關對話時,經常需要對照本機 CAD 模型:看外形、量大致尺寸、或並排對比兩個版本。常見做法是切到獨立查看器或在線平臺,往往伴隨上傳、資料庫綁定或額外客戶端。NOMAD-bri 維護的 dsh-product-model-compare 是 DSH 生態裏的客戶端類插件:在側欄打開本地 STEP/STP/STL/OBJ 與模型 JSON,支持單視窗或雙視窗對比,不建產品庫、不上傳、不改磁盤上的原文件。
這是什麼¶
插件倉庫:NOMAD-bri/dsh-product-model-compare。社區目錄頁:skillhub.cn 條目(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。
README 寫明:插件不包含產品庫、參數持久化到雲端或同步;只做本地文件的查看與臨時測量。模型僅在本機讀取;視窗狀態寫入瀏覽器 IndexedDB(dsh-local-model-viewer),STEP 解析用一次性臨時目錄,請求結束即刪。
核心功能¶
下面按界面區域歸納 README 中的能力(均已出現在官方文檔,此處不擴展未列出的功能)。
| 區域 | 能力 |
|---|---|
| 頂部 | 打開本地文件、搜索本機 STEP 列表、下拉選模型、刷新列表 |
| 左側工具條 | 旋轉、部件尺寸、兩點距離、三點角度、當前姿態尺寸、擺正模型 |
| 中央視窗 | 自適應取景,前 / 頂 / 側 / 等軸視角,藍色實體高亮選中部件 |
| 右側屬性面板 | 選中部件名稱與 X / Y / Z 尺寸、操作按鈕、測量記錄 |
| 工作區 | 單模型或雙模型對比;兩側各自記憶模型與視角 |
| 恢復 | 重新進入或重啓後恢復上次的模型、視角、姿態、孤立部件與測量 |
補充行爲:
- 擺正模型:點選一個平面,將該面法線對齊到 Z 軸;恢復原始姿態可撤銷。
- 單獨查看部件:只顯示選中部件,可單獨擺正和測量;返回整機復原。
- 清除測量只清標記;清除模型只清當前視窗與該側緩存,不會刪除磁盤原文件。
- 雙模型模式下左右兩側獨立緩存,互不覆蓋。
技術棧要點:index.js 負責 Host(索引、讀文件、STEP 子進程、靜態資源);client.js 註冊側欄;local-viewer.js 爲 Shadow DOM + three.js(vendor 內帶 three.js r170)。STL、OBJ、模型 JSON 在前端解析;STEP/STP 經 parse-step.py 與 OCP 三角化。
環境要求¶
- DeepSeek Harness,且支持以本地目錄安裝 bundle 插件。
- Node.js 20 及以上(掃描腳本與插件 Host)。
- 僅 STEP/STP 需要 Python 3.10+ 與 OCP(OpenCascade 綁定;README 推薦
pip install cadquery-ocp)。STL、OBJ、模型 JSON 不需要 Python。
安裝與啓用¶
官方說明是在 Harness 裏以本地目錄安裝 bundle,或在支持插件的界面中選擇含下列文件的目錄:
<倉庫目錄> # 含 package.json / cordis.patch.yml / index.js / client.js
安裝後側欄出現 「本地3D工作臺」。README 未給出 dsh plugin add github:... 一類命令,安裝方式以目錄 bundle 爲準。
插件以當前 DSH 進程權限運行;安裝前請自行通讀源碼與 MIT 許可證。
首次配置與典型用法¶
1. 生成本地 STEP 索引¶
模型下拉列表讀取索引文件。在倉庫目錄執行:
node scripts/scan-models.mjs
默認掃描所有固定磁盤,輸出到 ~/.product-model-compare/step-index.json。
只掃指定目錄或改輸出路徑:
node scripts/scan-models.mjs --root "D:\CAD" --root "E:\Models"
node scripts/scan-models.mjs --root "D:\CAD" --out "D:\my-step-index.json"
package.json 中也可通過 npm script 調用:npm run scan(等價於上述 scan 腳本)。
2. STEP 解析相關環境變量(可選)¶
僅當 Python 不在 PATH 上的 python,或 OCP 安裝路徑非默認時需要設置;改完後重啓 Harness 讓 Host 讀到變量。
| 環境變量 | 作用 |
|---|---|
PRODUCT_VIEWER_PYTHON |
Python 解釋器完整路徑 |
PRODUCT_MODEL_OCP_PATH |
含 OCP 包的目錄;多個路徑 Windows 用 ;,macOS/Linux 用 : |
PRODUCT_MODEL_INDEX |
索引文件路徑,覆蓋默認 ~/.product-model-compare/step-index.json |
3. 打開工作臺¶
側欄進入「本地3D工作臺」→ 從下拉選擇模型,或 打開本地模型。首次打開後,後續會自動恢復上次狀態。
典型對比流程(雙模型模式):左右各自選文件或索引項 → 分別旋轉、擺正、孤立部件 → 用兩點距離或三點角度做臨時測量 → 右側查看測量記錄;需要重來時對單側 清除模型 或 清除測量。
適用場景與注意¶
適合:需要在 Harness 對話旁快速查看本機 STEP/STL/OBJ、做網格近似測量、或左右對照兩個本地文件,且希望數據不出本機的開發者或工程師。
測量與精度(README「已知限制」):
- 尺寸、距離、角度基於三角網格,爲近似值;不是精確 B-Rep,不含壁厚測量。
- 姿態尺寸爲世界軸向外形包圍盒,隨擺正/孤立變化,不等同於 CAD 精確外形。
- STEP 三角化容差:線性 0.8、角度 0.35;極大裝配體可能慢或佔內存。
- 擺正需點選平面;圓管曲面上單個三角面作基準不可靠。
- 外部修改原文件後,緩存網格不會自動更新,需重新打開該文件。
- 目前沒有部件樹、剖切、爆炸圖、模型對比差值。
隱私與本地數據:索引僅記錄路徑,存於 ~/.product-model-compare/step-index.json;不上傳模型。點「清除模型」會刪除該側 IndexedDB 緩存。
結尾¶
dsh-product-model-compare 把本地三維查看與臨時測量收進 DSH 側欄,強調無庫、無上傳、不碰原文件,適合在智能體工作流裏就地核對幾何。進一步瞭解實現與貢獻約定見倉庫 README 與 UI-ARCHITECTURE.md。
- 目錄頁:https://www.skillhub.cn/plugins/NOMAD-bri/dsh-product-model-compare
- GitHub:https://github.com/NOMAD-bri/dsh-product-model-compare