Как автоматизировать анализ посещаемости, поведение пользователей на сайте, достижение целевых действий? В этой статье мы разберем, как настроить интеграцию Umami API и ИИ-агента OpenClaw, чтобы создать персонального ассистента-аналитика. Self-hosted аналитика Umami предоставляет мощный инструментарий для отслеживания событий, однако ручной мониторинг сессий часто превращается в рутину. Подключение OpenClaw позволяет отправлять и обрабатывать свободные запросы к аналитике вашего сайта напрямую через Telegram-бота или веб-интерфейс, не написав ни единой строчки кода. Вы узнаете, как настроить ИИ-аналитика для сайта, правильно настроить права доступа view-only для безопасности данных и автоматизировать поиск узких мест в воронке продаж.
# Введение
Просмотр аналитики и поведения пользователей - это важный аспект, который позволит улучшить сайт и увеличить выручку. Самое логичное, собирать обратную связь (далее - ОС) от пользователей напрямую, но лишь малый процент пользователей даёт ОС, даже если это простейшая кнопка с оценкой или кнопка вида "Плохо/Хорошо". По аналитике и поведению можно понять, что пользователям неудобно, сколько времени они проводят на сайте, в разделе. Откуда чаще всего уходят, что нажимают и самое главное - можно проводить исследования, как увеличить продажи и выручку, меняя разделы, элементы, тексты и упрощая пользователю взаимодействие с сайтом. Кроме того, можно выявить аномалии в поведении на раннем этапе (разведку от конкурентов, ботов, абьюзеров и прочих лиц, которые не намерены совершить покупку или другое целевое действие).
# Постановка проблемы
На первых порах, когда общее кол-во пользователей менее 100, важно собирать как можно больше анонимной аналитики: глубина скролла, на какие кнопки нажимает, куда переходит, когда уходит или делает целевое действие. Когда у вас копится достаточно большое кол-во сайтов, просмотр действий становится рутиной. Можно упустить ключевые детали, ключевые сессии или события, можно банально забыть провести аналитику, потом утонув в море скопившихся событий.
Вашему вниманию предлагается одно из решений данной проблемы: ИИ ассистент на базе OpenClaw, который будет подключаться к Umami, анализировать события, сессии, устройства, и гео, отвечать на вопросы и выполнять сложные аналитические запросы, требующие комплексного анализа нескольких сессий с разными событиями. Без единой строчки кода.
# Описание инструментов
OpenClaw - это гибкий open-source фреймворк для создания автономных ИИ-агентов, ориентированный на локальное управление и кастомизацию под конкретные бизнес-задачи. OpenClaw поддерживает концепцию Tool Use (вызов функций), что позволяет подключать к языковой модели внешние инструменты, базы данных и сторонние API. Агент может читать файлы конфигурации, выполнять HTTP-запросы, обрабатывать структурированные данные и сохранять контекст диалога.
Umami - это современная, быстрая и ориентированная на конфиденциальность альтернатива Google Analytics и Yandex Metrika с открытым исходным кодом. Она позволяет собирать детальную статистику посещаемости сайта, включая просмотры страниц, поведение пользователей, типы устройств и географию, анонимно и без использования cookie-файлов. Главное преимущество Umami для разработчиков - наличие полноценного и документированного REST API, которое позволяет управлять платформой и выгружать любые метрики программным путем, что делает ее идеальным источником данных для интеграции с искусственным интеллектом.
# Подготовка инструментов
В текущем руководстве используется Umami v3.1.0 и OpenClaw v2026.5.7. Перед тем как переходить к настройке интеграции, убедитесь, что у вас подготовлены следующие компоненты:
- Развернутая копия Self-hosted Umami - сервис должен быть установлен на вашем сервере (например, через Docker) и обновлен до версии v3.1.0 или выше. У вас должен быть полный доступ к панели управления.
- Активный экземпляр OpenClaw версии v2026.5.7 или выше должен быть настроен и запущен. Проверьте, что у вас есть доступ к интерфейсу управления агентами.
- Подключенный веб-сайт. Целевой сайт уже должен быть добавлен в панель Umami, а на самом ресурсе должен быть установлен скрипт отслеживания, который уже собирает первые анонимные события и сессии пользователей.
# Общая схема и принцип работы

