Evidence snapshot reviewed Sep 16, 2026GitHub checked Aug 21, 2026
Evidence-verifiedPlugin BundleFiles & DocumentsWeb Profile

dsh-drawio

Preview .drawio diagrams in the DeepSeek Harness Web Sidebar.

At a glance

What it does

Preview .drawio diagrams in the DeepSeek Harness Web Sidebar.

Use cases
Files & DocumentsVisualizationUIDocumentation
Works with
Https
Compatibility

Web Profile
Not declared in supplied evidence

Trust & status

Evidence-verified
Checked Sep 14, 2026, 2:30 PM UTC

Code-evidenced contributions

What it adds to DSH

Web UIDraw.io sidebar preview

Renders .drawio diagrams from the Web Sidebar instead of showing mxGraph XML source.

Mechanism evidence

Before you choose it

This Web plugin opens .drawio files from the file tree as rendered diagrams rather than raw mxGraph XML. It supports plain XML and compressed draw.io files; for multi-page files, it renders the first page.

Best for

DeepSeek Harness Web users who need to inspect draw.io flowcharts and diagrams without opening an external viewer.

Common tasks

  • Preview a .drawio file directly from the Web Sidebar.
  • Inspect compressed or plain mxGraph-based draw.io diagrams.
  • Review diagram structure visually while working with project files.

Permissions and data

The supplied README describes local, read-only rendering.

Permissions
  • Adds a client-side Web Sidebar document-preview contribution.
Data handling
  • The README states that files are decoded and rendered locally.
  • The README states that the preview receives an SVG data URL rather than a live diagram DOM.

Limitations

  • Preview is read-only; editing requires the separate dsh-drawioedit package.
  • Only the first page of a multi-page <mxfile> is rendered.
  • Edge routing and edge-label placement can differ from draw.io.
  • Unsupported stencil shapes are rendered as plain rectangles.

What DSHub checked

  • A pinned Git source and its DSH bundle patch are structure-verified.
  • The manifest declares a Web client contribution and sidebar document-preview peer dependency.
  • The repository declares Apache-2.0.

What DSHub did not check

  • Installation and runtime behavior were not executed from the supplied evidence.
  • No Harness version range is declared.
  • The npm registry package version was not found.

Pinned install

Install dsh-drawio

This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.

Visit the source project

Maintainer source

Project README

View at commit df09f13
Maintainer-authored contentCaptured from README.md on Sep 14, 2026. The text and repository-relative media are fixed to commit df09f13f6f73 with content hash 4cd98520ceb4; provider-hosted badges may update independently. README commands are upstream documentation; the DSHub copy action above is the verified, version-pinned install.

dsh-drawio

English | 中文

A plugin for DeepSeek Harness (DSH) that previews .drawio files as diagrams in the Web Sidebar: open one from the file tree and it renders as the diagram you drew, instead of opening as mxGraph XML source.

A .drawio file rendered as a diagram

Editing needs dsh-drawioedit. The two are independent packages; the limitations below say when this preview is enough.

What it does

  • Read-only and inert. The file is decoded and laid out offscreen; the pane receives an SVG data: URL, never an engine instance or a live DOM, so a diagram's content cannot script the page.
  • Both draw.io save formats. Plain mxGraph XML, and draw.io's compressed body (base64 + raw DEFLATE + percent escape). A multi-page <mxfile> renders its first page.
  • Nothing leaves the machine, and the styling is draw.io's. Rendering is fully local, unlike a hosted viewer. The renderer applies a stylesheet matching draw.io's defaults, so a cell whose style string omits a color does not inherit the storage engine's own palette; a cell's own style still wins.

Install

The built lib/ is committed, so the repository installs and runs with no build step on your machine. dsh plugin adds the dependency and the profile's bundle entry together — do not edit the profile manifest by hand.

