
Песочница для автономных ИИ-агентов с декларативными политиками YAML, обеспечивающими ограничения файловой системы, сети и процессов, а также привязку учётных данных к конечным точкам.
<!-- markdownlint-disable MD033 MD041 --> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/brand/assets/openshell-banner-dark.png"> <source media="(prefers-color-scheme: light)" srcset="docs/brand/assets/openshell-banner-light.png"> <img alt="OpenShell" src="https://assets.kitploit.com/production/public/readmes/55422/c804e19d2b22bb79cb299fe8da06482346c588c833ad4342ea6668f7e4f1ec6e/224fe7d3f9d8bb5110e1543695d8e28bdf42ef37ce269e338709d8ea6f94fa6e-display-v1.webp" width="430"> </picture> <!-- markdownlint-enable MD033 MD041 --> [](https://github.com/NVIDIA/OpenShell/blob/main/LICENSE) [](https://pypi.org/project/openshell/) [](SECURITY.md) [](https://docs.nvidia.com/openshell/latest/index.html) > [!IMPORTANT] > **Новое в OpenShell 0.1.x:** стабильный график выпуска релизов, новые примитивы изоляции, расширенная поверхность расширений и новые API. [Ознакомьтесь с руководством по обновлению до 0.1.0](https://docs.nvidia.com/openshell/latest/upgrade/0-1-0). OpenShell — это безопасная и приватная среда выполнения для парков автономных ИИ-агентов. Агенты наиболее полезны, когда могут читать файлы, устанавливать пакеты, вызывать API и использовать учётные данные. OpenShell даёт им эту возможность, не предоставляя неограниченный доступ к вашим данным, секретам или сети. Вы объявляете в политике, к чему может обращаться каждый агент, а OpenShell обеспечивает соблюдение этих правил. ## Как это работает OpenShell управляет тем, что могут делать агенты, двумя способами: он инструментирует ядро для применения политики при каждом доступе к файлам, системном вызове и сетевом соединении во время выполнения, а также использует формальную верификацию для проверки того, что разрешит изменение политики, до его применения. - **Принудительное применение на уровне ядра.** Каждый агент работает в изолированной песочнице. Механизмы ядра ограничивают, к каким файлам он может обращаться и какие системные вызовы может выполнять, а каждое сетевое соединение проходит проверку политики, прежде чем покинуть песочницу. Агенты никогда не видят реальных учётных данных; OpenShell добавляет их только к запросам, направленным на одобренные конечные точки. - **Формально верифицированные изменения политики.** Прежде чем изменение политики будет одобрено, OpenShell использует формальную верификацию, чтобы отметить рискованный новый доступ, который оно предоставит, например, обращение к новому хосту с учётными данными или вызов нового метода API, чтобы такие изменения дожидались проверки человеком. См. [Архитектура](https://docs.nvidia.com/openshell/latest/about/architecture), чтобы узнать, как взаимодействуют шлюз, супервизор и песочница. ## Быстрый старт Вам нужны Linux, macOS на Apple Silicon или Windows с WSL 2 (экспериментально), а также Docker, Podman или виртуализация на хосте. Подробности см. в [Матрице поддержки](https://docs.nvidia.com/openshell/latest/about/support-matrix). ```shell curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh openshell sandbox create --name demo ``` Установщик настраивает CLI и локальный шлюз. Образ песочницы по умолчанию — минимальный Ubuntu без установленного агента. Чтобы запустить настоящего агента, следуйте инструкции [Запустите своего первого агента](https://docs.nvidia.com/openshell/latest/about/run-your-first-agent): она запускает OpenCode с бесплатной моделью OpenRouter и показывает, как одобрять новый доступ по мере необходимости агента. ## Изучите подробнее - [Песочницы](https://docs.nvidia.com/openshell/latest/how-it-works/sandboxes/overview): образы, среды выполнения, GPU и жизненный цикл. - [Политики](https://docs.nvidia.com/openshell/latest/how-it-works/policies/overview): правила файловой системы, сети и процессов, с [советником](https://docs.nvidia.com/openshell/latest/how-it-works/policies/advisor) и [доказателем](https://docs.nvidia.com/openshell/latest/how-it-works/policies/prover) для проверки изменений. - [Провайдеры](https://docs.nvidia.com/openshell/latest/how-it-works/providers/overview): учётные данные, которые работают только на одобренных конечных точках, включая [инференс](https://docs.nvidia.com/openshell/latest/how-it-works/inference). - [Шлюзы](https://docs.nvidia.com/openshell/latest/how-it-works/gateways/overview): плоскость управления для песочниц, политик и доступа. - [Kubernetes](https://docs.nvidia.com/openshell/latest/kubernetes/setup): разверните шлюз с помощью Helm. Ваш CNI должен обеспечивать соблюдение `NetworkPolicy`. - [Расширяемость](https://docs.nvidia.com/openshell/latest/extensibility/overview): промежуточное ПО, перехватчики и вычислительные драйверы. - [Руководства](https://docs.nvidia.com/openshell/latest/tutorials/first-network-policy): пошаговые разборы политик и работы агентов. - [Предрелизные и разработочные сборки](https://docs.nvidia.com/openshell/latest/about/installation#prerelease-and-development-builds): попробуйте предстоящий релиз или последний коммит в `main`. ## Навыки агентов Установите публичные навыки OpenShell для вашего кодирующего агента: ```shell npx skills add NVIDIA/OpenShell ``` Навыки учат вашего агента управлять CLI OpenShell, писать политики песочниц и отлаживать шлюзы и маршрутизацию инференса. Они находятся в [`skills/`](https://github.com/nvidia/openshell/blob/main/skills) и работают без клонирования исходного кода OpenShell. ## SDK SDK подключают приложения к шлюзу OpenShell. Они не устанавливают CLI. По возможности используйте один и тот же релиз OpenShell для SDK и шлюза. | Язык | Установка | Документация | |---|---|---| | Python | `uv add openshell` | [README](https://github.com/nvidia/openshell/blob/main/python/openshell) | | TypeScript | `npm install @nvidia/openshell-sdk` (GitHub Packages) | [README](https://github.com/nvidia/openshell/blob/main/sdk/typescript/README.md) | | Go | `go get github.com/NVIDIA/OpenShell/sdk/go@latest` | [README](https://github.com/nvidia/openshell/blob/main/sdk/go/README.md) | | Rust | `cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag>` | [Установка и использование](https://github.com/nvidia/openshell/blob/main/docs/sdk/rust.mdx) | ## Сообщество - **Вопросы и обсуждения:** [GitHub Discussions](https://github.com/NVIDIA/OpenShell/discussions) - **Отчёты об ошибках и запросы функций:** [GitHub Issues](https://github.com/NVIDIA/OpenShell/issues), используя шаблоны задач - **Уязвимости безопасности:** следуйте [SECURITY.md](https://github.com/nvidia/openshell/blob/main/SECURITY.md). Не открывайте задачу на GitHub. - **Дорожная карта:** [Дорожная карта OpenShell](https://github.com/orgs/NVIDIA/projects/233) и [доска RFC](https://github.com/orgs/NVIDIA/projects/233/views/6) - **Попробуйте в облаке:** [Brev Launchable](https://brev.nvidia.com/launchable/deploy/now?launchableID=env-3Ap3tL55zq4a8kew1AuW0FpSLsg) OpenShell создаётся с приоритетом агентов: он разрабатывается с использованием тех же управляемых агентами рабочих процессов, которые он обеспечивает. См. [CONTRIBUTING.md](https://github.com/nvidia/openshell/blob/main/CONTRIBUTING.md) для настройки разработки и процесса внесения вклада, а также [AGENTS.md](https://github.com/nvidia/openshell/blob/main/AGENTS.md) для соглашений о кодировании в репозитории. ## Телеметрия OpenShell собирает анонимную телеметрию, ограниченную операционными категориями и счётчиками, чтобы помочь улучшить проект. Она не собирает имена песочниц, имена хостов, пути к файлам, промпты, учётные данные, имена провайдеров или моделей, а также пользовательский контент. Чтобы отключить её, установите `OPENSHELL_TELEMETRY_ENABLED=false` на шлюзе или `server.telemetryEnabled=false` для установок через Helm. Вы также можете полностью исключить телеметрию при компиляции. Подробности см. в разделе [Телеметрия](https://docs.nvidia.com/openshell/latest/observability/telemetry), а опубликованные тенденции использования — в [отчётах сообщества по телеметрии](https://github.com/nvidia/openshell/blob/main/telemetry/README.md). ## Уведомление и отказ от ответственности Это программное обеспечение автоматически извлекает, получает доступ или взаимодействует с внешними материалами. Эти извлечённые материалы не распространяются вместе с данным программным обеспечением и регулируются исключительно отдельными условиями и лицензиями. Вы несёте исключительную ответственность за поиск, изучение и соблюдение всех применимых условий и лицензий, а также за проверку безопасности, целостности и пригодности любых извлечённых материалов для вашего конкретного случая использования. Это программное обеспечение предоставляется «КАК ЕСТЬ», без каких-либо гарантий. Автор не даёт никаких заверений или гарантий в отношении любых извлечённых материалов и не несёт ответственности за любые убытки, ущерб, обязательства или юридические последствия, возникшие в результате использования или невозможности использования данного программного обеспечения или любых извлечённых материалов. Используйте это программное обеспечение и извлечённые материалы на свой страх и риск. ## Лицензия Этот проект лицензирован под [Apache License 2.0](https://github.com/NVIDIA/OpenShell/blob/main/LICENSE).