Agent servers
Tested with: zb CLI 0.1 · OpenSSH 9 · VS Code Remote-SSH, Cursor, Zed
An agent server is a cloud development machine for you and your coding agents. Each one runs in its own Kata VM with Ubuntu 24.04, Docker, Node 24 with pnpm and Bun, Python 3.12 with uv, Go, Rust, Git and the GitHub CLI, and the coding agents Claude Code, Codex, OpenCode and Gemini CLI preinstalled. You reach it over SSH through a bastion with the keys on your account, or from the web terminal in the portal. It is billed by the running hour; a stopped server pays only for its disk.
Quickstart
Section titled “Quickstart”-
Register your SSH public key on your account (once). Without an argument the CLI picks the first of
~/.ssh/id_ed25519.pub,id_ecdsa.pubandid_rsa.pub:shell zb ssh-key addOr paste the key under Account → SSH keys in the portal.
-
Create a server. Sizes and their prices are below:
shell zb ws create dev --size w1 --waitIt prints the server’s SSH command. In the portal: Agent servers → New.
-
Connect:
shell zb ws ssh dev # an interactive shell through the bastion -
Stop it when you are done. The home volume is kept; compute billing stops.
shell zb ws stop devzb ws start dev --wait # later, right where you left off
Connect over SSH
Section titled “Connect over SSH”The bastion listens on port 2222 of ssh.<region>.databasezy.com, and the SSH user name is the server id
(ws_...). It accepts only keys registered on your account and only for servers you own:
zb ws get dev prints this command for your server.
Connect from VS Code, Cursor or Zed
Section titled “Connect from VS Code, Cursor or Zed”Editors connect through a Host entry in your SSH config. zb ws ssh-config writes it for you, as a block it manages
and updates in place; every other line of the file is left alone:
zb ws ssh-config dev # print the Host blockzb ws ssh-config dev --write # add or update it in ~/.ssh/config (%USERPROFILE%\.ssh\config on Windows)# >>> zb ws dev (managed by zb) >>>Host zb-dev HostName ssh.us-east.databasezy.com Port 2222 User ws_01jb2m4k7q9xv3t8r5n6p0c2wd ServerAliveInterval 30 ServerAliveCountMax 4# <<< zb ws dev <<<Then open the server in your editor. zb ws code writes the block and launches the editor in one step:
zb ws code dev # same as: code --remote ssh-remote+zb-dev /home/devOr install Remote - SSH, run Remote-SSH: Connect to Host… and pick zb-dev.
zb ws code dev --editor cursor # same as: cursor --remote ssh-remote+zb-dev /home/devOr run Remote-SSH: Connect to Host… from the command palette and pick zb-dev.
Or choose Open Remote Project and enter the ssh:// address.
Your home directory is /home/dev. Use --path to open another folder, and --print to see the command without
running it. The editor’s remote server is installed inside the agent server on first connect.
Port forwarding
Section titled “Port forwarding”Reach a dev server running inside the agent server from your laptop:
zb ws port-forward dev 3000 # localhost:3000 -> the server's port 3000zb ws port-forward dev 8080:3000 # localhost:8080 -> the server's port 3000Web terminal
Section titled “Web terminal”Open the server in the portal and choose Terminal for a shell in the browser, with the same user and files as SSH.
Sessions and security
Section titled “Sessions and security”- Every SSH, web-terminal and port-forward session is recorded as a security event in your audit log.
zb ws sessions devlists open sessions;zb ws revoke-sessions devcloses them all at once (a lost laptop, a leaked key). Remove a key withzb ssh-key rm <key>; new sessions with it are refused.- Each server runs in its own VM and namespace. It can reach the internet but never other customers’ networks.
- Bring your own agent subscriptions: sign in to Claude Code, Codex or the others inside the server. Their keys stay in the server.
Lifecycle and billing
Section titled “Lifecycle and billing”| State | Compute | Disk |
|---|---|---|
| Running | Billed per hour at the size price | Included disk free; extra disk billed |
| Stopped (by you or after the idle timeout) | Not billed | Whole volume billed |
| Deleted | Not billed | Gone: the volume is deleted |
Servers stop after an idle period (--idle-stop-minutes on create or zb ws update; 0 turns it off). zb ws usage dev shows this month’s compute, disk and cost of one server.
Sizes and prices
Section titled “Sizes and prices”| Size | vCPU | Memory | Disk included | $ / hour | ≈ $ / month (730 h) |
|---|---|---|---|---|---|
w1 | 2 (0.5 reserved) | 4 GiB | 40 GB | $0.0164 | $12 |
w2 | 4 (1 reserved) | 8 GiB | 75 GB | $0.0301 | $22 |
w3 | 6 (1.5 reserved) | 12 GiB | 100 GB | $0.0438 | $32 |
vCPU shows the burst limit, with the share that is always reserved in brackets. Memory is fully reserved.
| Meter | Price | Free | Solo | Team | Enterprise |
|---|---|---|---|---|---|
| Agent server compute | By size, per running hour | Not available | Pay as you go | Pay as you go | Pay as you go |
| Agent server disk | $0.125 per GB-month | Not available | Pay as you go | Pay as you go | Pay as you go |
| Limit | Free | Solo | Team | Enterprise |
|---|---|---|---|---|
| Agent servers | None | 1 | 1 per member | Unlimited |
Team and Enterprise admins can change how many servers each member may own with zb ws allowance.
Reference
Section titled “Reference”Every zb ws command and flag: CLI reference. SSH keys: zb ssh-key.