Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cloud/cli.mdx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: "Celesto CLI reference"

Check warning on line 2 in cloud/cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/cli.mdx#L2

Did you really mean 'Celesto'?
sidebarTitle: "CLI reference"
description: "Use the celesto CLI to authenticate, create computers, run commands, publish ports, and manage sandbox lifecycle from the terminal."

Check warning on line 4 in cloud/cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/cli.mdx#L4

Did you really mean 'celesto'?
---

The `celesto` CLI lets you manage Celesto from your terminal. Use it for one-off sandbox work, scripts, and debugging SDK workflows.

Check warning on line 7 in cloud/cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/cli.mdx#L7

Did you really mean 'Celesto'?

## Install and sign in

Expand Down Expand Up @@ -84,7 +84,7 @@

| Command | Description |
|---|---|
| `celesto computer create [--template ID] [--cpus N] [--memory MB] [--disk-size-mb MB] [--no-internet]` | Create a computer. Pass `--no-internet` to turn off outbound internet access. |
| `celesto computer create [--template ID] [--cpus N] [--memory MB] [--disk-size-mb MB] [--no-internet]` | Create a computer. Pass `--no-internet` to turn off outbound internet access (requires `celesto` `0.0.13` or later). |
| `celesto computer templates` | List templates with preinstalled tools |
| `celesto computer list [--status STATUS] [--template ID] [--project ID] [--limit N]` | List matching computers |
| `celesto computer get NAME` | Get one computer by name or ID |
Expand Down Expand Up @@ -132,7 +132,7 @@
celesto computer port list einstein
```

Unpublish the port when you are done:

Check warning on line 135 in cloud/cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/cli.mdx#L135

Did you really mean 'Unpublish'?

```bash
celesto computer port unpublish einstein --port 8000
Expand All @@ -144,7 +144,7 @@
| `celesto computer port list NAME` | List published ports for a computer |
| `celesto computer port unpublish NAME [--port N]` | Stop exposing a port. Defaults to `8000` |

A computer can have up to four ports published at a time, and Celesto system ports are reserved for the platform.

Check warning on line 147 in cloud/cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/cli.mdx#L147

Did you really mean 'Celesto'?

## Auto-resume stopped computers

Expand Down Expand Up @@ -175,7 +175,7 @@
celesto update
```

The command upgrades `celesto` using `pip` when it is available, and falls back to `uv` when you installed Celesto with `uv` or are running inside a `uv run` environment.

Check warning on line 178 in cloud/cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/cli.mdx#L178

Did you really mean 'Celesto'?

If neither `pip` nor `uv` is available, the command prints the exact command to run yourself, for example:

Expand Down
8 changes: 7 additions & 1 deletion cloud/computers.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Create and manage sandboxed computers"

Check warning on line 2 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L2

Did you really mean 'sandboxed'?
sidebarTitle: "Sandboxed computers"

Check warning on line 3 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L3

Did you really mean 'Sandboxed'?
description: "Use the Celesto Computers API to create sandboxed computers, select templates, run shell commands, publish ports, and manage the VM lifecycle."

Check warning on line 4 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L4

Did you really mean 'Celesto'?

Check warning on line 4 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L4

Did you really mean 'sandboxed'?
---

The Computers API gives your code or agent an isolated Linux computer. You create a computer, run work inside it, and then stop, start, or delete it when your workflow is done.
Expand All @@ -21,7 +21,7 @@
</Steps>

<Note>
Celesto accepts Nano (1 vCPU, 512 MB), Small (1 vCPU, 1 GB), Standard (2 vCPU, 4 GB), and Large (4 vCPU, 12 GB). Free and Nano plans can create Nano computers. Builder and Growth can create every named size. See [Choose computer size](/cloud/features/resources).

Check warning on line 24 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L24

Did you really mean 'Celesto'?

Check warning on line 24 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L24

Did you really mean 'Nano'?

Check warning on line 24 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L24

Did you really mean 'Nano'?

Check warning on line 24 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L24

Did you really mean 'Nano'?
</Note>

<View title="Python" icon="python">
Expand Down Expand Up @@ -84,7 +84,7 @@
</ParamField>

<ParamField body="network_policy" type="object" default='{"mode": "open"}'>
Outbound internet setting, fixed when you create the computer. Use `{"mode": "off"}` to create an offline computer. Offline computers use the default home storage rather than `persistent_home=True`.
Outbound internet setting, fixed when you create the computer. Use `{"mode": "off"}` to create an offline computer. Offline computers use the default home storage and cannot be combined with `persistent_home=True`. Requires Celesto SDK `0.0.13` or later.

Check warning on line 87 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L87

Did you really mean 'Celesto'?
</ParamField>

See [Network Control](/cloud/features/network-control) for Python, TypeScript, CLI, and OpenAI Agents examples.
Expand Down Expand Up @@ -160,7 +160,7 @@

## Stream command output

Use `run_stream()` when you want to see output as it is produced instead of waiting for the command to finish. It returns an iterator of event dicts that arrive over a server-sent events stream, which is useful for long-running builds, test suites, or agent tool calls that print progress.

Check warning on line 163 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L163

Did you really mean 'dicts'?

```python stream_command.py
from celesto import Computer
Expand Down Expand Up @@ -203,7 +203,7 @@

