Hermes Agent — это открытый автономный AI-агент от Nous Research, способный планировать задачи, генерировать код, работать с терминалом и автоматизировать браузер. Docker-развертывание избавляет от проблем с окружением и позволяет быстро начать работу.
1. Требования
Системные требования
| Параметр | Минимум | Рекомендуется |
|---|---|---|
| ОС | Linux / Windows 10+ / macOS | Ubuntu 22.04+ |
| CPU | 2 ядра | 4 ядра |
| RAM | 4 GB | 8 GB+ |
| Диск | 10 GB | 20 GB+ |
| Docker | 20.10+ | 24.0+ |
Установка Docker
Linux (автоматическая установка с зеркалами):
bash
bash <(wget -qO- https://get.docker.com)
Проверка установки:
bash
docker version
2. Быстрое развертывание (5 минут)
2.1 Создание директории для данных
Linux / Mac:
bash
mkdir -p ~/.hermes
Windows (PowerShell):
powershell
mkdir C:\Users\ТвоеИмя\hermes
2.2 Загрузка образа
bash
docker pull nousresearch/hermes-agent:latest

2.3 Запуск мастера настройки
Linux / Mac:
bash
docker run -it --rm \ -v ~/.hermes:/opt/data \ nousresearch/hermes-agent:latest setup

Windows (PowerShell):
powershell
docker run -it --rm ` -v C:\Users\ТвоеИмя\hermes:/opt/data ` nousresearch/hermes-agent:latest setup
2.4 Что отвечать в мастере
Выберите режим инициализации
- Выберите
Quick setup — provider, model & messaging


Консоль каждую секунду проверяет, не подтвердил ли ты вход через браузер.


Я выбрал авторизацию через GitHub, можно через Google или email.

Выберите провайдера модели
- OpenAI / Anthropic / DeepSeek / Nous Portal (бесплатно)

Так, как на балансе нет средств система не дает выбрать платные модели.
Я выбрал stepfun/step-3.7-flash:free, китайская модель от компании StepFun. Версия 3.7 (особенно «Flash») считается очень сильной и быстрой. По многим бенчмаркам (тестам на логику и код) она превосходит или как минимум сопоставима с более старыми платными моделями. Это лучший бесплатный вариант из представленных.
Select terminal backend:

Выбираем Docker

Установщик спрашивает, хотите ли вы включить защиту (межсетевой экран) для исходящего трафика (egress firewall), чтобы обезопасить работу с API-ключами.
Если сказать совсем просто: он может спрятать ваши реальные ключи от API (например, от OpenAI или Anthropic) от кода, который будет запускаться в Docker-контейнере. Вместо настоящего ключа контейнер получит временный токен-посредник.
Нажмите y (Yes) и Enter — РЕКОМЕНДУЮ (безопасно)
Подключение мессенджера

- Для локального теста выберите
Skip — set up later

После появления ✓ Setup Complete! настройка завершена.

2.5 Запуск и общение
bash
docker run -it --rm \ -v ~/.hermes:/opt/data \ nousresearch/hermes-agent:latest
Появится приветствие. Можно начинать:

text
Welcome to Hermes Agent! Type your message or /help for commands > Привет > Создай Python-скрипт для мониторинга загрузки CPU
3. Полная настройка
3.1 Фоновый режим (Gateway)
Для постоянной работы на сервере:
bash
docker run -d \ --name hermes \ --restart unless-stopped \ -v ~/.hermes:/opt/data \ nousresearch/hermes-agent:latest \ gateway run
3.2 Подключение Telegram / Discord
Войти в контейнер и настроить:
bash
docker exec -it hermes hermes setup gateway

По инструкции выбрать мессенджер и ввести токен бота.
3.3 Смена модели
bash
docker exec -it hermes hermes model
3.4 Проверка состояния
bash
docker exec -it hermes hermes doctor
4. Production-развертывание (Docker Compose + WebUI)
4.1 Структура директорий
bash
mkdir -p ~/hermes/{data,webui-data}
cd ~/hermes
4.2 Создание docker-compose.yml
yaml
version: '3.8'
services:
# Основной сервис Hermes Agent
hermes:
image: nousresearch/hermes-agent:latest
container_name: hermes
restart: unless-stopped
command: gateway run
volumes:
- ./data:/opt/data
expose:
- "8642"
healthcheck:
test: ["CMD", "hermes", "doctor"]
interval: 30s
timeout: 10s
retries: 3
# Веб-интерфейс (опционально)
hermes-webui:
image: nesquena/hermes-webui:latest
container_name: hermes-webui
restart: unless-stopped
ports:
- "3001:8787"
environment:
- HERMES_WEBUI_STATE_DIR=/app/data
volumes:
- ./webui-data:/app/data
depends_on:
- hermes
4.3 Запуск
bash
docker compose up -d
4.4 Доступ к веб-интерфейсу
Откройте в браузере: http://localhost:3001
Если сервер удалённый — не забудьте открыть порт 3001 в фаерволе.
4.5 Обновление до новой версии
bash
docker compose pull docker compose up -d
5. Полезные команды
Управление контейнером
| Действие | Команда |
|---|---|
| Просмотр логов | docker logs -f hermes |
| Остановка | docker stop hermes |
| Запуск после остановки | docker start hermes |
| Перезапуск | docker restart hermes |
| Вход в контейнер | docker exec -it hermes bash |
| Удаление контейнера | docker rm -f hermes |
Команды внутри Hermes
| Команда | Что делает |
|---|---|
hermes setup | Полный мастер настройки |
hermes setup model | Сменить модель |
hermes setup gateway | Настроить мессенджер |
hermes doctor | Диагностика системы |
hermes | Запуск CLI |
/help | Справка в CLI |
/exit | Выход из CLI |
Работа с данными
bash
# Резервное копирование tar -czf hermes-backup.tar.gz ~/.hermes # Восстановление tar -xzf hermes-backup.tar.gz -C ~/
6. Настройка безопасности
6.1 Включение подтверждения команд
Отредактируйте ~/.hermes/config.yaml:
yaml
approvals: mode: manual # manual — вручную | smart — умный | off — выкл timeout: 60
6.2 Ограничение доступа в Telegram
yaml
gateway:
telegram:
allowed_user_ids:
- 123456789 # ID твоего Telegram
Как узнать свой Telegram ID: напишите @userinfobot любое сообщение.
6.3 Закрытие портов (если нужен только мессенджер)
bash
sudo ufw deny 8642 # API шлюза sudo ufw deny 9119 # Dashboard
7. Частые проблемы и их решение
🔴 Не качается образ
Решение: Укажите конкретную версию
bash
docker pull nousresearch/hermes-agent:latest # Или используйте зеркало docker pull ghcr.io/nousresearch/hermes-agent:latest
🔴 Контейнер постоянно перезапускается
Причина: проблемы с правами или конфигурацией
Решение:
bash
# Проверить логи docker logs hermes # Исправить права sudo chown -R 1000:1000 ~/.hermes
🔴 API не отвечает
Причина: неверный API Key или настройки модели
Решение:
bash
docker exec -it hermes hermes setup model # Ввести новый API Key
🔴 WebUI не открывается
Решение:
- Убедитесь, что порт 3001 не занят:bashnetstat -tlnp | grep 3001
- Проверьте фаервол:bashsudo ufw allow 3001
- Перезапустите WebUI:bashdocker compose restart hermes-webui
🔴 Ошибка «address already in use»
Решение: Остановите старый контейнер
bash
docker rm -f hermes # Затем повторите запуск
Шпаргалка
| Сценарий | Команда |
|---|---|
| Первая настройка | docker run -it --rm -v ~/.hermes:/opt/data nousresearch/hermes-agent:latest setup |
| Интерактивный режим | docker run -it --rm -v ~/.hermes:/opt/data nousresearch/hermes-agent:latest |
| Фоновый режим | docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data nousresearch/hermes-agent:latest gateway run |
| Поменять модель | docker exec -it hermes hermes model |
| Посмотреть логи | docker logs -f hermes |
| Войти в контейнер | docker exec -it hermes bash |
Теперь у вас есть полностью работающий Hermes Agent в Docker. Начните с простых задач, например: «Напиши bash-скрипт для бэкапа папки» или «Объясни, как настроить firewall». Удачи в использовании автономного AI-агента! 🚀