# a checkout over HTTPS or SSH, or a local one — pnpm links a local checkout, so a rebuilt
# lib/ reaches the host on the next start
npx @deepseek-ai/dsh plugin --profile web add git+https://github.com/zhang-guo-wen/dsh-drawio.git
npx @deepseek-ai/dsh plugin --profile web add git+ssh://git@github.com/zhang-guo-wen/dsh-drawio.git
npx @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-drawio

# then restart the host
npx @deepseek-ai/dsh web

Remove it, dependency and layer together, with dsh plugin --profile web remove @zhang-guo-wen/dsh-drawio.

The profile must already compose @deepseek-ai/dsh-client-ui-sidebar-documentpreview, which owns the registry this plugin contributes to. Every shipped web profile does.

Known limitations

Edge routing and edge-label placement do not match draw.io. A .drawio file stores an edge's endpoints and its edgeStyle name, but not the path between them:

<mxCell id="e4" style="edgeStyle=orthogonalEdgeStyle;…" edge="1" source="n4" target="n5">
  <mxGeometry relative="1" as="geometry" />   <!-- no points, no label offset -->
</mxCell>

Both viewers therefore compute the bend points and the label position at render time from the same inputs, with different code: draw.io's editor adds its own routing and label-avoidance behaviour on top of the shared engine, and this plugin's engine does not carry it. Where the gap between two nodes is narrower than the label — 50px apart, 66px label — the label cannot clear both boxes without moving a node, and an opaque background would only paint over the text it covers.

Workaround. Drag the label where you want it in draw.io: the editor writes an explicit <mxPoint as="offset"> into the file, which every viewer honours. Widening the gap between the two nodes works equally well. Both fix the diagram at its source rather than in one viewer.

Shapes outside the engine's set are drawn as plain rectangles, never omitted: draw.io ships several hundred stencil shapes and the bundled engine carries a smaller set of its own.

Development

The repository root is the plugin package: its root package.json is @zhang-guo-wen/dsh-drawio. npm install <git-url> and dsh plugin add both package the repository root, so a plugin under packages/* would install as the wrong thing.

npm install
npm run build      # host half via tsdown; browser half via build-client.mjs
npm run typecheck  # tsc against the PUBLISHED @deepseek-ai/* packages
npm test           # loads the built bundle the way the browser does

Re-run npm run build and commit lib/ whenever you change src/.

The harness monorepo builds its client bundles with a script it does not publish, so this repository bundles the browser half itself. platform: 'browser' is set explicitly: under the bundler's node platform, a library whose exports lists a platform condition before import gets its server entry inlined, and that entry can call createRequire('module') at module scope — a require("module") the browser module table cannot answer. Only react and the DSH client packages stay external, so the deployed bundle carries no install-time dependency; npm test loads it with a module table holding nothing else and fails if it asks for more.

License

Apache License 2.0 — see LICENSE. Bundled third-party code is attributed in NOTICE. "draw.io" is a trademark of its owner; this package is not affiliated with or endorsed by draw.io.

Operate deliberately

Install and manage

Prerequisites and target Profile

Target Web Profile

Delivery Dsh Bundle Git — zhang-guo-wen/dsh-drawio#df09f13f6f73cfd0269ee764f986fef3650042bc

Verify, update, and remove

Show lifecycle commands
Verify
dsh plugin --profile web list

Compatibility and access

Web profile with the sidebar document Preview dependency Not declared in supplied evidence

Review compatibility evidence

Risk facts

Data Handling

The README states that diagram rendering is fully local and that nothing leaves the machine.

Evidence
License

Apache-2.0 license declared.

Evidence
Evidence and editorial reviewManifest, Bundle patch, distribution and freshness

Immutable evidence

Review status and source activity

AI reviewed

Use the immutable Git source path; the supplied record does not establish an npm-published installation.

AI reviewed Sep 14, 2026, 2:30 PM UTCGitHub facts last checked Sep 14, 2026, 2:30 PM UTC

No material source change has been recorded since this evidence baseline.

Next step

Follow the Plugin installation workflow

Subscribe to material changes for dsh-drawio