Publishing a port gives your computer a public HTTPS URL. Use it when an app, API server, or notebook running inside the computer needs to be reachable from outside the sandbox.

Pick any application port from `1024` through `65535`. A computer can have up to four ports published at a time, and Celesto system ports are reserved for the platform.

Check warning on line 206 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L206

Did you really mean 'Celesto'?

```python publish_port.py
from celesto import Computer
Expand All @@ -224,7 +224,7 @@

## Open a terminal connection

Use `create_terminal_session()` when your application needs an interactive shell against a running computer, for example to power a web terminal in your own product. It calls `POST /computers/{id}/terminals` and returns a short-lived, direct connection to Celesto's fast terminal gateway. Your account must have write access to the computer.

Check warning on line 227 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L227

Did you really mean 'Celesto's'?

```python terminal.py
import websockets
Expand Down Expand Up @@ -344,6 +344,12 @@
Keep `/home/ohm` across stop and restore. Set this at create time when you plan to reuse the computer across sessions. This setting cannot be changed after the computer is created.
</ParamField>

<ParamField body="networkPolicy" type="object" default='{ mode: "open" }'>
Outbound internet setting, fixed when you create the computer. Use `{ mode: "off" }` to create an offline computer. Offline computers use the default home storage and cannot be combined with `persistentHome: true`. Requires `@celestoai/sdk` `0.1.5` or later.
</ParamField>

See [Network Control](/cloud/features/network-control) for Python, TypeScript, CLI, and OpenAI Agents examples.

## Create a computer with a persistent home

Computers are ephemeral by default. Pass `persistentHome: true` to keep `/home/ohm` across stop and restore:
Expand Down Expand Up @@ -485,7 +491,7 @@

Publishing a port gives your computer a public HTTPS URL. Use it when an app, API server, or notebook running inside the computer needs to be reachable from outside the sandbox.

Pick any application port from `1024` through `65535`. A computer can have up to four ports published at a time, and Celesto system ports are reserved for the platform.

Check warning on line 494 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L494

Did you really mean 'Celesto'?

```ts publish-port.ts
import { Computer } from "@celestoai/sdk";
Expand Down Expand Up @@ -518,7 +524,7 @@

## Open a terminal connection

Use `createTerminalSession()` when you are building your own interactive terminal against a Celesto computer, for example to power a web terminal in your own product. It calls `POST /computers/{id}/terminals` and returns a short-lived, direct connection to Celesto's fast terminal gateway. Your account must have write access to the computer.

Check warning on line 527 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L527

Did you really mean 'Celesto'?

Check warning on line 527 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L527

Did you really mean 'Celesto's'?

```ts terminal.ts
import WebSocket from "ws";
Expand Down Expand Up @@ -577,7 +583,7 @@
</ResponseField>

<ResponseField name="vcpus" type="integer" required>
Number of virtual CPUs allocated.

Check warning on line 586 in cloud/computers.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/computers.mdx#L586

Did you really mean 'CPUs'?
</ResponseField>

