
OpenShell v0.1.5
Runtime sandboxé pour agents IA autonomes avec des politiques YAML déclaratives appliquant des contraintes sur le système de fichiers, le réseau et les processus, ainsi qu'une injection d'identifiants liée aux points de terminaison.
[!IMPORTANT] Nouveau dans OpenShell 0.1.x : une cadence de publication stable, de nouvelles primitives d'isolation, une surface d'extension élargie et de nouvelles API. Consultez le guide de mise à niveau 0.1.0.
OpenShell est le runtime sûr et privé pour des flottes d'agents IA autonomes. Les agents sont plus utiles lorsqu'ils peuvent lire des fichiers, installer des paquets, appeler des API et utiliser des identifiants. OpenShell leur donne cette capacité sans leur accorder un accès illimité à vos données, secrets ou réseau. Vous déclarez ce que chaque agent peut toucher dans une politique, et OpenShell l'applique.
Fonctionnement
OpenShell régit ce que les agents peuvent faire de deux manières : il instrumente le noyau pour appliquer la politique à chaque accès fichier, appel système et connexion réseau à l'exécution, et il utilise la vérification formelle pour contrôler ce qu'un changement de politique autoriserait avant qu'il ne soit appliqué.
- Application au niveau du noyau. Chaque agent s'exécute dans un bac à sable isolé. Les contrôles du noyau limitent les fichiers auxquels il peut accéder et les appels système qu'il peut effectuer, et chaque connexion réseau passe par une vérification de politique avant de quitter le bac à sable. Les agents ne voient jamais les vrais identifiants ; OpenShell les ajoute uniquement aux requêtes destinées à des points de terminaison approuvés.
- Changements de politique formellement vérifiés. Avant qu'un changement de politique ne soit approuvé, OpenShell utilise la vérification formelle pour signaler les nouveaux accès risqués qu'il accorderait, comme atteindre un nouvel hôte avec des identifiants ou appeler une nouvelle méthode d'API, afin que ces changements attendent une revue humaine.
Voir Architecture pour comprendre comment la passerelle, le superviseur et le bac à sable s'articulent.
Démarrage rapide
Vous avez besoin de Linux, de macOS sur Apple Silicon, ou de Windows avec WSL 2 (expérimental), ainsi que de Docker, Podman ou de la virtualisation hôte. Voir la matrice de prise en charge pour plus de détails.
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo
L'installateur configure la CLI et une passerelle locale. L'image de bac à sable par défaut est un Ubuntu minimal sans agent installé. Pour exécuter un véritable agent, suivez Exécutez votre premier agent : il exécute OpenCode contre un modèle OpenRouter gratuit et montre comment approuver un nouvel accès au fur et à mesure des besoins de l'agent.
Pour aller plus loin
- Bacs à sable : images, runtimes, GPU et cycle de vie.
- Politiques : règles de système de fichiers, de réseau et de processus, avec l'advisor et le prover pour examiner les changements.
- Fournisseurs : identifiants qui ne fonctionnent qu'aux points de terminaison approuvés, y compris l'inférence.
- Passerelles : le plan de contrôle pour les bacs à sable, la politique et l'accès.
- Kubernetes : déployez la passerelle avec Helm. Votre CNI doit appliquer
NetworkPolicy. - Extensibilité : middleware, intercepteurs et pilotes de calcul.
- Tutoriels : parcours pas à pas sur les politiques et les agents.
- Versions préliminaires et de développement : essayez une version à venir ou le dernier commit sur
main.
Compétences d'agent
Installez les compétences publiques OpenShell pour votre agent de codage :
npx skills add NVIDIA/OpenShell
Les compétences apprennent à votre agent à piloter la CLI OpenShell, à écrire des politiques de bac à sable et à déboguer les passerelles et le routage d'inférence. Elles se trouvent dans skills/ et fonctionnent sans copie du code source d'OpenShell.
SDK
Les SDK connectent les applications à une passerelle OpenShell. Ils n'installent pas la CLI. Utilisez la même version d'OpenShell pour le SDK et la passerelle lorsque c'est possible.
| Langage | Installation | Documentation |
|---|---|---|
| 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 et utilisation |
Communauté
- Questions et discussions : GitHub Discussions
- Rapports de bogues et demandes de fonctionnalités : GitHub Issues, en utilisant les modèles de ticket
- Vulnérabilités de sécurité : suivez SECURITY.md. N'ouvrez pas de ticket GitHub.
- Feuille de route : Feuille de route OpenShell et le tableau RFC
- Essayez-le dans le cloud : Brev Launchable
OpenShell est conçu agent-first : il est développé avec les mêmes flux de travail pilotés par agent qu'il permet. Voir CONTRIBUTING.md pour la configuration de développement et le flux de contribution, et AGENTS.md pour les conventions de codage du dépôt.