Проблема
Когда мы впервые создали Office Claws, развертывание нового ИИ-агента занимало около 8 минут. Для продукта, который обещает простоту, заставлять пользователей ждать 8 минут, прежде чем они смогут хотя бы поздороваться со своим агентом, было неприемлемо.
Большая часть времени уходила на:
- Установку Docker и зависимостей на свежий дроплет Ubuntu (~5 минут)
- Настройку сети Tailscale (~1 минута)
- Загрузку и запуск контейнера агента (~2 минуты)
Решение: развертывание на основе снимков
Вместо того чтобы устанавливать всё с нуля на каждом новом дроплете, мы заранее собираем снимок DigitalOcean с помощью Packer, который включает:
- Docker CE — предустановлен и настроен
- Бинарный файл Tailscale — готов к подключению к сети
- Все системные пакеты и зависимости
- Контейнер среды выполнения агента — заранее загружен
Когда пользователь создаёт нового агента, мы поднимаем дроплет из этого снимка, а не из чистой Ubuntu.
Скрипт начальной загрузки
Наш скрипт bootstrap_vps.sh определяет, запущен ли он на снимке, проверяя наличие файла-маркера:
if [ -f /etc/openclaw-snapshot-version ]; then
echo "Snapshot detected, skipping installation"
# Only configure Tailscale and start agent
else
echo "Fresh install, running full setup"
# Install Docker, Tailscale, dependencies...
fiРезультаты
| Этап | До | После |
|---|---|---|
| Создание дроплета | 60 с | 60 с |
| Начальная загрузка (установка) | 5-6 мин | 37 с |
| Запуск агента | 2 мин | 45 с |
| Итого | ~8 мин | ~2,5 мин |
Фаза начальной загрузки сократилась с 5-6 минут до 37 секунд — сокращение на 90%.
Как мы поддерживаем снимки в актуальном состоянии
Мы используем рабочий процесс GitHub Actions, который пересобирает снимок еженедельно. Это гарантирует, что базовый образ всегда содержит последние патчи безопасности и нашу новейшую среду выполнения агента.
Рабочий процесс:
- Поднимает временный дроплет
- Запускает полный скрипт установки
- Создаёт снимок
- Удаляет старый снимок
- Обновляет идентификатор снимка в конфигурации
Что видит пользователь
С точки зрения пользователя, он нажимает «Create Agent» и видит индикатор прогресса. Примерно через 2 минуты агент появляется за рабочим столом в пиксельном офисе, готовый к общению.
Никакого терминала. Никакого SSH. Никакого ожидания.
Что дальше
Мы исследуем способы ускорить процесс ещё больше:
- Пулы предварительно подготовленных дроплетов — Держать простаивающие дроплеты наготове, сократив развертывание до менее чем 30 секунд
- Граничное развертывание — Использование небольших региональных провайдеров для снижения задержек
- Режим только контейнеров — Для пользователей, у которых уже есть инфраструктура и нужна только среда выполнения агента