<ResponseField name="ram_mb" type="integer" required>
Expand Down
8 changes: 6 additions & 2 deletions cloud/features/network-control.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,14 @@
description: "Choose whether an agent computer can connect to the internet, while keeping commands and terminal sessions available for your agent workflow."
---

You can decide whether a new Celesto computer can reach the internet. Turn internet access off for work that uses only the computer's files and installed tools. The computer can still run commands and provide a terminal for your agent.
You can decide whether a new Celesto computer can reach the internet. Turn internet access off when you want the computer to work only from files and tools already on disk, for example when an agent runs untrusted code, processes sensitive input that must not leave the sandbox, or reproduces a build with no outside package fetches. The computer can still run commands and provide a terminal for your agent.

Check warning on line 7 in cloud/features/network-control.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/features/network-control.mdx#L7

Did you really mean 'Celesto'?

Check warning on line 7 in cloud/features/network-control.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/features/network-control.mdx#L7

Did you really mean 'untrusted'?

Set the choice when you create a computer. It stays with that computer across stop, start, and restore, so create a new computer when a task needs a different setting.

<Note>
Network Control requires Celesto SDK **0.0.13** or later for Python and **0.1.5** or later for TypeScript. The `--no-internet` CLI flag ships in the same Python release.

Check warning on line 12 in cloud/features/network-control.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/features/network-control.mdx#L12

Did you really mean 'Celesto'?
</Note>

## Choose an internet setting

| Setting | What your computer can do |
Expand All @@ -15,7 +19,7 @@
| `open` | Connect to the internet. This is the default. |
| `off` | Run commands and use terminal sessions with outbound internet access turned off. |

Network Control currently supports these two settings. Domain and IP allowlists are not available.

Check warning on line 22 in cloud/features/network-control.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/features/network-control.mdx#L22

Did you really mean 'allowlists'?

## Create an offline computer

