sixtysevenlf/dsh-blender-plugin ↗★ 164
@dsh-external/dsh-blender-plugin
提供 15 个模型侧工具以实现 AI 直连驱动 Blender 的插件 适合需要通过 AI 进行 3D 建模、渲染诊断和 Python 脚本驱动的用户。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:sixtysevenlf/dsh-blender-plugin说明文档
阅读完整 README ↗8. Configuration
Resolution order: environment → config file → auto-detect → default. Nothing is hard-coded to a specific machine: working dir, Blender executable and ports are all configurable.
| Setting | Env var | Config key | Default |
|---|---|---|---|
| Working dir (frames/scripts) | DSH_BLENDER_WORKDIR | workDir | %LOCALAPPDATA%\dsh-blender-rt (macOS: ~/.dsh-blender-rt) |
| Blender executable | DSH_BLENDER_EXE | blenderExe | auto (Program Files / Steam / /Applications / PATH) |
| Addon host/port | DSH_BLENDER_ADDON_HOST/PORT | addonHost/addonPort | 127.0.0.1:9876 |
| Addon wire protocol | DSH_BLENDER_ADDON_PROTOCOL | addonProtocol | auto (ahujasid / category-action) |
| Backend port | DSH_BLENDER_HTTP_PORT | httpPort | 9877 |
| Hot-worker port | DSH_BLENDER_WORKER_PORT | workerPort | 9879 |
| Blender user config/scripts (GPU prefs) | DSH_BLENDER_USER_CONFIG / DSH_BLENDER_USER_SCRIPTS | blenderUserConfig/blenderUserScripts | null (headless does not read them) |
| Lease identity / TTL | DSH_BLENDER_HOLDER / DSH_BLENDER_LEASE_TTL_MS | holder/leaseTtlMs | `plugin-pid- |
| ` / 600000 ms | |||
| Headless client wait window | DSH_HEADLESS_WAIT_MS | — | 100000 ms (then {kind:"promoted", jobId}) |
| Auto-promote headless to the job layer | DSH_HEADLESS_AUTO_JOB_MS | — | 0 (off) |
Config file locations: $DSH_BLENDER_CONFIG → /dsh-blender.config.json → ~/.dsh/dsh-blender.config.json.
Check the effective config any time: curl -s http://127.0.0.1:9877/who (look at the config block) or blender_viewport op=doctor. Full details: docs/配置参考.md.
The working directory must be readable/writable from both ends (Blender is a Windows/macOS process, the host may be WSL/Linux): give the Windows form and the plugin maps the WSL form, and don't point it at a read-only mount or a WSL-internal path. Headless outdir/out_json accept WSL paths directly (the receipt echoes both real forms). Both DSH_HEADLESS_* variables are read once at module load, so restart DSH after changing them.