Как автоматизировать анализ посещаемости, поведение пользователей на сайте, достижение целевых действий? В этой статье мы разберем, как настроить интеграцию 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, а на самом ресурсе должен быть установлен скрипт отслеживания, который уже собирает первые анонимные события и сессии пользователей. # Общая схема и принцип работы ![Изображение](https://insaiderai.com/web_public/images/web/1/337c4ad3-ffab-410b-aa29-ef5c4b17bd19_small.webp) Интеграция строится на взаимодействии трех компонентов: веб-сайта, 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" ![Изображение](https://insaiderai.com/web_public/images/web/1/e7c6aada-4e41-4c16-9ba5-b6686cf5f3cd_small.webp) Устанавливаем сложный пароль, устойчивый к брутфорс атаке, задаём username. В поле "Роль/Role" я настоятельно рекомендую выбирать View Only. Так ваш ассистент не удалит случайно сайт и не натворит других ещё более плохих дел. В моём случае его username: SASаsistant Должен отметить, что ваш web-сервер, который проксирует umami, должен быть устойчив к брутфорс атаке, блокируя IP адрес при слишком частых запросах. **2) Создаём новую команду (Team) в Umami и добавляем в неё ассистента** В Umami команды объединяют пользователей для работы с определёнными сайтами. Teams -> "Create team" ![Изображение](https://insaiderai.com/web_public/images/web/1/4e274e8b-81c6-4527-87cd-288ce4771ca8_small.webp) В качестве владельца команды я выбираю admin. Вот пример для этого сайта: ![Изображение](https://insaiderai.com/web_public/images/web/1/70a28130-40f1-45e0-9dcf-373dc075f827_small.webp) Теперь нужно добавить ассистента в команду, а также запомнить id команды (team): ![Изображение](https://insaiderai.com/web_public/images/web/1/ee3f6ab6-904d-4e6e-9c81-8c4d9fe275e4_small.webp) ![Изображение](https://insaiderai.com/web_public/images/web/1/dc8930e8-bde9-4e36-ad2e-e2281c39a73c_small.webp) Выбираем нашего ассистента, указывая роль View Only ![Изображение](https://insaiderai.com/web_public/images/web/1/4f8df635-b835-4d65-8e18-22509091efa5_small.webp) **3) Добавим сайт в команду** 3.1) Если сайт ещё не был создан, нужно его создать в команде: ![Изображение](https://insaiderai.com/web_public/images/web/1/6b459043-7743-44d6-a153-311d4fc7e9de_small.webp) 3.2 Если сайт уже создан, нужно перенести его в новую команду Перейти в настройки сайта: ![Изображение](https://insaiderai.com/web_public/images/web/2/22e94009-5434-4361-8ef2-400cc392fa6e_small.webp) Найти секцию "Transfer website" внизу страницы настроек: ![Изображение](https://insaiderai.com/web_public/images/web/2/d479ac19-2865-4fcf-b0fd-a585e5e48777_small.webp) И выбрать новую команду: ![Изображение](https://insaiderai.com/web_public/images/web/2/df9f3a45-26f9-4f02-8b35-6aeab4ed4f88_small.webp) **4) Подготовить OpenClaw** Теперь в OpenClaw нужно добавить новый TOOLS. Это можно сделать через UI: Agents -> Files -> TOOLS ![Изображение](https://insaiderai.com/web_public/images/web/2/faa6a262-72b3-4f46-9128-d415d943980f_small.webp) Добавляем новым абзацем описание новой функции: ```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. Агент сам разберётся как подключиться и запросит ифнормацию, если чего-то не хватит. На это удёт чуть больше токенов. ``` Проверяем работу. Например, в телеграмм боте ассистента: ![Изображение](https://insaiderai.com/web_public/images/web/2/9f115a7e-9c61-44d6-b2be-f239f32804b7.png) # Что дальше? Далее, через ассистента можно настроить: - Ежедневную аналитику, поиск узких мест, мест отказов. Автоматизируйте рутину с помощью 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.