# Как установить AI Manus и запустить первого ИИ-агента: пошаговое руководство

> AI Release · @ai_release1 · https://ai-release.org/guides/kak-ustanovit-ai-manus-i-zapustit-pervogo-ii-agenta-pos.html

## TL;DR

- Время выполнения: 30–45 минут (без учёта скачивания Docker-образа)
- Уровень сложности: Intermediate
- Понадобится:
  - Linux, macOS или Windows 11 с включённым WSL2
  - Docker Engine + Docker Compose v2 (`docker --version`, `docker compose version`)
  - API-ключ провайдера модели (OpenAI-совместимый эндпоинт или ключ вашего провайдера)
  - Свободный порт (в примерах — `8080`)
  - Аккаунт в облачной версии, если вы не разворачиваете инстанс сами

## Требования и подготовка
![Иллюстрация к разделу «Требования и подготовка»](https://ai-release.org/guides/img/kak-ustanovit-ai-manus-i-zapustit-pervogo-ii-agenta-pos-ru-1.jpg?v=1794667371)


Здесь вы проверяете, что окружение вообще способно запустить агента — это дешевле, чем ловить ошибку на середине установки.

- **ОС и версия.** Linux (любой актуальный дистрибутив), macOS или Windows 11 с WSL2. На Windows без WSL2 Docker-контейнеры с Linux-образом не поднимутся.
- **Docker Engine.** Проверьте `docker --version`; нужен рабочий демон, а не только CLI.
- **Docker Compose v2.** Команда `docker compose version` (с пробелом, не `docker-compose`).
- **Права.** Пользователь должен иметь право работать с Docker: либо `sudo`, либо членство в группе `docker`.
- **API-ключ модели.** Без него агент запустится, но первый же запрос вернёт ошибку авторизации. Ключ держите в `.env`, не в командной строке — история shell сохраняется в открытом виде.
- **Свободное место.** Точный объём под образ и рабочие файлы агента зависит от дистрибутива — сверьтесь с документацией.
- **Термины.** Docker-образ — упакованное приложение со всеми зависимостями; `.env` — текстовый файл с переменными окружения, которые читает контейнер; health-check — служебный запрос, которым проверяют, что сервис жив.

Пример проверки окружения одной строкой:

```bash
docker --version && docker compose version && docker info --format '{{.ServerVersion}}'
```

Ожидаемый вывод — две версии и строка вида `27.x.x`. Если вторая команда падает с `docker: 'compose' is not a docker command`, у вас старый CLI без плагина Compose v2 — обновите Docker.

## Шаг 1. Проверка доступа к Docker и выбор способа установки

**Что сделать:** убедиться, что демон Docker отвечает, и выбрать вариант — облачный (браузер, ничего не ставите) или self-hosted (контейнер у себя).

**Зачем:** 80% провалов на первом запуске — не сам агент, а недоступный демон или занятый порт. Проверка занимает минуту и отсекает эту категорию ошибок.

**Как проверить:** демон отвечает, порт свободен, папка проекта создана.

```bash
docker info --format 'Server: {{.ServerVersion}} | Mem: {{.MemTotal}}'
ss -ltnp | grep 8080 || echo "порт 8080 свободен"
mkdir -p ~/manus/workspace && cd ~/manus
```

**Пример:** если `ss` печатает `порт 8080 свободен` — можно продолжать. Если видите строку с `LISTEN` и чужим PID, выберите другой порт (например, `8090`) и подставляйте его дальше везде.

Для облачного варианта шаг 1 — это регистрация и вход в веб-интерфейс; контейнеры не нужны, переходите сразу к шагу 2 (подключение модели в настройках аккаунта).

Если ваша задача — изолировать агента от основной системы, сначала посмотрите [как запустить автономных ИИ-агентов в безопасном рантайме OpenShell](https://ai-release.org/guides/poshagovoe-rukovodstvo-kak-zapustit-avtonomnyh-ii-agent.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide): там тот же принцип «контейнер + ограниченные права», но с упором на песочницу.

## Шаг 2. Установка AI Manus и подключение модели
![Иллюстрация к разделу «Шаг 2. Установка AI Manus и подключение модели»](https://ai-release.org/guides/img/kak-ustanovit-ai-manus-i-zapustit-pervogo-ii-agenta-pos-ru-2.jpg?v=1794667377)


**Что сделать:** создать `.env` с ключом и параметрами модели, поднять контейнер, дождаться старта.

**Зачем:** агент — это оболочка; «мозгом» служит внешняя модель. Пока не заданы провайдер, имя модели и ключ, агент примет задачу и упадёт на первом же вызове LLM (large language model — большая языковая модель, которая планирует шаги).

**Как проверить:** контейнер в статусе `Up`, в логах есть строка о старте HTTP-сервера и нет traceback.

```bash
cd ~/manus
cat > .env <<'EOF'
LLM_PROVIDER=openai
LLM_MODEL=<имя-модели-из-документации>
LLM_API_KEY=<ваш-api-ключ>
APP_PORT=8080
EOF
chmod 600 .env
```

`chmod 600` закрывает файл от других пользователей системы — ключ не утечёт через общий аккаунт.

Запуск (имя образа и тег берутся из документации вашего дистрибутива — подставьте вместо плейсхолдеров):

```bash
docker run -d --name manus \
  --env-file .env \
  -p 8080:8080 \
  -v "$HOME/manus/workspace:/app/workspace" \
  <registry>/<image>:<tag>
```

Флаг `-v` монтирует локальную папку внутрь контейнера: всё, что агент создаст, останется на диске даже после удаления контейнера.

Проверка:

```bash
docker ps --filter name=manus --format '{{.Status}}\t{{.Ports}}'
docker logs --tail 30 manus
```

**Пример:** ожидаемый вывод первой команды — `Up 12 seconds    0.0.0.0:8080->8080/tcp`. В логах ищите строку о listening на порту `8080`; точный текст зависит от версии — сверьтесь с документацией.

Таблица переменных, которые чаще всего правят:

| Переменная | Что задаёт | Чем заменить плейсхолдер |
|---|---|---|
| `LLM_PROVIDER` | тип провайдера модели | имя провайдера из документации |
| `LLM_MODEL` | конкретная модель | идентификатор модели в вашем аккаунте |
| `LLM_API_KEY` | ключ доступа | ваш секретный ключ, без кавычек и пробелов |
| `APP_PORT` | порт HTTP-сервера | любой свободный порт, например `8090` |

Если нужен не текстовый, а голосовой агент, схема установки та же — см. разбор [как развернуть self-hosted голосового агента Lampline](https://ai-release.org/guides/poshagovoe-rukovodstvo-kak-razvernut-self-hosted-goloso.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide).

## Шаг 3. Запуск первого агента и проверка результата
![Иллюстрация к разделу «Шаг 3. Запуск первого агента и проверка результата»](https://ai-release.org/guides/img/kak-ustanovit-ai-manus-i-zapustit-pervogo-ii-agenta-pos-ru-3.jpg?v=1794667380)


**Что сделать:** отправить агенту простую задачу с осязаемым артефактом — файлом в рабочей папке — и убедиться, что файл появился с ожидаемым содержимым.

**Зачем:** «агент ответил в чате» ничего не доказывает. Файл на диске доказывает, что цепочка «задача → планирование → вызов инструмента → запись» прошла целиком.

**Как проверить:** файл `report.md` существует, его размер больше нуля, внутри — текст задачи.

Постановка задачи через HTTP-API (путь эндпоинта уточните в документации — он зависит от версии):

```bash
curl -s -X POST http://localhost:8080/api/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <ваш-api-ключ>" \
  -d '{"prompt":"Создай в рабочей папке файл report.md с тремя пунктами списка: что такое ИИ-агент, какие инструменты он вызывает, как проверить его работу. Не задавай уточняющих вопросов."}'
```

**Пример:** ожидаемый ответ — JSON с идентификатором задачи и статусом, например `{"id":"task_...","status":"queued"}`. Дальше:

```bash
sleep 30
ls -la ~/manus/workspace/
head -n 20 ~/manus/workspace/report.md
```

Успех выглядит так: в `ls` есть `report.md` с ненулевым размером, а `head` печатает три пункта списка. Если файла нет — смотрите `docker logs manus`: там будет либо ошибка авторизации модели, либо отказ инструмента записи.

Чек-лист приёмки первого запуска:

- [ ] `docker ps` показывает статус `Up`, а не `Restarting`
- [ ] в логах нет `Traceback` и `401`
- [ ] задача вернула `id`
- [ ] файл `report.md` появился в `~/manus/workspace`
- [ ] содержимое файла соответствует формулировке задачи

## Возможные проблемы и решения

**Проблема. Docker не видит демон**

- Ошибка: `Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?`
- Причина: служба Docker не запущена либо у пользователя нет прав на сокет.
- Решение: запустить службу и добавить пользователя в группу, затем перелогиниться.

```bash
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp docker
docker info --format '{{.ServerVersion}}'
```

**Проблема. Модель отклоняет ключ**

- Ошибка: `401 Unauthorized` в логах контейнера, в теле ответа — `Incorrect API key provided`
- Причина: ключ не попал в контейнер (опечатка в имени переменной, кавычки в `.env`, старая переменная в окружении shell).
- Решение: проверить, что видит сам контейнер, исправить `.env` и пересоздать контейнер.

```bash
docker exec manus env | grep -i api_key
docker rm -f manus && docker run -d --name manus --env-file .env -p 8080:8080 \
  -v "$HOME/manus/workspace:/app/workspace" <registry>/<image>:<tag>
```

**Проблема. Порт занят**

- Ошибка: `Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use`
- Причина: порт уже слушает другой процесс, часто — прошлый контейнер, который не остановили.
- Решение: найти и освободить порт либо сменить маппинг.

```bash
docker ps -a --filter publish=8080
# освободить: docker rm -f <имя-контейнера>
# или сменить порт: -p 8090:8080 и APP_PORT=8090
```

## Резюме и следующие шаги

Вы подняли AI Manus в контейнере, подключили модель и получили первый файл, созданный агентом по текстовой задаче. Дальше имеет смысл добавить агенту собственные инструменты и ограничить ему доступ к файловой системе до одной рабочей папки.

## FAQ

**Нужен ли платный API-ключ для запуска AI Manus?**
Ключ нужен для любой модели, которую вы подключаете. Бесплатный лимит определяется у вашего провайдера — сверьтесь с документацией провайдера и документацией AI Manus.

**Можно ли запустить AI Manus локально без Docker?**
Установка без контейнера зависит от дистрибутива и наличия готового пакета. Проверяйте раздел установки в официальной документации — сверьтесь с документацией.

**Какой порт использует агент и как его сменить?**
В примерах используется `8080`. Порт задаётся переменной `APP_PORT` и флагом `-p <внешний>:<внутренний>` при запуске контейнера; после смены оба значения должны совпадать.

**Где агент хранит созданные файлы?**
В том каталоге, который смонтирован флагом `-v`. В примере это `~/manus/workspace` на хосте и `/app/workspace` внутри контейнера; внутренний путь уточняйте в документации.
