Suwu
Make the remote shell enjoyable
in agentic AI time.
Your real shell, in a browser tab. Suwu gives agents and humans alike a tiling terminal that keeps running when you don't — refresh, disconnect, come back tomorrow, pick up where you left off.
Install
curl -fsSL https://raw.githubusercontent.com/liyu1981/suwu/refs/heads/master/install.sh | sh
The download lands in ~/.local/bin/suwu and walks you through onboarding.
See it in action.
Built for the way you actually work.
-
A tile-based window manager, by keyboard or mouse
Split, focus, move, and swap tiles with fast key bindings or a click and drag — whichever fits the moment. And your sessions live in the layout: refresh the page, drop the connection, even restart the server, and every tile comes back exactly as you left it.
-
Full-featured terminals, perfect for agents
Real shells with selection, copy/paste, scrollback, and notifications — comfortable for you, and a solid target for agent orchestrators like
opencode,pi, andherdrthat drive many terminals at once. -
Convenient apps for everyday dev work
A file browser with download, a file viewer with auto-refresh, a TCP/UDP port forwarder, a database browser for SQLite, MySQL, and PostgreSQL, and a Postman-style REST helper that reaches
localhostand your LAN from the server side — the small tools you'd otherwise reach for a second terminal or a GUI client, right in the grid next to your shells. -
From terminal to web, with suwu commands
suwu sendposts a notification to your screen from any script — pipe stdin, set a title.suwu forwardopens a port-forwarding tile,suwu openresolves links and actions on the remote machine. Long builds finish? You'll know. -
Reachable, but only by you
Access works out of the box on localhost, your LAN, or over the internet behind a reverse proxy — with password authentication, per-run tokens, and one-command HTTPS.
-
Yours to tune
Pick your font family and size, theme the colors, dial in a glassy background alpha, and choose a full-viewport background — an ambient blob, a looping video clip, or a WebGPU seascape — with a live preview in Settings. The interface speaks English and Chinese out of the box.
-
Install once, stay current
Onboarding sets up your dev environment step by step, and
suwu upgradekeeps the binary fresh. No config files to babysit. -
Build output lands on your laptop
Folder Sync mirrors a folder on the server into a folder on your own computer, one way and re-checked every few seconds — a local copy of what the build just produced, without a second shell or an
rsyncyou have to remember.Server → local Read the docs → -
Your own apps, in a sandbox
An extension is a small JavaScript program that returns an HTML page. It runs in a QuickJS isolate, in its own process, behind a strict content policy — with its own API routes, static assets, and a token that opens nothing but its own endpoints. Drop one in your data directory and it is an app tile.
gqjs · sandboxed Read the docs →
Inspired by great work.
Suwu is inspired by Omarchy — the opinionated, keyboard-first Arch + Hyprland setup from DHH and team. With that same spirit, Suwu aims to bring that same level of enjoyment to the web-based remote shell — a terminal you would actually want to use day after day.
Built on the shoulders of creack/pty, libghostty-go, xterm.js, React, Tailwind CSS, Radix UI, and wazero.