Expand Down Expand Up @@ -138,7 +142,7 @@
asyncio.run(main())
```

When you reuse a computer with `computer_id`, the requested policy must match that computer's saved setting. Omit `network_policy` when you want to reuse the computer's existing setting. For a complete agent workflow, see [Sandbox an OpenAI agent with Celesto or SmolVM](/cloud/openai-agents).
When you reuse a computer with `computer_id`, the requested policy must match that computer's saved setting. If it does not, the session fails closed: `client.create()` raises `RuntimeError` and does not start the computer, so an agent that expected an offline sandbox never runs against an online one. Omit `network_policy` when you want to accept whatever setting the existing computer was created with. For a complete agent workflow, see [Sandbox an OpenAI agent with Celesto or SmolVM](/cloud/openai-agents).

## Related pages

Expand Down
2 changes: 1 addition & 1 deletion cloud/openai-agents.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: "Sandbox an OpenAI agent with Celesto or SmolVM"

Check warning on line 2 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L2

Did you really mean 'Celesto'?
description: "Give an OpenAI agent its own sandboxed computer. Use a hosted Celesto computer or a local SmolVM as the workspace for a SandboxAgent."

Check warning on line 3 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L3

Did you really mean 'sandboxed'?

Check warning on line 3 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L3

Did you really mean 'Celesto'?
---

The Celesto SDK ships with two ready-made sandbox providers for the [OpenAI Agents SDK](https://openai.github.io/openai-agents-python/). With one of them plugged in, an OpenAI `SandboxAgent` can read files, run shell commands, and create artifacts in an isolated computer instead of on your laptop or server.

Check warning on line 6 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L6

Did you really mean 'Celesto'?

You get to pick where that computer lives:

- **Hosted Celesto computer** for cloud runs you can share, persist, and resume from any machine.

Check warning on line 10 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L10

Did you really mean 'Celesto'?
- **Local SmolVM sandbox** for fast, private runs that stay on your own hardware.

Both options expose the exact same OpenAI primitives (`SandboxAgent`, `SandboxRunConfig`, `Runner`), so you can swap providers without changing the rest of your agent code.
Expand All @@ -16,7 +16,7 @@

Reach for these integrations when you want an OpenAI agent to:

- Run untrusted or model-generated commands without touching your machine.

Check warning on line 19 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L19

Did you really mean 'untrusted'?
- Inspect, edit, or build files in a clean, throwaway workspace.
- Pause a session, save it, and resume it later from a different process.

Expand All @@ -24,19 +24,19 @@

## Installation

Install the Celesto SDK with the `openai-agents` extra. This pulls in the OpenAI Agents SDK and SmolVM alongside Celesto:

Check warning on line 27 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L27

Did you really mean 'Celesto'?

Check warning on line 27 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L27

Did you really mean 'Celesto'?

```bash
pip install "celesto[openai-agents]"
```

<Note>
The hosted provider needs a Celesto API key. Set `CELESTO_API_KEY` or pass `api_key=` when you create the client. The SmolVM provider runs locally and does not need an API key.

Check warning on line 34 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L34

Did you really mean 'Celesto'?
</Note>

## Hosted Celesto sandboxes

Check warning on line 37 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L37

Did you really mean 'Celesto'?

Use `CelestoSandboxClient` when you want OpenAI to spin up a fresh Celesto computer for the agent's session. The client creates the computer on `create()`, runs every shell command and file operation against it, and tears it down on `delete()`.

Check warning on line 39 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L39

Did you really mean 'Celesto'?

<Steps>
<Step title="Import the provider and OpenAI primitives">
Expand Down Expand Up @@ -94,7 +94,7 @@
Pass a `CelestoSandboxClientOptions` to control how the computer is created. Every field is optional. Omit a field to inherit the template's default.

<Note>
CPU and memory must match a named Celesto size. Free and Nano plans use Nano (1 vCPU, 512 MB). Builder and Growth can also use Small (1 vCPU, 1 GB), Standard (2 vCPU, 4 GB), and Large (4 vCPU, 12 GB). See [Choose computer size](/cloud/features/resources).

Check warning on line 97 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L97

Did you really mean 'Celesto'?

Check warning on line 97 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L97

Did you really mean 'Nano'?

Check warning on line 97 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L97

Did you really mean 'Nano'?
</Note>

<ParamField body="template_id" type="string" default="scratch">
Expand Down Expand Up @@ -122,11 +122,11 @@
</ParamField>

<ParamField body="computer_id" type="string">
Reuse an existing Celesto computer instead of creating a new one. When set, the session attaches to that computer and starts it if needed.

Check warning on line 125 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L125

Did you really mean 'Celesto'?
</ParamField>

<ParamField body="network_policy" type="object" default='{"mode": "open"}'>
Outbound internet setting for a newly created computer. Use `{"mode": "off"}` to create an offline computer. When you reuse `computer_id`, the requested setting must match that computer.
Outbound internet setting for a newly created computer. Use `{"mode": "off"}` to create an offline computer. When you reuse `computer_id`, the requested setting must match that computer's saved policy; if it does not, `client.create()` raises `RuntimeError` and does not start the computer. Requires Celesto SDK `0.0.13` or later.

Check warning on line 129 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L129

Did you really mean 'Celesto'?
</ParamField>

<ParamField body="delete_on_close" type="boolean">
Expand Down Expand Up @@ -248,7 +248,7 @@

### Read and write files in the sandbox

`SandboxAgent` operations call `read()` and `write()` on the session. The Celesto and SmolVM providers map those calls to the underlying computer or VM:

Check warning on line 251 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L251

Did you really mean 'Celesto'?

```python
from pathlib import Path
Expand Down Expand Up @@ -279,7 +279,7 @@

<AccordionGroup>
<Accordion title="ImportError: OpenAI Agents support is not installed">
The integration is an optional extra. Install it with `pip install "celesto[openai-agents]"`. This adds the `openai-agents` and `smolvm` packages alongside Celesto.

Check warning on line 282 in cloud/openai-agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (celestoai) - vale-spellcheck

cloud/openai-agents.mdx#L282

Did you really mean 'Celesto'?
</Accordion>
<Accordion title="The agent can't find files I expected">
Files written through `session.write()` land inside the sandbox workspace, not on your host. Use `session.read()` or `session.persist_workspace()` to pull them out.
Expand Down