Press Tab to create your first node, type a prompt, then Ctrl+Enter to generate.
Press ? for all keyboard shortcuts.
Everything is stored only in this browser (projects in IndexedDB, settings in localStorage). API calls go directly from your browser to the provider.
Settings (and API keys) are not versioned: they live outside project snapshots and history.
Snapshots freeze the whole project (all nodes, versions and media) as a restorable version. Restoring keeps the current state as a “Before restore” snapshot.
| Navigate | |
|---|---|
| ↑/k | Go to parent |
| ↓/j | Go to first child |
| ←/h | Previous sibling |
| →/l | Next sibling |
| f | Center on selected node |
| Shift+F | Fit whole map |
| Shift+arrows | Pan canvas |
| +/-/0 | Zoom in / out / reset |
| Canvas | |
| a | Auto layout (clean up) |
| Create & edit | |
|---|---|
| Tab | New child node (new root if nothing selected) |
| n | New sibling node |
| Enter / e | Edit prompt |
| Ctrl+Enter / g | Generate (works while editing too) |
| Esc | Stop editing / close dialog / deselect wire |
| Del / x | Delete node (children stay) — or cut the selected wire |
| Wiring & context | |
| drag ⚬ port | Wire two nodes: the child inherits the parent's context (any number of parents) |
| click wire | Select a wire, then ✕ or Del cuts it (removes that context) |
| Node options | |
| 1234 | Set type: text / image / video / audio |
| [ / ] | Decrease / increase context depth |
| p | Switch node view: prompt + output / output / prompt |
| drag ◢ corner | Resize node (output scrolls) — double-click to reset |
| m | Node settings (model, type, context, versions) |
| Node versions | |
| , / . | Previous / next version of the node |
| v | Save current content as a new version |
| Project | |
| Ctrl+S | Save project |
| Ctrl+Shift+S | Save a project snapshot (see ⧗ History) |
| Ctrl+O | Open projects list |
| Ctrl+E | Export project as JSON |