Terminal Evolution

Opustrator

Multi-agent terminal orchestration system with infinite canvas. Position AI terminals anywhere on a 10,000x10,000px workspace with glassmorphism design and StarCraft-style control groups.

TypeScript 62% JavaScript 19% v3.15.0 6.8 MB Sep 7, 2025
MultiTerminals XtermOrchestrator Opustrator Tabz TabzChrome

The bridge project. After MultiTerminals and XtermOrchestrator proved terminals could live in browsers, Opustrator asked: what if they lived on an infinite canvas? The answer was powerful but heavy -- the insight that a simple sidebar beats infinite freedom led directly to TabzChrome becoming the breakout hit.

zoom: 1.0x | 0, 0
drag to pan / scroll to zoom / drag terminals to reposition

Opustrator is an ambitious experiment in spatial computing for AI agents. Instead of tabbed or split terminal layouts, every terminal instance lives as a freely-positioned card on a massive canvas. Pan, zoom, and arrange your AI coding assistants like units on a strategy map.

The system supports seven distinct terminal types -- from Claude Code and Codex to custom orchestrator shells -- each backed by persistent tmux sessions that survive browser refreshes. A glassmorphism design with seven animated background themes makes the workspace feel alive.

Infinite Canvas

10,000x10,000px workspace with smooth pan and zoom (0.25x to 3x). Position terminals anywhere, group related agents together spatially.

7 Terminal Types

Claude Code, OpenCode, Codex, Gemini, Bash, TUI tools, and Orchestrator. Each with its own spawn configuration and visual identity.

RTS Control Groups

StarCraft-style hotkeys: Alt+1-9 assigns terminals to groups, 1-9 recalls and focuses them. Manage AI agents like units in battle.

Glassmorphism Design

Translucent panels with backdrop blur over 7 animated backgrounds: Balatro, Rain, Clouds, Particles, Deep Ocean, Crystal Cave, Space.

tmux Persistence

Every terminal is backed by a tmux session. Close the browser, reopen it, and all terminal state is preserved exactly where you left off.

Portal Fullscreen

True overlay mode for distraction-free work. Any terminal can expand to fill the viewport while others wait in the background.

Universal File Viewer

Built-in viewer with syntax highlighting for 40+ languages and markdown rendering. Preview files without leaving the canvas.

Lock to Viewport

Pin terminals to fixed screen positions that stay anchored while panning. Keep critical outputs always visible regardless of canvas position.

spawn-options.json

A single configuration file defines all terminal spawn types, commands, themes, and behaviors. The pattern that carried forward to Tabz and TabzChrome.

Inspired by real-time strategy games. Assign groups of terminals to hotkeys, then recall them instantly. Click the keys below to see which terminals they would select.

1claude x3
2codex x2
3bash x4
4gemini
5tui
6--
7--
8--
9orch
React Vite xterm.js WebSocket Node.js + Express node-pty tmux Zustand TypeScript CSS Glassmorphism Canvas 2D
TypeScript 62% JavaScript 19% CSS 11% Shell 6% HTML 1% Docker 0.5% Go 0.4%
// Full-stack terminal orchestration Browser (React + Vite) ├── InfiniteCanvas -- 10,000x10,000 pan/zoom viewport │ ├── TerminalCard[] -- draggable glassmorphism panels │ ├── ControlGroups -- Alt+N assign, N recall (RTS-style) │ └── ViewportLock -- pin terminals to screen positions ├── Zustand Store -- terminal state, positions, zoom ├── xterm.js -- terminal rendering (14 themes) └── BackgroundEngine -- 7 animated canvas themes | | WebSocket v Server (Node.js + Express) ├── SessionManager -- spawn-options.json config ├── node-pty -- pseudo-terminal allocation └── tmux -- session persistence layer | v AI Agents (Claude, Codex, Gemini, OpenCode, ...)
6.8
MB Total Size
7
Terminal Types
7
BG Themes
14
Term Themes
40+
Languages
3.15
Version