Configuring dsh-blender-plugin
DeepSeek Harness loads dsh-blender-plugin as a profile bundle. The profile’s package.json uses the dependency key @dsh-external/dsh-blender-plugin and adds the same package to dsh.profile.bundles. The repository includes the built lib directory, so a normal checkout is ready to use. Rebuilding after changes to src/ uses DSH_CHECKOUT with scripts/build.sh.
The Blender-side connection is provided by addon/dsh_blender_bridge.py. Install and enable that file in Blender, open the 3D View’s N panel, and click Connect. The addon listens on 127.0.0.1:9876.
Commands and checks
DeepSeek Harness exposes Blender operations including blender_viewport and blender_rt_worker.
blender_viewport with op="launch" starts Blender, enables the addon and connects automatically.
blender_rt_worker with op="start" starts a persistent headless worker, taking a worker name.
blender_rt_worker with op="see" requests a frame for that named worker.
curl http://127.0.0.1:9877/health checks the service.
curl http://127.0.0.1:9877/doctor checks the GUI route; acceptance requires kind equal to ok.
A headless worker returning a frame confirms the fallback route. The GUI doctor’s bpy round-trip is expected to be unreachable in headless-only mode.
Requirements for dsh-blender-plugin
DeepSeek Harness must be installed and working. The backend requires Node.js 20 or newer. Blender 4.x or 5.x is supported; GUI mode requires the bundled addon, while headless mode requires only the Blender executable. An optional DeepSeek Harness source checkout is needed only to rebuild the plugin.
Behaviour and limits
The normal path is GUI-first and interactive. Headless mode is a fallback that supplies Workbench frames rather than a GUI. Reference measurements return pixel units when no scale is known instead of inventing millimetres. The plugin can export GLB, FBX or OBJ in documented workflows, and can produce a turntable MP4. It is local-only as documented: the addon uses 127.0.0.1, and the README does not document a remote Blender transport.
Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub