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 资产生产纳入智能体会话的闭环验收。

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

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

小夜