dsh-blender:爲 DSH 接入完整 Blender 3D 生產鏈路

前言

在 DeepSeek Harness(DSH)裏做 3D 建模,常見做法是讓智能體寫一段 bpy 腳本,再手動在 Blender 裏跑一遍。導入資產、多視角預覽、按目標驗收、導出 GLB 等步驟往往散落在對話外,難以形成可復現的工作流。

下面介紹 CheshireJCat 維護的 dsh-blender(SkillHub 目錄名 cheshirejcat/blender)。它把建模、重建、渲染、驗證與導出串成一套可安裝插件:註冊 1 個總編排 Skill、29 個領域 Skill、26 個分析/驗證 Helper,以及 13 個 workspace 級 Blender 工具。每次操作在本地啓動 Blender 後臺進程,不需要 Blender 插件或控制端口。

這是什麼

dsh-blender 是 npm 包 dsh-blender(當前版本 v0.2.1),分類爲工作流插件。它以 create-3d-model-skill 爲藍本,讓 DSH 智能體在會話 workspace 內完成從粗模到導出的完整 3D 生產步驟。

維護者 CheshireJCat,源碼託管於 GitHub(約 19 stars)。目錄頁見 SkillHub。SkillHub 是獨立的 DSH 插件社區站點,與 DeepSeek / 幻方無官方從屬關係。

核心功能

Blender 工具(13 個)

插件向 DSH 註冊以下可執行工具,均通過本地 Blender 後臺進程完成:

  • blender_status:檢查 Blender、分析用 Python、Skill、Helper 與當前 workspace 狀態。
  • blender_scene_info / blender_object_info:只讀查看場景與對象級幾何、材質、UV、約束、形態鍵與動畫。
  • blender_import:將 GLB/glTF、FBX、OBJ、STL、USD、PLY 或 DAE 導入並保存爲版本化 .blend
  • blender_python:執行小段經審查的 bpy/bmesh 代碼並保存版本化 .blend
  • blender_preview:不依賴已有相機,生成等距及前後左右頂底視角的臨時燈光預覽,不修改源文件。
  • blender_render / blender_render_frames:輸出單幀或動畫代表幀的 PNG/JPEG,供 read_image 做視覺驗收。
  • blender_export:導出 GLB/glTF、FBX、OBJ、STL、USD 或 PLY。
  • blender_validate_scene / blender_validate_export:按通用、Web、3D 打印或動畫等目標審計場景,並在乾淨進程中回讀導出物。
  • blender_helper_catalog / blender_helper_run:瀏覽並執行全部 26 個參考圖、線框、輪廓、多視圖、UV、貼圖、外觀、修復與動畫 QA Helper。

Skill 與 Helper 棧

30 個 Skill 中,create-3d-model 負責總編排;其餘如 blender-modelingreference-to-3dwireframe-to-3dblender-animation 等可由 DSH 直接加載。26 個 Helper 提供確定性的參考分析與驗證能力,與上述工具配合完成 blockout、細化、材質、燈光、相機、動畫、重建與產物交接。

環境要求

安裝前確認以下依賴可用:

  • DeepSeek Harness 0.1.0-rc.6
  • Node.js 20+
  • Blender 4.3+(實現已面向 Blender 5.x API 適配);blenderPATH 中,或在 cordis.patch.yml 裏配置絕對路徑
  • 若需參考圖、線框與視覺度量 Helper:Python 3.10+

安裝與啓用

SkillHub 與 README 給出的官方安裝步驟如下。先安裝插件,再執行分析環境初始化(可跳過,見後文說明):

npx @deepseek-ai/dsh plugin --profile web add dsh-blender
npx @deepseek-ai/dsh plugin --profile web exec dsh-blender-setup
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh web

dsh-blender-setup 會在已安裝插件目錄內創建私有 .venv,並安裝 OpenCV、NumPy、Pillow 與 SciPy。若完全不需要參考圖、線框、多視圖、貼圖或動畫分析 Helper,可跳過第二步。

固定 GitHub Release 版本時:

npx @deepseek-ai/dsh plugin --profile web add github:CheshireJCat/blender#v0.2.1

從源碼開發時,在倉庫根目錄執行:

pnpm install
pnpm setup:analysis
npx @deepseek-ai/dsh plugin --profile web add .

常用配置項

默認配置位於 cordis.patch.yml,可按需調整:

config:
  blenderExecutable: blender
  analysisPythonExecutable: ''
  timeoutMs: 180000
  helperTimeoutMs: 120000
  maxOutputChars: 20000
  restrictToWorkspace: true
  enablePython: true
  enableHelpers: true
  enableMaintenanceHelpers: false
  registerSkill: true
  registerModuleSkills: true

restrictToWorkspace: true 時,輸入與輸出須落在當前會話 workspace 內。enablePython: false 可關閉 blender_python,保留檢查、渲染與導出。registerModuleSkills: false 則只註冊總編排 Skill,不註冊 29 個領域 Skill。

典型用法

安裝並啓動 Web UI 後,打開 http://127.0.0.1:3080,新建以建模目錄爲 workspace 的會話,可向 DSH 發出如下任務:

使用 create-3d-model 創建一個低多邊形檯燈。
先調用 blender_status,粗模和最終版本分別保存並渲染驗收,
最後導出 GLB,同時保留版本化 .blend 源文件。

不經 Web UI 的一次性 headless 驗證:

npx @deepseek-ai/dsh plugin --profile headless add .
npx @deepseek-ai/dsh --profile headless \
  "使用 create-3d-model 在 artifacts 下創建一個低多邊形藍色立方體,渲染預覽並導出 GLB。"

README 中的示例輸出是一張無相機臺燈預覽,來自真實安裝冒煙測試。

適用場景與注意

適合需要在 DSH 會話內完成完整 Blender 生產鏈路的開發者與智能體工作流搭建者:從參考圖或線框重建、blockout 到材質燈光、動畫驗收與多格式導出,而不必在對話外手動切換工具。

使用前請注意:

  1. 插件以當前 dsh 進程權限運行;安裝前應閱讀源碼與 MIT 許可證,確認安全邊界符合預期。
  2. blender_python 與在 Blender 內運行本地 Python 權限相同,僅應用於可信建模代碼。插件默認禁用 .blend 內嵌腳本自動執行、將路徑限制在 workspace、默認拒絕覆蓋已有文件,且每次調用使用獨立後臺進程。
  3. 不需要 BlenderMCP 或額外 Blender 插件;每次操作直接拉起本地 Blender 後臺進程。

鏈接

dsh-blender 把 DSH 與 Blender 之間的零散腳本調用收攏爲可編排的生產工作流:檢查、導入、建模、預覽、渲染、驗證與導出在同一套工具與 Skill 棧內完成,適合把 3D 資產生產納入智能體會話的閉環驗收。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