Об этом проекте

OpenShell от NVIDIA — это runtime и плоскость управления для запуска множества автономных ИИ-агентов с доступом по принципу наименьших привилегий. Агенты могут читать файлы, устанавливать пакеты, вызывать API и использовать учётные данные, но каждое действие регулируется декларативной политикой, а не неограниченным доступом к хосту. Архитектура объединяет изолированные песочницы агентов, супервизор и шлюз. Элементы управления на уровне ядра ограничивают доступ к файлам и системные вызовы, а сетевые соединения проверяются на соответствие политике перед выходом из песочницы. Реальные учётные данные скрыты от агентов и прикрепляются только к запросам, направленным на одобренные endpoint'ы. Изменения политик проверяются перед применением. OpenShell использует формальную верификацию для выявления вновь предоставленного доступа, например отправки учётных данных на новый хост или включения нового метода API, что позволяет задерживать рискованные изменения для одобрения человеком. Политики охватывают файловую систему, сеть и поведение процессов, а инструменты advisor и prover описаны в документации. Для быстрого старта требуется Linux, macOS на Apple Silicon или Windows с WSL 2 в качестве экспериментальной платформы, а также Docker, Podman или виртуализация на хосте. Установщик настраивает CLI и локальный шлюз; песочница по умолчанию — это минимальный образ Ubuntu без предустановленного агента. Описанный в документации рабочий процесс первого агента использует OpenCode с моделью OpenRouter и демонстрирует одобрение дополнительного доступа. Варианты развёртывания и интеграции включают установку в Kubernetes через Helm, управление шлюзом для песочниц и политик, настройку GPU и runtime, middleware и перехватчики, а также вычислительные драйверы. Доступны SDK для Python, TypeScript, Go и Rust для подключения приложений к шлюзу OpenShell. Можно установить публичные навыки coding-agent, чтобы помочь агентам использовать CLI, создавать политики и отлаживать маршрутизацию шлюза и инференса. OpenShell собирает анонимную операционную телеметрию, ограниченную категориями и счётчиками. Согласно README, он не собирает имена песочниц, имена хостов, пути к файлам, промпты, учётные данные, имена провайдеров или моделей, а также пользовательский контент. Телеметрию можно отключить через переменную окружения или настройку Helm, а также исключить при компиляции. Проект выпущен под лицензией Apache License 2.0.