
자율 AI 에이전트를 위한 샌드박스 런타임으로, 파일시스템, 네트워크, 프로세스 제약을 강제하는 선언적 YAML 정책과 엔드포인트에 바인딩된 자격 증명 주입을 제공합니다.
[!IMPORTANT] OpenShell 0.1.x의 새로운 기능: 안정적인 릴리스 주기, 새로운 격리 프리미티브, 확장된 확장 표면, 그리고 새로운 API. 0.1.0 업그레이드 가이드 읽기.
OpenShell은 자율 AI 에이전트 플릿을 위한 안전하고 프라이빗한 런타임입니다. 에이전트는 파일을 읽고, 패키지를 설치하고, API를 호출하고, 자격 증명을 사용할 수 있을 때 가장 유용합니다. OpenShell은 데이터, 시크릿 또는 네트워크에 대한 무제한 액세스 권한을 부여하지 않고도 에이전트에게 이러한 기능을 제공합니다. 각 에이전트가 접근할 수 있는 대상을 정책에 선언하면 OpenShell이 이를 시행합니다.
OpenShell은 에이전트가 할 수 있는 일을 두 가지 방식으로 관리합니다. 런타임에 모든 파일 액세스, 시스템 호출, 네트워크 연결에 대해 정책을 시행하도록 커널을 계측하고, 정책 변경이 적용되기 전에 허용하게 될 사항을 형식 검증을 통해 확인합니다.
게이트웨이, 슈퍼바이저, 샌드박스가 어떻게 함께 구성되는지는 아키텍처를 참조하세요.
Linux, Apple Silicon의 macOS, 또는 WSL 2가 있는 Windows(실험적)가 필요하며, Docker, Podman 또는 호스트 가상화가 필요합니다. 자세한 내용은 지원 매트릭스를 참조하세요.
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo
설치 프로그램은 CLI와 로컬 게이트웨이를 설정합니다. 기본 샌드박스 이미지는 에이전트가 설치되지 않은 최소 Ubuntu입니다. 실제 에이전트를 실행하려면 첫 번째 에이전트 실행을 따르세요. 무료 OpenRouter 모델에 대해 OpenCode를 실행하고 에이전트가 필요로 할 때 새로운 액세스를 승인하는 방법을 보여줍니다.
NetworkPolicy를 시행해야 합니다.main의 최신 커밋을 사용해 보세요.코딩 에이전트를 위한 공개 OpenShell 스킬을 설치하세요:
npx skills add NVIDIA/OpenShell
스킬은 에이전트가 OpenShell CLI를 구동하고, 샌드박스 정책을 작성하고, 게이트웨이 및 추론 라우팅을 디버그하도록 가르칩니다. 스킬은 skills/에 있으며 OpenShell 소스 체크아웃 없이 작동합니다.
SDK는 애플리케이션을 OpenShell 게이트웨이에 연결합니다. CLI를 설치하지는 않습니다. 가능하면 SDK와 게이트웨이에 동일한 OpenShell 릴리스를 사용하세요.
| Language | Install | Docs |
|---|---|---|
| Python | uv add openshell | README |
| TypeScript | npm install @nvidia/openshell-sdk (GitHub Packages) | README |
| Go | go get github.com/NVIDIA/OpenShell/sdk/go@latest | README |
| Rust | cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag> | Installation and usage |
OpenShell은 에이전트 우선으로 구축되었습니다. 즉, OpenShell이 가능하게 하는 것과 동일한 에이전트 주도 워크플로로 개발됩니다. 개발 설정 및 기여 워크플로는 CONTRIBUTING.md를, 저장소 코딩 규칙은 AGENTS.md를 참조하세요.
OpenShell은 프로젝트 개선을 돕기 위해 운영 범주와 횟수로 제한된 익명 텔레메트리를 수집합니다. 샌드박스 이름, 호스트 이름, 파일 경로, 프롬프트, 자격 증명, 프로바이더 또는 모델 이름, 사용자 콘텐츠는 수집하지 않습니다. 비활성화하려면 게이트웨이에서 OPENSHELL_TELEMETRY_ENABLED=false를 설정하거나 Helm 설치의 경우 server.telemetryEnabled=false를 설정하세요. 텔레메트리를 완전히 컴파일에서 제외할 수도 있습니다. 자세한 내용은 텔레메트리를, 게시된 사용 추세는 커뮤니티 텔레메트리 보고서를 참조하세요.
이 소프트웨어는 외부 자료를 자동으로 검색, 액세스 또는 상호 작용합니다. 검색된 자료는 이 소프트웨어와 함께 배포되지 않으며 별도의 약관, 조건 및 라이선스에 의해서만 규율됩니다. 귀하는 모든 적용 가능한 약관, 조건 및 라이선스를 찾고, 검토하고, 준수할 책임이 있으며, 특정 사용 사례에 대한 검색된 자료의 보안, 무결성 및 적합성을 확인할 책임이 있습니다. 이 소프트웨어는 어떠한 종류의 보증도 없이 "있는 그대로" 제공됩니다. 저자는 검색된 자료에 대해 어떠한 진술이나 보증도 하지 않으며, 이 소프트웨어 또는 검색된 자료의 사용 또는 사용 불능으로 인한 손실, 손해, 책임 또는 법적 결과에 대해 어떠한 책임도 지지 않습니다. 이 소프트웨어와 검색된 자료는 귀하의 책임 하에 사용하세요.
이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여됩니다.