dsh-drawio: View Diagrams Directly in the DeepSeek Harness Sidebar
zhang-guo-wen/dsh-drawio
A DSH plugin for DeepSeek Harness that previews .drawio files as rendered diagrams in the Web Sidebar, so opening one from the file tree shows the drawing instead of mxGraph XML source.
dsh-drawio is a DSH plugin that renders .drawio source files from the file tree as the diagrams you drew inside the Web Sidebar, instead of leaving you with raw mxGraph XML. It solves the problem of diagram files being viewable only as source, so clicking a file shows the chart itself. Its core abilities include read-only inert rendering, support for both plain and compressed save formats, and fully local rendering with a stylesheet matching draw.io defaults. Maintained by zhang-guo-wen under Apache-2.0, with editing handled by a separate plugin.
How to Install
dsh plugin --profile web add github:zhang-guo-wen/dsh-drawio- Category
- Tools & Capabilities
- Platform
- DSH Plugin
- Author
- zhang-guo-wen
- Distribution
- Plugin
dsh-drawio Key Features
dsh-drawio Repo Summary
What Does It Do?
zhang-guo-wen/dsh-drawio is a DSH plugin for DeepSeek Harness that previews .drawio (mxGraph XML) diagrams in the Web Sidebar. It solves the problem of opening a .drawio file and getting raw XML source instead of the diagram you drew, letting you click a file in the tree and see the rendered chart right inside the harness. Maintained by zhang-guo-wen under the Apache-2.0 license, it renders entirely on your machine and sends nothing off it.
Core Features
- Read-only and inert: the file is decoded and laid out offscreen, and the pane receives only an SVG data URL, never an engine instance or live DOM, so diagram content cannot script the page.
- Both draw.io save formats: plain mxGraph XML and draw.io's compressed body (base64 + raw DEFLATE + percent escape); multi-page files render their first page.
- Fully local rendering with draw.io styling: no hosted viewer is involved, and the renderer applies a stylesheet matching draw.io defaults, so a cell whose style string omits a color does not inherit the storage engine's own palette while a cell's own style still wins.
- Independent from editing: editing is handled by a separate plugin, so this one stays focused on preview and the two do not depend on each other.
How to Use This Plugin?
Once enabled in your DSH web profile, open any .drawio file from the file tree and it renders as a diagram in the sidebar instead of XML source. The profile must already compose the sidebar document-preview capability, which every shipped web profile does; restart the host after enabling. Be aware of known limitations: edge routing and edge-label placement do not match draw.io, because a file stores an edge's endpoints and edgeStyle name but not the path between them, and shapes outside the bundled engine's set are drawn as plain rectangles rather than omitted. If a label cannot clear two nearby nodes, drag the label where you want it in draw.io or widen the gap, so the editor writes explicit coordinates into the file that every viewer honours.
How to Troubleshoot This Plugin?
A diagram shows plain rectangles: the shape is outside the bundled engine's shape set, a known limitation that never drops the file, so switch to a supported shape or verify the shape type in draw.io. Edge bend points or label positions differ from draw.io: the file does not store the path and each viewer computes it, so drag the label in draw.io or widen the node gap to write explicit coordinates back into the file. No preview appears in the sidebar: confirm the current web profile composes the sidebar document-preview capability, then restart the host after enabling the plugin.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: zhang-guo-wen/dsh-drawio. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
DSH Plugin FAQ
