blit
Terminal multiplexer and experimental Wayland compositor for browsers and AI agents. Nothing to configure, no required dependencies.
We publish a computer agent skill.
Try it now — no install needed:
docker run --rm --shm-size=1g grab/blit-demoOr install and run locally:
curl -sf https://install.blit.sh | sh
blit open # opens a browserShare over WebRTC:
blit share # prints a URL anyone can openManage named remotes and connect to them:
blit remote add rabbit ssh:rabbit # save a named remote
blit remote add prod ssh:alice@prod.co # another one
blit remote add work local:work # a named local server
blit remote list # show all remotes
blit remote set-default rabbit # make rabbit the default
blit open # local + all configured remotes
blit terminal list # lists terminals on rabbit
blit --on prod terminal list # one-off override
blit --on ssh:newhost terminal list # full URI also worksThe default remote is stored in ~/.config/blit/blit.conf as blit.target = rabbit and can also be set via the BLITTARGET environment variable. Named remotes are stored in ~/.config/blit/blit.remotes (mode 0600). blit open reads this file and shows all remotes in the browser's Remotes dialog (Cmd+K). SSH remotes are auto-installed on first connection. local:NAME entries work in the CLI, blit open, and gateways.
Forward ports to whatever the server can reach — ssh -L over any blit transport, plus UDP:
blit forward 8080:localhost:3000 # local 8080 → server's :3000
blit forward 8080:localhost:3000 5432:db:5432 # a list, over one connection
blit forward udp/5353:resolver.internal:53 # UDP too
blit forward add web 8080:localhost:3000 # remember it
blit forward --all # start every saved forwardOr proxy everything the server can reach through one port — ssh -D:
blit socks 1080 # SOCKS5 on 127.0.0.1:1080
curl -x socks5h://localhost:1080 http://api.internal/Names are resolved on the server, so socks5h:// (or a browser set to proxy DNS) reaches hosts your machine cannot look up.
Listeners bind to loopback unless you name a bind address. The relay reaches whatever the server reaches; restrict it with blit server --allow-forward 'host[:ports]'. Saved forwards live in ~/.config/blit/blit.forwards (mode 0600). See docs/design/net.md.