You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 8b77925
Browse filesBrowse the repository at this point in the historyBrowse files
> **OpenShell 0.1.0 is coming soon.**[Track progress in the 0.1.0 milestone](https://github.com/NVIDIA/OpenShell/milestone/10), [read the prerelease documentation](https://docs.nvidia.com/openshell/dev/index.html), or [install a prerelease](#prerelease-and-development-builds).
19
+
17
20
OpenShell is the safe, private runtime for autonomous AI agents. It provides sandboxed execution environments that protect your data, credentials, and infrastructure — governed by declarative YAML policies that prevent unauthorized file access, data exfiltration, and uncontrolled network activity.
18
21
19
22
OpenShell is built agent-first. It ships public agent skills for using and operating OpenShell, plus separate repository-aware workflows for contributors and maintainers.
@@ -27,21 +30,15 @@ OpenShell is built agent-first. It ships public agent skills for using and opera
27
30
28
31
### Install
29
32
30
-
**Binary (recommended):**
33
+
**Local installation:**
31
34
32
35
```bash
33
36
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
34
37
```
35
38
36
-
The installer installs the latest stable release by default. To install a specific version, set `OPENSHELL_VERSION`. A [`dev` release](https://github.com/NVIDIA/OpenShell/releases/tag/dev) is also available that tracks the latest commit on `main`.
37
-
38
-
The `openshell` package on PyPI provides the Python SDK only. It does not install the `openshell` CLI. Add the SDK to a Python project with [uv](https://docs.astral.sh/uv/):
39
-
40
-
```bash
41
-
uv add openshell
42
-
```
39
+
The installer installs the latest stable release by default. See [Prerelease and development builds](#prerelease-and-development-builds) to install an upcoming release or the latest commit on `main`.
43
40
44
-
**Helm chart:**
41
+
**Kubernetes installation:**
45
42
46
43
> **Experimental** — the Kubernetes deployment path is under active development. Expect rough edges and breaking changes.
47
44
@@ -104,6 +101,44 @@ See the [full walkthrough](examples/sandbox-policy-quickstart/) or run the autom
104
101
bash examples/sandbox-policy-quickstart/demo.sh
105
102
```
106
103
104
+
## SDKs
105
+
106
+
OpenShell provides client SDKs for Python, TypeScript, Go, and Rust. SDK packages connect applications to an OpenShell gateway; they do not install the `openshell` CLI. Use the SDK and gateway from the same OpenShell release when possible.
107
+
108
+
### Python
109
+
110
+
The [Python SDK](python/openshell/) is published to [PyPI](https://pypi.org/project/openshell/):
111
+
112
+
```shell
113
+
uv add openshell
114
+
```
115
+
116
+
### TypeScript
117
+
118
+
The [TypeScript SDK](sdk/typescript/README.md) is published to GitHub Packages as `@nvidia/openshell-sdk`. Configure the `@nvidia` npm scope for `https://npm.pkg.github.com`, authenticate with a token that has `read:packages`, and install it:
119
+
120
+
```shell
121
+
npm install @nvidia/openshell-sdk
122
+
```
123
+
124
+
### Go
125
+
126
+
Add the [Go SDK](sdk/go/README.md) to a Go module:
127
+
128
+
```shell
129
+
go get github.com/NVIDIA/OpenShell/sdk/go@latest
130
+
```
131
+
132
+
### Rust
133
+
134
+
The [Rust SDK](crates/openshell-sdk/README.md) is currently consumed from source. Pin the Git dependency to the same OpenShell release as the gateway:
135
+
136
+
```shell
137
+
cargo add openshell-sdk \
138
+
--git https://github.com/NVIDIA/OpenShell \
139
+
--tag <release-tag>
140
+
```
141
+
107
142
## How It Works
108
143
109
144
OpenShell isolates each sandbox in its own container with policy-enforced egress routing. A lightweight gateway coordinates sandbox lifecycle, and every outbound connection is intercepted by the policy engine, which does one of three things:
@@ -257,6 +292,43 @@ Agent implementation is human-directed: a user may request a phase directly, or
257
292
-[Brev Launchable](https://brev.nvidia.com/launchable/deploy/now?launchableID=env-3Ap3tL55zq4a8kew1AuW0FpSLsg) — try OpenShell on cloud compute without local setup
258
293
-[Agent Instructions](AGENTS.md) — system prompt and workflow documentation for agent contributors
259
294
295
+
## Prerelease and development builds
296
+
297
+
Use a prerelease candidate to evaluate an upcoming release, or use the rolling development build to test the latest commit on `main`. These builds may change before the next stable release. The matching documentation is published in the [development channel](https://docs.nvidia.com/openshell/dev/index.html).
298
+
299
+
Prerelease packages are retained as GitHub Actions artifacts for 90 days and require an authenticated [GitHub CLI](https://cli.github.com/) session. The `pre` alias installs the latest prerelease:
The installer downloads only the artifact for the current platform and rejects expired candidates during discovery. Installed packages retain the candidate's exact version, such as `0.1.0-pre.3`. Prerelease tags do not create entries on the GitHub Releases page.
308
+
309
+
The rolling [`dev` release](https://github.com/NVIDIA/OpenShell/releases/tag/dev) does not require GitHub authentication:
For Kubernetes, select the corresponding Helm chart version. Helm chart versions omit the leading `v` from release tags:
317
+
318
+
```shell
319
+
# Pin an exact candidate
320
+
helm upgrade --install openshell \
321
+
oci://ghcr.io/nvidia/openshell/helm-chart \
322
+
--version 0.1.0-pre.3
323
+
324
+
# Rolling development build
325
+
helm upgrade --install openshell \
326
+
oci://ghcr.io/nvidia/openshell/helm-chart \
327
+
--version 0.0.0-dev
328
+
```
329
+
330
+
Prerelease charts use exact `<version>-pre.N` versions. Development charts are also published as immutable `0.0.0-dev.<commit-sha>` versions when you need to pin a specific commit. See the [Helm chart documentation](deploy/helm/openshell/README.md#available-versions) for version and configuration details.
331
+
260
332
## Contributing
261
333
262
334
OpenShell is built agent-first. Issues should include a user story, problem statement, impact, and acceptance criteria. The impact should explain the consequences of the current behavior and why existing workarounds are insufficient. Feature requests also require a workflow-level proposed design and alternatives; bug reports add reproduction steps, environment details, and relevant logs. Once work is authorized through the project workflow or a direct request, contributors should use the skills in `.agents/skills/` to investigate the current code and behavior, implement the change, and verify it. If an issue contains earlier diagnostics, verify them rather than relying on them. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full agent skills table, contribution workflow, and development setup.
Copy file name to clipboardExpand all lines: deploy/helm/openshell/README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,10 +63,11 @@ On OpenShift 4.22+, end-to-end TLS is supported via `BackendTLSPolicy`. See the
63
63
| Tag | Source | Notes |
64
64
| --- | --- | --- |
65
65
|`<semver>` (e.g. `0.6.0`) | Tagged GitHub release | Tracks the matching gateway, sandbox, and supervisor image versions. Recommended for production. |
66
+
|`<semver>-pre.N` (e.g. `0.1.0-pre.3`) | A specific prerelease candidate | Immutable candidate pin that tracks images with the same exact version. |
66
67
|`0.0.0-dev`| Latest commit on `main`| Floating tag, overwritten on every push. `appVersion` is `dev`, so images resolve to the `:dev` tag. |
67
68
|`0.0.0-dev.<commit-sha>`| A specific commit on `main`| Per-commit pin. Chart version and `appVersion` both use the full 40-character commit SHA, which matches the image tag pushed by CI. |
68
69
69
-
The `dev` tags are intended for testing changes ahead of a release. Production deployments should pin to a tagged release.
70
+
Prerelease and `dev` tags are intended for testing changes ahead of a release. Production deployments should pin to a stable tagged release.
Copy file name to clipboardExpand all lines: deploy/helm/openshell/README.md.gotmpl
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -63,10 +63,11 @@ On OpenShift 4.22+, end-to-end TLS is supported via `BackendTLSPolicy`. See the
63
63
| Tag | Source | Notes |
64
64
| --- | --- | --- |
65
65
|`<semver>` (e.g.`0.6.0`) | Tagged GitHub release | Tracks the matching gateway, sandbox, and supervisor image versions. Recommended for production.|
66
+
|`<semver>-pre.N` (e.g.`0.1.0-pre.3`) | A specific prerelease candidate | Immutable candidate pin that tracks images with the same exact version.|
66
67
|`0.0.0-dev`| Latest commit on `main`| Floating tag, overwritten on every push.`appVersion` is `dev`, so images resolve to the `:dev` tag.|
67
68
|`0.0.0-dev.<commit-sha>`| A specific commit on `main`| Per-commit pin. Chart version and`appVersion` both use the full 40-character commit SHA, which matches the image tag pushed by CI.|
68
69
69
-
The `dev` tags are intended for testing changes ahead of a release. Production deployments should pin to a tagged release.
70
+
Prerelease and`dev` tags are intended for testing changes ahead of a release. Production deployments should pin to a stable tagged release.
Copy file name to clipboardExpand all lines: docs/about/installation.mdx
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,18 @@ The script detects your operating system and installs the OpenShell CLI, standal
20
20
21
21
You can also download release artifacts directly from the [OpenShell GitHub Releases](https://github.com/NVIDIA/OpenShell/releases) page.
22
22
23
+
### Install a prerelease
24
+
25
+
Prerelease packages are retained as GitHub Actions artifacts for 90 days and require an authenticated [GitHub CLI](https://cli.github.com/) session. The `pre` alias installs the latest prerelease:
The installer rejects expired candidates, downloads only the artifact required for your platform, and installs with Debian, RPM, or Homebrew. Installed packages retain the candidate's exact version, such as `0.1.0-pre.3`. Prerelease tags do not create entries on the GitHub Releases page.
34
+
23
35
The `openshell` package on PyPI provides the Python SDK only. It does not install the `openshell` CLI. Add the SDK to a Python project with:
0 commit comments