.canvas.json suffix. They store nodes and edges for infinite-canvas layouts in the web UI and for agents via API or MCP.
File format
Each canvas is JSON with top-levelnodes and edges arrays. Node and edge objects carry id, type, optional coordinates (x, y), and a data map for extensibility.
Common node types include file references, text labels, link arrows, and grouped regions.
Web UI
Click Canvas in the toolbar to open the canvas hub. You can create, rename, and switch between canvases stored undercanvases/. The interactive Flow renderer lets you drag nodes, pan and zoom, and edit the diagram visually. Changes persist to the underlying .canvas.json file.
Graph-assisted layout
POST /api/kiwi/canvas/generate builds a new canvas from the wiki-link graph using layout modes such as hierarchical, radial, force, or circular. Restrict to a folder prefix so only part of the graph is laid out.
For canvases that already exist, POST /api/kiwi/canvas/auto-layout?path=... repositions nodes using Graphviz engines (dot, neato, fdp, circo).
Incremental edits
Agents can apply batched operations withPATCH /api/kiwi/canvas instead of rewriting the full JSON document. See the Canvas REST API for supported op values.
Related documentation
Canvas REST API
List, read, write, patch, query, and auto-layout.
Whiteboard
Excalidraw diagrams in markdown files.
MCP
kiwi_canvas_list, kiwi_canvas_read, kiwi_canvas_write.Web UI
Toolbar views including Canvas and Whiteboard.