Supported languages
| Language | Extensions | Runtime |
|---|---|---|
| Python | .py | Python 3.12 |
| TypeScript | .ts, .tsx | Node.js 20 via tsx |
| JavaScript | .js, .jsx, .mjs, .cjs | Node.js 20 |
How it works
Your agent reads input and writes output. Superserve handles sessions, streaming, and sandbox lifecycle.Stdio mode (default)
Scripts that read from stdin and write to stdout get multi-turn conversation support automatically. Each read receives the next user message; each write streams the response back.HTTP server mode
If your agent runs its own HTTP server (FastAPI, Express, etc.), pass--port:
localhost:PORT/run inside the sandbox. Use this for custom endpoints, WebSocket connections, or when your agent serves a frontend alongside the API.
Dependency detection
Superserve auto-detects and installs dependencies from your project files. No build step required.| File | Language | What happens |
|---|---|---|
requirements.txt | Python | Installed with uv pip install |
pyproject.toml | Python | Installed with uv pip install |
package.json | TypeScript / JS | Installed with npm install |
Only files at the project root are detected. Nested dependency files are ignored.
Project structure
Superserve packages your entire project directory (minus ignored files) and extracts it into/workspace inside the sandbox. Your entrypoint runs from there.
Ignoring files
By default, common directories like.git, node_modules, .venv, and __pycache__ are excluded from the upload. To customize, create a superserve.yaml:
superserve.yaml
Configuration file (optional)
You don’t need a config file. But if you want to customize the agent name, declare required secrets, or set ignore patterns, create asuperserve.yaml:
superserve.yaml
| Field | Description |
|---|---|
name | Agent name (default: directory name). Lowercase, alphanumeric, and hyphens only. |
command | How to start the agent. Auto-detected from entrypoint if omitted. |
secrets | Environment variables the agent requires. Shown as a reminder after deploy. |
ignore | Files/directories to exclude from the upload. |
What happens when you deploy
- Sandbox: Your agent runs in an isolated VM with its own kernel, filesystem, and network. Nothing it does can touch your infrastructure or leak into another session.
- Dependencies:
requirements.txt,pyproject.toml, orpackage.jsonare detected and installed automatically. Cached across deploys. - Network: Outbound HTTP requests route through a managed proxy that injects API keys into outgoing requests. Your agent makes authenticated calls without ever seeing the credentials. They never appear in the LLM context, logs, or tool outputs.
- Persistent state: The
/workspacefilesystem survives across turns, restarts, and sessions. Resume a conversation days later with every file and the full history intact. - Live: Your agent is ready. Run it with
superserve runor call it via the SDK.
See the CLI reference for the full list of deploy flags, or jump to a framework guide for a complete example.