Vmux/ Docs

Vmux — Architecture

An agent-first workspace that ships with a browser and an IDE. Designed to co-work with agents.

For the experience, see User Experience.


TL;DR

Vmux is a native Rust host that embeds Chromium via the Chromium Embedded Framework (CEF) — the browser is a guest surface, not the container. That inversion is the whole thesis: instead of your app living inside a web sandbox (Electron), the web lives inside a native host that reaches straight to the OS and GPU.

The host is built on Bevy, a data-oriented ECS: state in components, behavior in systems, one strongly-typed language end to end. Web views composite on the GPU into a tmux-style tiling tree (Space → Tab → Pane → Stack), and agents drive the whole thing over an MCP server — the workspace is an API.

The payoff: Chrome-parity CPU, direct native reach, and a multi-surface workspace that both humans and agents tile, persist, and reconcile in real time.

Deep dives

  • Why Rust + CEF — the runtime inversion, and why a web sandbox is the wrong ceiling for an OS-level workspace.
  • Rust for React JS developers — Bevy ECS as an in-memory database, lock-free concurrency, and Rust as the universal FFI glue.
  • ECS, explained — entities, components, and systems from the ground up, mapped onto the React model you already know.
  • Plugins — the build() contract, one capability per crate, and how the whole app is assembled from the plugin stack.
  • Co-working with agents — the MCP surface, anchored agent spaces, and the workspace-as-an-API tool set.
  • Background Service — the launchd-supervised daemon that owns PTYs and agent sessions so work outlives the window.
  • The layout model — Space → Tab → Pane → Stack, the selection invariant, and structural persistence.
  • The render stack — many CEF surfaces in one window, zero-copy interop, Rust-all-the-way-down UI, and the 3D mode.

The pages

The surfaces you actually work in — what each page is depends on its URL scheme (https://, file://, or vmux://):

  • Pages — the page abstraction, the vmux:// scheme, and the scheme-gated security bridge.
  • Browser — Chromium embedded via CEF; windowed-native vs GPU-texture rendering.
  • Terminal — a real PTY parsed in the daemon, streamed to a Dioxus grid as incremental patches.
  • Editor — a syntect + two-face highlighted files surface.