
OpenShell v0.1.5
Песочница для автономных ИИ-агентов с декларативными политиками YAML, обеспечивающими ограничения файловой системы, сети и процессов, а также привязку учётных данных к конечным точкам.
[!IMPORTANT] Новое в OpenShell 0.1.x: стабильный график выпуска релизов, новые примитивы изоляции, расширенная поверхность расширений и новые API. Ознакомьтесь с руководством по обновлению до 0.1.0.
OpenShell — это безопасная и приватная среда выполнения для парков автономных ИИ-агентов. Агенты наиболее полезны, когда могут читать файлы, устанавливать пакеты, вызывать API и использовать учётные данные. OpenShell даёт им эту возможность, не предоставляя неограниченный доступ к вашим данным, секретам или сети. Вы объявляете в политике, к чему может обращаться каждый агент, а OpenShell обеспечивает соблюдение этих правил.
Как это работает
OpenShell управляет тем, что могут делать агенты, двумя способами: он инструментирует ядро для применения политики при каждом доступе к файлам, системном вызове и сетевом соединении во время выполнения, а также использует формальную верификацию для проверки того, что разрешит изменение политики, до его применения.
- Принудительное применение на уровне ядра. Каждый агент работает в изолированной песочнице. Механизмы ядра ограничивают, к каким файлам он может обращаться и какие системные вызовы может выполнять, а каждое сетевое соединение проходит проверку политики, прежде чем покинуть песочницу. Агенты никогда не видят реальных учётных данных; OpenShell добавляет их только к запросам, направленным на одобренные конечные точки.
- Формально верифицированные изменения политики. Прежде чем изменение политики будет одобрено, OpenShell использует формальную верификацию, чтобы отметить рискованный новый доступ, который оно предоставит, например, обращение к новому хосту с учётными данными или вызов нового метода API, чтобы такие изменения дожидались проверки человеком.
См. Архитектура, чтобы узнать, как взаимодействуют шлюз, супервизор и песочница.
Быстрый старт
Вам нужны Linux, macOS на Apple Silicon или Windows с WSL 2 (экспериментально), а также Docker, Podman или виртуализация на хосте. Подробности см. в Матрице поддержки.
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo
Установщик настраивает CLI и локальный шлюз. Образ песочницы по умолчанию — минимальный Ubuntu без установленного агента. Чтобы запустить настоящего агента, следуйте инструкции Запустите своего первого агента: она запускает OpenCode с бесплатной моделью OpenRouter и показывает, как одобрять новый доступ по мере необходимости агента.
Изучите подробнее
- Песочницы: образы, среды выполнения, GPU и жизненный цикл.
- Политики: правила файловой системы, сети и процессов, с советником и доказателем для проверки изменений.
- Провайдеры: учётные данные, которые работают только на одобренных конечных точках, включая инференс.
- Шлюзы: плоскость управления для песочниц, политик и доступа.
- Kubernetes: разверните шлюз с помощью Helm. Ваш CNI должен обеспечивать соблюдение
NetworkPolicy. - Расширяемость: промежуточное ПО, перехватчики и вычислительные драйверы.
- Руководства: пошаговые разборы политик и работы агентов.
- Предрелизные и разработочные сборки: попробуйте предстоящий релиз или последний коммит в
main.
Навыки агентов
Установите публичные навыки OpenShell для вашего кодирующего агента:
npx skills add NVIDIA/OpenShell
Навыки учат вашего агента управлять CLI OpenShell, писать политики песочниц и отлаживать шлюзы и маршрутизацию инференса. Они находятся в skills/ и работают без клонирования исходного кода OpenShell.
SDK
SDK подключают приложения к шлюзу OpenShell. Они не устанавливают CLI. По возможности используйте один и тот же релиз OpenShell для SDK и шлюза.
| Язык | Установка | Документация |
|---|---|---|
| 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> | Установка и использование |
Сообщество
- Вопросы и обсуждения: GitHub Discussions
- Отчёты об ошибках и запросы функций: GitHub Issues, используя шаблоны задач
- Уязвимости безопасности: следуйте SECURITY.md. Не открывайте задачу на GitHub.
- Дорожная карта: Дорожная карта OpenShell и доска RFC
- Попробуйте в облаке: Brev Launchable
OpenShell создаётся с приоритетом агентов: он разрабатывается с использованием тех же управляемых агентами рабочих процессов, которые он обеспечивает. См. CONTRIBUTING.md для настройки разработки и процесса внесения вклада, а также AGENTS.md для соглашений о кодировании в репозитории.