See the tree. Control the swarm.
A graph-native interface for OpenCode. Visualize sessions, track subagents, and control parallel workflows—all in one view.
OpenCode is powerful. But when you're running parallel sessions with subagents spawning subagents, the terminal becomes a wall of text. Fractals gives you a graph. You see which agents are running, what they're working on, and how they relate to each other. Click a node to inspect it. Open multiple panes to compare sessions. Watch token usage climb in real-time.
- Maturity: experimental public source
- Distribution: hosted at fractals.sh
- Package channel: none; this repository is a self-hostable app, not an npm package or CLI binary
- Maintainer model: solo-maintained
The private: true package setting is intentional. It prevents accidental npm publication while keeping the source public for local development, self-hosting, review, and forks.
- Session Graph — Every session is a node. Subagents branch off naturally. Zoom, pan, and click to explore the tree.
- Subagent Visualization — Depth-based coloring shows you the hierarchy at a glance. Parent agents connect to children. You see the structure, not just the list.
- Real-time Updates — SSE streaming from OpenCode. No polling, no refresh. Watch agents work as they work.
- Multi-project Support — Switch projects without restarting. Your sessions stay organized by project.
- Pane System — Open sessions side-by-side. Compare outputs. Monitor multiple agents without tab-switching.
- Token Stats — Cost and context usage per session. Know when you're burning tokens before you hit the limit.
- Diff Viewer — See exactly what files your agent touched and what changed. Code review without digging.
- Command Palette —
Cmd+Kto do anything. Slash commands, navigation, actions—all searchable. - Keyboard Navigation — Arrow keys, shortcuts, focus management. Built for people who don't want to touch a mouse.
# Clone and install
git clone https://github.com/skastr0/fractals.git
cd fractals
bun install
# Start OpenCode server in your project
opencode serve
# Start Fractals
bun devOpen the local Next.js URL printed by bun dev. Fractals auto-discovers your OpenCode server.
Zero config. Works with your stock OpenCode server. No forks, no migrations, just connect.
For a local production run:
bun run build
bun run start| Key | Action |
|---|---|
Cmd/Ctrl + K |
Open command palette |
Cmd/Ctrl + Enter |
Send message |
Escape |
Close panes/dialogs |
| Arrow keys | Navigate graph |
bun install # Install dependencies
bun run dev # Start dev server
bun run build # Production build
bun run check # Lint + type check
bun test # Run tests
bun run verify # Check + test + buildGitHub Actions runs bun run verify on pushes to main and on pull requests.
Fractals connects to a local OpenCode server and displays session, file, diff, and project metadata. Review what your local OpenCode server exposes before sharing screenshots, recordings, logs, or hosted instances. See SECURITY.md for private vulnerability reporting.
- Next.js with App Router
- React Aria for accessible components
- Tailwind CSS with tailwind-variants
- ReactFlow for node visualization
- Legend State for reactive state
See CONTRIBUTING.md for guidelines.
Run 20 agents. See them all. → fractals.sh