Self-hosted command deck for your AI-coding agents — Claude Code, opencode, Codex, Gemini & Antigravity. Sessions survive every deploy. Pulse curates your recent work; a live map commands it. One-line install.
▸ curl -fsSL https://battlelab.superstatus.io/install.sh | sh
Don't want to run a reverse proxy or open a port? Opt in at install and your box dials out to our blind relay — reach a live terminal from any browser. No account, free, sessions cap at 60 minutes.
▸ curl -fsSL https://battlelab.superstatus.io/install.sh | AGENT_SESSIONS_REMOTE=stream bash
Our relay is a dumb bridge. It sees only ciphertext and a console name you choose — never your keystrokes, output or files. We forward encrypted frames between your box and your browser and nothing else; there's no plaintext for us to read, log or hand over.
The session is encrypted end-to-end between your box and your browser — an X25519 handshake keyed by your access key, then AES-256-GCM. The keys live at the two ends, not on the relay, so the relay can't decrypt the stream even if it wanted to.
No signup, no email, no profile. Your box dials out to the relay — we don't run code on it and hold no credentials for it. Sessions cap at 60 minutes, and there's nothing to delete afterward because there was never an account.
The access key is generated on your box and is the pre-shared key for the encryption — it never travels to us in the clear. It grants full control of that machine, so keep it secret. BattleLab staff will never ask for your access key or console name.
Agents run in detached sessions that outlive tabs, reboots and deploys. Reattach and scroll up — clean, console-style history for all five engines: Claude, Codex, opencode, Gemini & Antigravity.
Pulse reads your recent sessions and curates a state of your work overview — ranked by what needs you (⚠), what's in flight, and what's idle, each one click from jumping back in. Cached so it loads instantly; pick the depth, from free local curation to an AI synthesis banner.
A live flowchart of every session, grouped into projects. Open multiple agents on one screen and command the whole operation at a glance.
A mobile-first terminal with a real compose bar, control keys and image paste. Drive your fleet from a phone.
An AI reads every running session and posts a one-line summary on each row, flagging the ones that need you (⚠) — triage your whole fleet at a glance, no transcript-scrolling required. Point it at any OpenAI-compatible endpoint, even a local model.
New sessions file themselves. An AI matches each unassigned session to the right project — confidently, or not at all — so your map stays organised without manual sorting. Reuses the same endpoint as reviews.
BattleLab (the agent-sessions project) is a self-hosted, mobile-first web app that organizes and runs your AI coding agents — Claude Code, Codex, opencode, Gemini, and Antigravity — in one place, each in its own persistent terminal session.
Five engines today: Claude Code, Codex, opencode, Gemini, and Antigravity. Each appears in a unified sidebar, grouped by project, with per-engine badges and filtering. Adding an engine is one small provider in the registry.
Pulse is an AI-curated overview of your recent work: it reads your sessions and ranks them by what needs you, what's in flight, and what's idle, with one-click jump-back-in. Results are cached so the page loads instantly, and you pick the depth — free local curation (zero LLM calls) or an AI “state of your work” synthesis. It reuses the same OpenAI-compatible endpoint as AI reviews.
Yes. BattleLab is open source under the MIT license and fully self-hosted — your sessions and data never leave your own machine.
One line: curl -fsSL https://battlelab.superstatus.io/install.sh | sh. It's a rootless, user-level install (no root, no system daemon) with atomic releases, one-step rollback, and an opt-in self-updater.
Yes. Every session runs under its own detached PTY (dtach), so you can close the tab, reboot, or upgrade the app and reattach to the exact same conversation — with clean, console-style scroll-up history for all five engines.
Yes — it's mobile-first: a touch-ready terminal with a real compose bar, control keys, and image paste, so you can drive your whole fleet of agents from a phone.
It's a single-admin tool that launches agents with permission bypass by design — treat it like SSH. Run it on your own host behind a reverse proxy (TLS + auth); it also has cookie + CSRF + same-origin checks and optional TOTP two-factor auth.
No. Streaming is opt-in (AGENT_SESSIONS_REMOTE=stream) and end-to-end encrypted between your box and your browser (X25519 keyed by your access key, then AES-256-GCM). Our relay only forwards ciphertext tagged with a console name you choose — it never sees plaintext, holds no keys, and there's no account or stored history. Sessions cap at 60 minutes.
One line: curl -fsSL https://battlelab.superstatus.io/uninstall.sh | sh. It asks to confirm, then stops the service, removes the install (the ~/.local/share/agent-sessions tree, its systemd units, config, and scrollback cache) — and leaves your agents' own session history (Claude / Codex / opencode / Gemini / Antigravity) completely untouched.