A local-first workspace that can open draw.io

DiagramTool is a browser app. Boards live in an IndexedDB database named diagram-tool-workspace on this device. You can also File → Open and File → Save against a file on disk. There is no requirement to create a DiagramTool account to use the editor, and import paths are written to fail closed rather than fetch remote content out of a diagram file.

Open the workspace

What “local-first” means here

The workspace holds architecture, flow, sequence, and Gantt boards (and presentation frames attached to a board). A size meter warns when a board is getting heavy. You can export a JSON backup or a single-board portable file. A workspace backup JSON is not treated as a single board on open — that file is rejected with a clear error so you do not overwrite one diagram with a bundle.

Where the File System Access API exists, Save writes JSON and will not overwrite a Mermaid or draw.io handle with board JSON. If you opened flow.mmd or map.drawio, saving the working board asks for a new JSON file instead of clobbering the source you imported.

An optional local MCP server in this repository talks stdio to an editor on the same machine. That is still your process and your files — it is not a hosted DiagramTool API.

File → Open accept list

CSV import is a separate path for APM-style service maps (source, destination, protocol-style columns), not a replacement for draw.io.

draw.io import — flow only, best-effort

A valid mxfile becomes a flow board. Mapped: rectangles, rounded boxes, ellipses, diamonds, and common flowchart stencils, plus edges with both endpoints. Dropped on purpose: swimlanes, groups, containers, tables, images, text-only overlays, extra pages, dangling edges, and stencils the importer cannot classify. Infra shapes do not become architecture cloud nodes.

Safety checks run locally: oversized files fail, DTD/ENTITY payloads fail, labels are stripped to plain text, remote http(s) images and svg-xml data URLs are skipped. The importer does not upload your .drawio to a DiagramTool server.

There is no draw.io export and no round-trip guarantee. If you need the original file later, keep it. The workspace holds the mapped flow DSL.

Four modes, one device

Use architecture for service maps, flow for processes (including Mermaid flowcharts and draw.io), sequence for Mermaid call traces, and Gantt for plans. Switching tabs does not send the board anywhere. Clearing site data will clear IndexedDB — export a backup if the board matters.