dsh-blender-preview
English | 中文
A DeepSeek Harness plugin that will preview Blender .blend files in the right sidebar: the host half exports a cached GLB headlessly through your local Blender install, and the browser half renders it in an interactive WebGL viewport with scene statistics.
Status: scaffold (v0.2.0). This release publishes the wiring, not the feature: the bundle row mounts, the package ships
dsh-blender@^0.2.4as a dependency with a non-mutating boot self-check, makes no network calls and collects no telemetry, and nothing previews a scene yet. The headless-GLB export and the WebGL viewport land in the next version.
Install
From npm:
npx @deepseek-ai/dsh plugin --profile web add dsh-blender-preview
Or straight from GitHub:
npx @deepseek-ai/dsh plugin --profile web add github:adithyanraj03/dsh-blender-preview
The package runs no install scripts (no postinstall), so pnpm's ignored-builds prompt does not apply. Installing it also pulls one dependency, dsh-blender@^0.2.4, into the profile alongside — see Works with dsh-blender. Confirm it mounted — the plugin must appear in both dependencies and dsh.profile.bundles:
cd ~/.dsh/profiles/web && node -e "const p=require('./package.json');
console.log(p.dependencies['dsh-blender-preview'],
p.dsh.profile.bundles.includes('dsh-blender-preview'))"
In the desktop app
Open Plugins (settings, left sidebar) → Add plugin, paste the repository address, click Install:
https://github.com/adithyanraj03/dsh-blender-preview
Installed plugins do not update automatically yet — to upgrade, uninstall and install again. The host half loads at startup, so restart the app after installing or upgrading.
What this scaffold ships today
- The host row (
id: blender-preview) mounts on dsh web and desktop. The row id is permanent from this release forward — later versions replace the row's config, never its id. npm test— a dependency-free wiring harness that checks the three places the package name lives agree and that every shipped file exists.- The bilingual README pair, the documentation site (GitHub Pages), and the release process: every release ships a
plugin.tgzasset with detailed notes.
The planned feature, in one line: a local blender --background process exports the active .blend to a cached GLB (re-exported only when the file changes), and the right sidebar renders that GLB in an interactive WebGL viewport with scene statistics. Everything runs against your local Blender installation — no cloud, no API keys.
Works with dsh-blender
This package declares dsh-blender (npm dsh-blender) by CheshireJCat as a dependency, so a registry or GitHub install puts dsh-blender@^0.2.4 into the profile next to this plugin. At boot, the host half runs a non-mutating self-check: for every profile that depends on this package it verifies that dsh-blender is installed in that profile and mounted in its dsh.profile.bundles, and when either is missing it logs the exact one-liner that repairs it:
npx @deepseek-ai/dsh plugin --profile web add dsh-blender
The self-check reads; it never installs or edits anything itself. This matters for link: dev profiles, where pnpm does not install the linked package's own dependencies — the check reports the gap instead of assuming it away.
Credit: dsh-blender is a community plugin by CheshireJCat — Blender modelling tools and skills for dsh.
Prior art
dsh-blend-preview on npm is taken and deprecated; its author renamed it to dsh-preview-blender, which already implements headless-GLB + WebGL sidebar preview. This is an independent implementation under the dsh-blender-preview name, verified available on npm when this scaffold was created.
Development
npm test # wiring harness
python scripts/make-banner.py # regenerate the README banners (Pillow)
Layout mirrors dsh-graft:
| Path | Role |
|---|---|
src/index.js |
host half — dsh-blender boot self-check, then Blender resolution + cached GLB export (stub) |
src/client.js |
browser half — sidebar tab + WebGL viewport (stub) |
cordis.patch.yml |
mounts the host row; name must equal the package name |
scripts/test-harness.mjs |
dependency-free wiring test |
scripts/make-banner.py |
regenerates assets/banner-*.png |
docs/ |
GitHub Pages site |
assets/ |
icon and banners |
Compatibility
| Host | Status |
|---|---|
| dsh 0.2.x (web + desktop) | row mounts; feature not implemented |
The feature will require a local Blender installation at runtime (resolution logic lands with the implementation).
License
MIT © Adithya N Raj
No comments yet. Be the first to write one.