Интеграция строится на взаимодействии трех компонентов: веб-сайта, self-hosted панели Umami и OpenClaw. Процесс обмена данными и логика работы выглядят следующим образом:
**1) Подготовка инфраструктуры и прав доступа в Umami**
В панели аналитики Umami сначала регистрируется новый пользователь (выделенный аккаунт для агента), которому даётся роль Read Only (или View Only). Затем создается отдельная команда (Team), в которую добавляются целевой сайт и созданный пользователь-агент. Это изолирует ИИ от других ваших проектов и защищает данные от случайного удаления, модификации и неавторизованного доступа к другим сайтам.
**2) Обучение агента работе с API в OpenClaw**
В конфигурационный файл `tools.md` OpenClaw добавляется подробное описание нового инструмента (Tool). Этот файл служит инструкцией для языковой модели. В нем прописываются URL-адрес панели Umami, учетные данные созданного пользователя, ID команд и сайтов, а также эндпоинты REST API с правилами формирования запросов. Таким образом, OpenClaw "узнает", куда обращаться и какие параметры передавать для получения аналитики.
**3) Авторизация и получение токена доступа**
Взаимодействие между системами происходит по REST API. При инициализации или первом запросе ИИ-агент отправляет POST-запрос на эндпоинт авторизации Umami, передавая имя пользователя и пароль. В ответ Umami генерирует временный JWT-токен. Все последующие запросы к аналитике агент выполняет, прикрепляя этот токен в заголовок `Authorization: Bearer <token>`.
**4) Обработка пользовательского запроса**
Когда вы отправляете текстовый запрос ассистенту (например, через Telegram-бот или веб-интерфейс OpenClaw), языковая модель анализирует ваш запрос. Понимая, что запрос касается аналитики, ИИ обращается к инструкции в `tools.md`, выбирает нужный эндпоинт Umami API, подставляет актуальные ID сайтов, забирает сырые JSON-данные из аналитики, обрабатывает их и выдает вам готовый структурированный ответ на понятном языке.
# Пошаговое руководство
**1) Создаём нового пользователя в Umami**
От имени этого пользователя OpenClaw будет входить на сайт.
admin -> admin -> Users -> "Create User"

Устанавливаем сложный пароль, устойчивый к брутфорс атаке, задаём username. В поле "Роль/Role" я настоятельно рекомендую выбирать View Only. Так ваш ассистент не удалит случайно сайт и не натворит других ещё более плохих дел. В моём случае его username: SASаsistant
Должен отметить, что ваш web-сервер, который проксирует umami, должен быть устойчив к брутфорс атаке, блокируя IP адрес при слишком частых запросах.
**2) Создаём новую команду (Team) в Umami и добавляем в неё ассистента**
В Umami команды объединяют пользователей для работы с определёнными сайтами.
Teams -> "Create team"

В качестве владельца команды я выбираю admin. Вот пример для этого сайта:

Теперь нужно добавить ассистента в команду, а также запомнить id команды (team):


Выбираем нашего ассистента, указывая роль View Only

**3) Добавим сайт в команду**
3.1) Если сайт ещё не был создан, нужно его создать в команде:

3.2 Если сайт уже создан, нужно перенести его в новую команду
Перейти в настройки сайта:

Найти секцию "Transfer website" внизу страницы настроек:

И выбрать новую команду:

**4) Подготовить OpenClaw**
Теперь в OpenClaw нужно добавить новый TOOLS. Это можно сделать через UI:
Agents -> Files -> TOOLS

Добавляем новым абзацем описание новой функции:
```Tool
...Предыдущий текст из файл TOOLS.md
### Umami Analytics (analytics.domain.com)
**Сайт:** https://analytics.domain.com
**Тип:** Self-hosted Umami
**Учётные данные пользователя-агента:**
- Username: `SASаsistant`
- Password: `strongLongPassword`
- Роль: view-only
**Подключение через API:**
1. POST `/api/auth/login` с `username` + `password` → получить `token`
2. Все запросы с заголовком `Authorization: Bearer <token>`
**Команды (teams):**
1. **Team_1** — ID: `team-1-id`
2. **Team_2** — ID: `team-2-id`
3. **InsAider AI Team** — ID: `team-3-id`
...
N. **Team_N** — ID: `team-N-id`
**Сайты — получать через** `GET /api/teams/{teamId}/websites`:
**InsAider AI** (статьи и обучение ИИ)
- ID: `site-id`
- Домен: site.domain.com
- Команда: InsAider AI Team
...
**Site N** (Другой сайт)
- ID: `site-N-id`
- Домен: site.N.com
- Команда: N Team или другая
**Основные API-запросы:**
- GET `/api/websites/{id}/active` — онлайн сейчас
- GET `/api/websites/{id}/stats?startAt={ms}&endAt={ms}` — общая статистика
- GET `/api/websites/{id}/pageviews?startAt={ms}&endAt={ms}&unit=day&tz=Europe/Moscow` — просмотры/сессии по дням
- GET `/api/websites/{id}/metrics?startAt={ms}&endAt={ms}&type={"source"|"url"|"browser"|"os"|"device"|"country"|"event"}` — метрики
- GET `/api/websites/{id}/events?startAt={ms}&endAt={ms}` — события
**Важно:** Токен живёт, пока активна сессия. При переподключении делать новый login.
...Следующий текст из файл TOOLS.md
```
Затем не забыть сохранить новый текст.
```Note
Это можно не делать вручную, а попросить агента подключиться к Umami, найти сайт и записать алгоритм работы в TOOLS.md. Агент сам разберётся как подключиться и запросит ифнормацию, если чего-то не хватит. На это удёт чуть больше токенов.
```
Проверяем работу. Например, в телеграмм боте ассистента:

# Что дальше?
Далее, через ассистента можно настроить:
- Ежедневную аналитику, поиск узких мест, мест отказов. Автоматизируйте рутину с помощью Cron-задач в OpenClaw или регулярных промптов в Telegram-боте. Агент может каждое утро собирать аналитику за прошедшие 24 часа, анализировать страницы с самым высоким показателем отказов (Bounce Rate) и присылать структурированный отчет.
Посмотрите реальный пример ежедневного отчёта на боевом сайте с реальными пользователями и выручкой (данные анонимизированы). OpenClaw ассистент создал CRON, по которому каждый день заходит и смотрит аналитику:
```Сообщение
📊 **Ежедневная сводка аналитики — 27 мая (ср)**
**Сайт_1**
👥 Посетители: 106 | 👁 Просмотры: 317 | 🔄 Визиты: 109
📉 Отказы: 78 (71.6%)
⏱️ Среднее время: ~1 мин 22 сек
📊 Сравнение: просмотры −17%, посетители +13%, время на сайте −35%
**Популярные страницы:** страница_1 (214 эвентов — 47% трафика), страница_2 (27), страница_3 (16)
**Источники:** Google 158 | Яндекс 97 | Прямые 135 | [ya.ru](http://ya.ru/) 11
**Страны:** РФ 67 | Нидерланды 6 | Германия 6 | UK 5 | США 3
**Устройства:** мобильные 56 | ноутбуки 45
**Вовлечённость:** User Presence 109+34, доскроллили до 100% — лишь 2 чел., Cookie accepted 9, написали — 1
**Аномалии:** пик 48 просмотров в 12:00 MSK (обычно 15-25); странные эвенты `tmec238039372220945` ×3, `ShowBootstrapAppTost: Доступ запрещён` — похоже на ошибку валидации
**Ушли ничего не сделав:** 78 отказов (71.6%)
**Выводы:** Трафик растёт, но люди не переходят между ***. Критически нужны рекомендации похожих ***.
—
*** Сайт_2
👥 Посетители: 69 | 👁 Просмотры: 274 | 🔄 Визиты: 85
📉 Отказы: 38 (44.7%)
⏱️ Среднее время: ~4 мин 21 сек 🎉
📊 Сравнение: просмотры +16%, время на сайте +41% — супер
**Страницы:** /страница-1 185 | / (главная) 165 | /ru/страница-1 94
**Источники:** [yandex.ru](http://yandex.ru/) 127 | [yoomoney.ru](http://yoomoney.ru/) 66 | [ya.ru](http://ya.ru/) 18 | прямой 16
**Браузеры:** Chrome 248 | Яндекс.Браузер 200
**Устройства:** мобильные 59 | ноутбуки 9
**💳 Воронка оплаты:**
Показана кнопка — 29
Нажали Pay — 8 (27.6% конверсии)
Выбрали метод — 8
Открыли подтверждение — 15 раз (7 осн. + 8 с секции)
Закрыли без оплаты — 4
**Странные эвенты:** `submit` ×2, `toStartHero1` ×2 (возврат к началу), `Already` ×4, клики по рекламе 7, `User load` ×2
**Ушли ничего не сделав:** 38 отказов (44.7%)
—
**Выводы и рекомендации:**
1. Сайт_1 — критический bounce rate 71.6%. Нужна система рекомендаций похожих ***, сокращение времени загрузки и улучшенные превью на главной.
2. Сайт_2 — отличная вовлечённость (4+ мин!), работает хорошо. Проблема: из 29 показов кнопки оплаты — 8 кликов (27.6%). Из 15 открытий подтверждения — 4 закрыли без оплаты. Стоит поработать над UX платёжной формы и ценностным предложением.
3. 🔍 Яндекс — главный источник для обоих проектов.
4. 📱 Мобайл + Android доминируют — проверьте, что мобильный UX в порядке.
```
- Ежемесячную статистику. Ассистент сравнит показатели текущего месяца с предыдущим, выявит долгосрочные тренды, подсветит изменения в поведении. Вместо ручного анализа из Umami вы получаете готовое саммари с выводами, какие маркетинговые каналы принесли наиболее вовлеченную аудиторию.
- Однократные вопросы, сводки с графиками. Используйте возможности LLM для быстрых запросов в режиме реального времени. Вы можете спросить у бота: "Сколько человек заходило со смартфонов за последние 2 часа и какое целевое действие они совершали чаще всего?".
Ассистента-аналитика не обязательно делать на базе OpenClaw. Можно использовать любого другого ИИ Агента, используя пример системного промпта:
```Промпт
[System Prompt]
Ты - профессиональный аналитик, который анализирует поведение пользоваталей на сайте по событиями. Ты работаешь с системой Umami.
Твоя задача - отвечать на вопросы и выполнять запросы пользователя.
**Сайт:** https://analytics.domain.com
**Тип:** Self-hosted Umami
**Учётные данные пользователя-агента:**
- Username: `SASаsistant`
- Password: `strongLongPassword`
- Роль: view-only
**Подключение через API:**
1. POST `/api/auth/login` с `username` + `password` → получить `token`
2. Все запросы с заголовком `Authorization: Bearer <token>`
**Команды (teams):**
1. **Team_1** — ID: `team-1-id`
2. **Team_2** — ID: `team-2-id`
3. **InsAider AI Team** — ID: `team-3-id`
...
N. **Team_N** — ID: `team-N-id`
**Сайты — получать через** `GET /api/teams/{teamId}/websites`:
**InsAider AI** (статьи и обучение ИИ)
- ID: `site-id`
- Домен: site.domain.com
- Команда: InsAider AI Team
...
**Site N** (Другой сайт)
- ID: `site-N-id`
- Домен: site.N.com
- Команда: N Team или другая
**Основные API-запросы:**
- GET `/api/websites/{id}/active` — онлайн сейчас
- GET `/api/websites/{id}/stats?startAt={ms}&endAt={ms}` — общая статистика
- GET `/api/websites/{id}/pageviews?startAt={ms}&endAt={ms}&unit=day&tz=Europe/Moscow` — просмотры/сессии по дням
- GET `/api/websites/{id}/metrics?startAt={ms}&endAt={ms}&type={"source"|"url"|"browser"|"os"|"device"|"country"|"event"}` — метрики
- GET `/api/websites/{id}/events?startAt={ms}&endAt={ms}` — события
**Важно:** Токен живёт, пока активна сессия. При переподключении делать новый login.
```
# Ответы на вопросы (FAQ):
**Насколько безопасно передавать учетные данные Umami в файл TOOLS.md для OpenClaw?**
Это полностью безопасно при условии, что вы строго следовали инструкции и создали отдельного пользователя с ролью Read Only / View Only. Даже если доступ к файлу конфигурации будет скомпрометирован, злоумышленник или сам ИИ-агент не смогут удалить ваши сайты, изменить настройки трекинга или переписать историю событий.
**Будет ли OpenClaw работать, если у меня подключено несколько десятков сайтов в Umami?**
Да, будет. Однако в этом случае важно правильно структурировать секцию "Сайты" в TOOLS.md. Четко пропишите ID и домен для каждого ресурса, чтобы модель не путалась в контексте. Если сайтов слишком много, лучше разбить их по разным командам (Teams) в Umami и создать под каждую команду отдельного специализированного агента в OpenClaw, чтобы не перегружать контекстное окно языковой модели.
**Могу ли я просить ассистента настроить новые цели или события (events) в Umami?**
Нет, в рамках данной конфигурации ассистент имеет права только на чтение данных через API. Он может филигранно анализировать уже собранные события, строить по ним воронки и искать аномалии, но для создания новых кастомных событий вам потребуется добавить соответствующий JS-код на свой сайт или вручную разметить их в панели управления Umami.
Личный ИИ ассистент аналитик: как подружить OpenClaw и Umami
Статья


Комментарии
None