Oyster is a responsive web workspace for the pi coding agent. Start real work, steer it live, and review the results — from your desk or from your phone.
Open source · MIT license · Node.js ≥ 22 · ./scripts/install.sh

Every session streams straight to your browser — not a chat toy, a full working transcript.
Watch pi think and act in real time. Markdown, code, tables, thinking blocks, and collapsible tool-call steps render natively while the agent works.

Transcripts support KaTeX math, syntax-highlighted code blocks, and GitHub-style Markdown. Complex answers stay readable on a 390-pixel screen.

Swipe right for the sessions drawer: search, resume, fork, archive, and switch between conversations, grouped by workspace with live-runner indicators.

Change the model or cycle the thinking level from the header chip at any time — per session, without losing context.

Agents get files, repeatable jobs, and shareable interfaces — and so do you.
The file explorer lives inside the app: navigate the workspace, edit files, upload and download, or pin anything to the widgets rail. Server-side path checks confine access to allowed roots.

Swipe left for the widgets rail: pin files, Markdown docs, images, directories, and script-backed monitors as durable shortcuts. Workspace-visible or session-only — drag to choose.

Pinned Markdown opens in Oyster's own reader — headings, code, and lists rendered beautifully, with paging, download, and reveal-in-files. Private and authenticated, never a public URL.

Credentials, cost tracking, and security designed for agents that run untrusted code.
Connect providers with pi-native API-key or OAuth flows — including automatic
device-code login. Credentials stay in pi's own auth.json;
existing keys are never displayed, not even masked.

Cost, input/output tokens, cache reads, and reasoning usage — per model, over time, grouped by day or by model. Straight from the app menu.

Run production workspaces in dedicated VMs or hardware-isolated microVMs. Oyster Hub provisions one per workspace.
Bearer-token authentication with a strict never-publish-port-8080 rule; the token travels in a URL fragment, never in logs.
Public live-interface widgets: managed cloudflared tunnels expose agent-built services with a single description.
Sessions are grouped by folder; switching a session reopens its original workspace automatically.
One script installs Node, builds pi and the UI, runs the tests, and registers a persistent systemd user service.
Bundled extensions add sudo prompts, the file explorer, routines, and widgets straight into the pi agent.
Captured live from a running Oyster instance at 390 × 844.





Install Oyster on a fresh Debian or Ubuntu server in one command, put valid TLS in front of it, and run real work from anywhere.
# on a dedicated VM git clone --recurse-submodules https://github.com/SergeiKireevDev/oyster.git cd oyster ./scripts/install.sh # then open https://oyster.example.com/#token=<TOKEN>View on GitHub