DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
S

dsh-stl-preview

Stl Preview

Preview STL meshes inside DeepSeek Harness: the right-Sidebar document preview renders the triangles in a dependency-free WebGL viewport and reports size, volume, surface area and watertightness.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:439436269-ctrl/dsh-stl-preview#fd1ad275dd93c3a3766a0924f34309df85ade782
READMECompatibilityVersions

Compatibility and provenance

Stl Preview is published as dsh-stl-preview and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/21/2026

Versions

0.1.0stable
10/21/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/23/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundleRefresh session titles as new human prompts arrive.Personalized Recommendations@deepseek-ai/dsh-personalized-recommendationsPersonalized pages and built-in plugin recommendations offered as cards below answersExperimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI plugins

README

dsh-stl-preview

Preview STL meshes inside DeepSeek Harness: the right-Sidebar document preview renders the triangles in an interactive 3D viewport and reports the numbers that matter for 3D printing — size, volume, surface area and watertightness.

The STL preview inside the DSH right Sidebar

What it does

  • Registers a document-preview renderer for .stl files, so clicking one in Workspace files opens it in the right Sidebar.
  • Streams the file through an authenticated /api/stl-preview route and parses binary and ASCII STL in the browser — nothing is uploaded, nothing is converted on the host.
  • Draws the mesh with the same dependency-free WebGL viewer used by dsh-blend-preview: orbit, pan, wheel zoom, double-click reset, wireframe, auto-rotate, contact shadow, axis triad. STL is Z-up, so the mesh is rotated into the Y-up viewport before drawing.
  • Reports: format (binary/ASCII + header), file size, triangle count, welded vertex count, bounding box in millimetres, volume in cm³, surface area in cm², and watertightness (boundary edges / non-manifold edges / degenerate facets), computed by welding vertices on a grid and counting edge uses.
  • Handles unitless STL with a configurable unitScale (1 = millimetres, 10 = centimetres, 25.4 = inches).

Requirements

  • DeepSeek Harness 0.2.x (declared compatible with 0.2.0-rc.2 and 0.2.1-rc.2).
  • A browser/GPU with WebGL (the desktop app always has it). No Blender, no slicer, no network.

Install

dsh plugin --profile <profile> add dsh-stl-preview

The desktop profile is owned by the Electron app; install there through the plugin manager UI, or compose it manually and restart. The package ships a cordis.patch.yml, so the plugin row is added automatically.

Configuration

Settings → Plugins → STL preview (namespace stl-preview):

KeyDefaultMeaning
enabledtrueRegister the renderer and the byte route.
routePath/api/stl-previewAuthenticated mesh route. Must stay under /api; otherwise it falls back to the default.
extensions["stl"]Suffixes that open in the 3D preview.
maxBytes536870912Largest STL streamed (512 MiB).
chunkBytes1048576Bytes per ranged read on the host.
unitScale1Millimetres per STL unit; drives size, volume and area.
color#c7d2e2Viewport colour (STL carries no materials).
analysisMaxTriangles400000Above this, skip the watertightness pass instead of freezing the tab.

How it works

Workspace file click
        │
        ▼
document preview body (lib/client.js)
        │  GET /api/stl-preview?path=…   (raw bytes, ctx.fs chunks)
        ▼
parseStl(bytes)         binary: 80-byte header + uint32 count + 50 B/facet
                        ASCII:  facet normal / outer loop / vertex
        │
        ├── analyzeStl: bbox, area, signed volume, vertex weld + edge map
        └── setGeometry: rotate Z-up → Y-up, upload triangles
  • The route sits under /api, so the connection service authenticates every request (Host/Origin fence + session cookie) before a byte is read.
  • Watertightness is skipped above analysisMaxTriangles (the edge map is the expensive part); the panel says so.
  • Volume is the signed tetrahedron sum (|Σ v0·(v1×v2)/6|), area the summed triangle areas.

Development

dev/client-body.js   client UI, STL parser and statistics (CJS factory)
dev/viewer.js        the WebGL renderer, spliced into the bundle at build time
scripts/build-client.mjs   builds lib/client.js from the two files
scripts/live-selftest.mjs  parses a real STL with the shipped bundle
scripts/e2e-browser.mjs    Playwright end-to-end against a temporary DSH host
node --test test/*.test.js

lib/client.js is generated — edit the files under dev/ and rebuild.

Notes and limits

  • STL is unitless; the millimetre figures assume unitScale (1 by default). Set 10 for a file authored in centimetres.
  • Very large meshes (millions of triangles) parse on the main thread and may take a moment; the watertightness pass stops at analysisMaxTriangles.
  • ASCII STL with vertex colours or per-facet attributes beyond the standard grammar is not interpreted beyond positions and normals.
  • Nothing is uploaded: bytes go browser ← host over the authenticated route and are parsed in the page.