Runnable agent examples for Hiver, in TypeScript and Python. They come in two shapes:
- Agent SDK servers — a self-contained project (agent server +
Dockerfile+.hiver.json) that runs the agent loop inside the sandbox as an HTTP service. You launch it withhiver run . <key>, which bundles the directory into an image and starts it. The.hiver.jsonlocks egress to the model provider and injects the API key via anoverride, so the key is applied by the proxy after the request leaves the sandbox and never lives in the sandbox's env or context. - CLI / browser drivers — a client script you run on your machine. It provisions a prebuilt image (
claude,codex,copilot,browser) and drives it over the gateway withexecor CDP. Start the gateway withhiver upfirst.
See each example's README.md for the exact command, the key/image to use, and how to send it a prompt.
Docker, plus the Hiver CLI:
npm install -g @hiver.sh/cliThen bring up the local stack:
hiver uphiver up runs on Docker and starts the gateway that every example talks to,
at http://localhost:10000 by default. Bring it down again with hiver down.
You'll also need an API key for whichever model provider an example uses; see
that example's README.md.
| Example | TypeScript | Python |
|---|---|---|
| Claude Agent SDK | typescript/ |
python/ |
| OpenAI Agents SDK | typescript/ |
python/ |
| Google ADK | — | python/ |
Google ADK is Python-first (and Java), so it has no TypeScript example.
| Example | TypeScript | Python |
|---|---|---|
| Claude Code | typescript/ |
python/ |
| Codex | typescript/ |
python/ |
| GitHub Copilot CLI | typescript/ |
python/ |
| Browser Use | typescript/ |
python/ |
Lower-level examples that drive the sandbox directly with the @hiver.sh/client SDK — exec, config, egress, snapshots, mounts, proxied services, and agents. TypeScript only. Each is standalone (npm install in its typescript/ directory, then npm start).
| Example | What it shows |
|---|---|
apply-config |
Read the config, add an egress rule, apply the update. |
egress-events |
Observe egress.request / egress.response events for allowed vs blocked hosts. |
node-internal-service |
Start deny-all, then applyConfig to allow an internal host. |
node-exec / python-exec |
Run a command and read the buffered result. |
node-exec-stream / python-exec-stream |
Stream command output over SSE. |
node-exec-tty / python-exec-tty |
Drive an interactive REPL over a TTY exec stream. |
claude-exec |
Run Claude inside the claude image and print the result. |
files |
Upload a file into a mount and read it back out. |
list-directory |
List the contents of a sandbox mount. |
terminal-attach |
Attach your local terminal to an interactive shell in the sandbox. |
snapshot |
Persist a sandbox's filesystem across a full shutdown via snapshots. |
snapshot-fuse |
Route the snapshot through an internal GCS-backed FUSE drive. |
local-filesystem-mount |
Mount a local directory into the sandbox during development. |
gdrive-filesystem |
Mount a Google Drive folder over a FUSE mount. |
http-server |
Proxy HTTP requests to a service running inside the sandbox. |
mcp-server |
Bundle and run an MCP server inside the sandbox. |
browser-cdp |
Drive the sandbox's resident Chromium with Playwright over CDP. |
claude-agent |
A Claude agent that drives the sandbox through an in-sandbox MCP server. |
claude-agent-gdrive-filesystem |
The Claude agent, with generated files persisted to Google Drive. |