WARNING
Эта статья предназначена для разработчиков с опытом использования OpenClaw и требует базовых знаний Linux/Docker.
Представьте: вы просите ИИ помочь написать код, найти информацию или управлять сервером, а он по неосторожности удаляет важный файл или после вредоносной инъекции промпта (Prompt Injection) тайно отправляет данные вовне — это кошмар для любого пользователя ИИ-агентов. Проект NemoClaw от NVIDIA создан именно для решения этой проблемы: он оборачивает OpenClaw в «защитный слой», позволяя пользоваться удобством ИИ-агентов, не опасаясь потери контроля.
В этой статье мы разберем, как работает эта «оболочка» и как быстро развернуть безопасного и управляемого ИИ-агента.
Целевая аудитория
- Разработчики с опытом работы в OpenClaw, желающие повысить безопасность.
- Технические руководители команд, которым нужны безопасные AI-агенты.
- Системные администраторы, планирующие развертывание ИИ-агентов в продакшн-среде.
Основные зависимости и окружение
| Категория | Требование |
|---|---|
| ОС | Ubuntu 22.04 LTS+ / macOS (Apple Silicon) / Windows WSL2 |
| Node.js | 20+ |
| npm | 10+ |
| Среда выполнения контейнеров | Docker Desktop / Colima (macOS) |
| ОЗУ | Рекомендуется 16 ГБ (минимум 8 ГБ + 8 ГБ swap) |
| Диск | Рекомендуется 40 ГБ свободного места |
TIP
Если вы используете macOS (Apple Silicon), рекомендуется Colima или Docker Desktop; пользователям Windows требуется WSL2 + Docker Desktop.
Обзор структуры проекта
Система NemoClaw разделена на четыре уровня. Понимание этой архитектуры поможет вам эффективнее устранять неполадки:
┌─────────────────────────────────────────────────────────────┐
│ Plugin Layer │
│ (TypeScript CLI - команда nemoclaw) │
├─────────────────────────────────────────────────────────────┤
│ Blueprint Layer │
│ (Python Blueprints - оркестрация песочниц) │
├─────────────────────────────────────────────────────────────┤
│ Sandbox Layer │
│ (Контейнер OpenShell - изолированная среда) │
├─────────────────────────────────────────────────────────────┤
│ Inference Layer │
│ (Шлюз OpenShell - перехват и пересылка запросов) │
└─────────────────────────────────────────────────────────────┘
Основной принцип работы: каждый ваш запрос на вывод (inference) не покидает песочницу напрямую, а проходит через шлюз OpenShell. Это означает, что даже если ИИ попытается тайно отправить данные наружу, шлюз сможет их заблокировать.
Пошаговое развертывание
1. Проверка системного окружения
Сначала убедитесь, что ваша система соответствует требованиям:
# Проверка версии системы
cat /etc/os-release | grep -E "^(NAME|VERSION)="
# Проверка версии Node.js
node --version # Требуется 20+
# Проверка версии npm
npm --version # Требуется 10+
# Проверка работы Docker
docker ps
WARNING
Если Docker не запущен, запустите его. NemoClaw использует контейнеры для создания среды песочницы.
2. Установка OpenShell
NemoClaw основан на NVIDIA OpenShell, поэтому сначала нужно установить его:
# Установка OpenShell (Linux)
curl -fsSL https://www.nvidia.com/openshell.sh | bash
# Проверка установки
openshell --version
TIP
Если вы используете DGX Spark, сначала настройте cgroup v2 и Docker согласно официальной документации, а затем запускайте скрипт установки.
3. Установка NemoClaw CLI
Официальный скрипт для быстрой установки:
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
После установки обновите переменные окружения:
# Для bash
source ~/.bashrc
# Для zsh
source ~/.zshrc
Проверьте установку:
nemoclaw --version
4. Запуск интерактивного мастера настройки
Это самый важный этап. Команда nemoclaw onboard запустит мастер, который поможет настроить песочницу, провайдера вывода и сетевые политики:
nemoclaw onboard
Мастер последовательно спросит вас:
- Имя песочницы: например,
my-agent. - Выбор провайдера вывода: настоятельно рекомендуем Defapi, так как его цена вдвое ниже официальной, и он поддерживает Claude, GPT, Gemini и другие модели.
- Ввод API Key: если выбран Defapi, введите ключ, полученный на Defapi.
- Настройка сетевых политик: по умолчанию они строгие и разрешают только необходимые исходящие запросы.
TIP
Defapi поддерживает интерфейс v1/chat/completions и полностью совместим с OpenClaw. Использование Defapi не только экономит деньги, но и сохраняет привычный пользовательский опыт.
По завершении настройки вы увидите вывод, похожий на этот:
──────────────────────────────────────────────────
Sandbox my-agent (Landlock + seccomp + netns)
Model defapi/claude-sonnet-4.5
──────────────────────────────────────────────────
Run: nemoclaw my-agent connect
Status: nemoclaw my-agent status
Logs: nemoclaw my-agent logs --follow
──────────────────────────────────────────────────
[INFO] === Installation complete ===
5. Подключение к песочнице и начало диалога
Используйте nemoclaw <name> connect для входа в интерактивную оболочку песочницы:
nemoclaw my-agent connect
После входа вы увидите приглашение командной строки:
sandbox@my-agent:~$
Теперь запустите OpenClaw TUI для общения с ИИ:
openclaw tui
Введите тестовое сообщение:
hello, can you introduce yourself?
Вы должны получить ответ от ИИ. Поздравляем! Вы успешно развернули изолированного ИИ-агента.
6. Использование CLI для одиночных запросов
Если вам не нужен интерфейс и вы хотите быстро протестировать систему, используйте режим CLI:
openclaw agent --agent main --local -m "What is 2+2?" --session-id test
Ответ будет выведен прямо в терминал, что удобно для скриптов автоматизации.
7. Настройка пользовательских сетевых политик (опционально)
Сетевые политики по умолчанию очень строгие. Если вашему ИИ нужен доступ к конкретным сервисам, вы можете настроить их самостоятельно:
# Просмотр текущей сетевой политики
nemoclaw my-agent status
# Горячая перезагрузка политики (после редактирования файла)
openshell policy apply -f custom-policy.yaml
Пример файла политики (custom-policy.yaml):
egress:
allowed:
- host: "api.github.com"
port: 443
- host: "api.openai.com"
port: 443
denied:
- host: "*"
port: "*"
WARNING
Сетевые политики — это важный барьер безопасности. Тщательно обдумывайте каждое новое правило: каждый открытый порт повышает риск атаки.
8. Управление жизненным циклом песочницы
Команды для повседневного обслуживания:
# Статус песочницы
nemoclaw my-agent status
# Просмотр логов
nemoclaw my-agent logs --follow
# Остановка песочницы
nemoclaw my-agent stop
# Запуск песочницы
nemoclaw my-agent start
# Удаление песочницы
nemoclaw my-agent delete
9. Управление несколькими экземплярами
Вы можете запускать несколько экземпляров песочниц на одной машине, они будут полностью изолированы:
# Создание второй песочницы
nemoclaw onboard # Снова пройдите через мастер
# Список всех песочниц
openshell sandbox list
Устранение типичных проблем
Проблема 1: Ошибка «command not found» при установке
Если команда nemoclaw не найдена, попробуйте:
source ~/.bashrc # bash
source ~/.zshrc # zsh
Или используйте полный путь:
~/.local/bin/nemoclaw --version
Проблема 2: Ошибка OOM (нехватка памяти)
Образ песочницы в распакованном виде занимает около 2.4 ГБ. Если у вашей машины менее 8 ГБ ОЗУ, одновременная работа Docker, k3s и песочницы может вызвать Out Of Memory. Решение:
- Добавьте минимум 8 ГБ swap.
- Или используйте машину с большим объемом памяти.
Проблема 3: Среда выполнения контейнеров не готова
# Перезапустите Docker
sudo systemctl restart docker
# Проверьте статус Docker
docker ps
Проблема 4: Ошибка конфигурации NVIDIA API Key
Если вы выбрали NVIDIA Cloud вместо Defapi, убедитесь, что:
- Ключ скопирован правильно.
- На счету достаточно средств.
- Сеть имеет доступ к build.nvidia.com.
TIP
Настоятельно рекомендуем использовать Defapi как альтернативу NVIDIA Cloud — цена ниже, а скорость доступа зачастую выше.
Проблема 5: Сетевая политика блокирует легитимный запрос
Когда ИИ пытается получить доступ к заблокированному сервису, вы получите уведомление. Вы можете разрешить запрос в TUI временно или навсегда:
[OpenShell] Agent attempted to reach api.example.com:443
Allow? [y/n/a]: # y=разрешить сейчас, n=отклонить, a=добавить навсегда
Проблема 6: Аномальный статус песочницы
Сначала проверьте уровень NemoClaw:
nemoclaw my-agent status
Затем проверьте низкоуровневый статус OpenShell:
openshell sandbox list
openshell sandbox inspect my-agent
Продвинутые возможности
1. Смена провайдера вывода
Если вы хотите перейти с NVIDIA Cloud на Defapi, обновите конфигурацию:
openshell provider update --provider defapi --api-key <your-key>
2. Мониторинг и анализ логов
Используйте OpenShell TUI для мониторинга активности в реальном времени:
openshell term
Здесь можно увидеть:
- Каждый сетевой запрос ИИ.
- Операции чтения/записи в файловой системе.
- Детали вызовов моделей.
3. Развертывание на удаленный GPU
Если локальной мощности недостаточно, можно развернуть песочницу в облаке:
nemoclaw deploy --target remote-gpu --instance-type A100
4. Мосты в Telegram/Discord
Общайтесь с ИИ через мессенджеры:
nemoclaw start telegram-bridge
nemoclaw start discord-bridge