Мониторинг цен на сайтах — одна из самых частых задач, с которой приходят к OpenClaw. Оно и понятно: вручную обходить десятки страниц ежедневно — потеря времени, а платные сервисы берут абонентку за то, что ИИ-агент умеет делать сам.
В этой статье разберём 4 рабочих способа настроить мониторинг цен через OpenClaw, какие скиллы и инструменты понадобятся, на каких моделях лучше запускать и какие ошибки встречаются чаще всего.
Что умеет OpenClaw в контексте мониторинга цен
OpenClaw — это не просто чат-бот, а агент с доступом к инструментам: он умеет открывать браузер, читать страницы, выполнять JavaScript, сохранять данные и отправлять уведомления. Для мониторинга цен это означает полный цикл без внешних сервисов:
- открыть нужную страницу товара
- найти и извлечь цену из HTML или JS-рендеренного контента
- сравнить с предыдущим значением
- отправить уведомление в Telegram, если цена изменилась
- записать историю в файл или таблицу
Всё это можно запустить по расписанию через cron на VPS — и агент будет работать 24/7.
Способ 1 — Прямой мониторинг через Browser Use (самый простой)
Подходит для: 1–10 товаров, сайты без серьёзной защиты от ботов.
OpenClaw умеет управлять браузером через навык Browser Use (встроен начиная с версии 1.8). Агент открывает страницу как настоящий пользователь — с JavaScript, куками, fingerprint.
Что понадобится
- Навык Browser (включён по умолчанию)
- MCP-сервер browser-use или playwright — для работы с браузером
- Модель с хорошим пониманием HTML — Claude Sonnet 4 или GPT-4o
Пошаговая инструкция
Шаг 1. Откройте OpenClaw и напишите системный промпт для агента:
Ты — агент мониторинга цен. Твоя задача:
1. Открыть URL из списка
2. Найти на странице цену товара
3. Сравнить с ценой из файла prices.json
4. Если цена изменилась — сообщить об этом
5. Обновить prices.json
Шаг 2. Создайте файл prices.json с начальными данными:
{
"items": [
{
"name": "iPhone 15 Pro 256GB",
"url": "https://example-shop.ru/iphone-15-pro",
"last_price": null,
"last_check": null
}
]
}
Шаг 3. Запустите задачу и скажите агенту:
Проверь цены по списку в prices.json и обнови файл.
OpenClaw откроет каждую страницу, найдёт цену (даже в динамически загружаемом контенте), обновит файл и сообщит об изменениях.
Шаг 4. Автоматизируйте через cron на VPS:
# Каждые 6 часов запускать мониторинг
0 */6 * * * /usr/local/bin/openclaw run "Проверь цены в /home/user/prices.json" --headless
Ограничения способа
- Медленный при большом количестве товаров (браузер открывается для каждой страницы)
- Может не работать на сайтах с Cloudflare или капчей
Способ 2 — Fetch + CSS-селекторы (быстрый, для стабильных сайтов)
Подходит для: интернет-магазины с предсказуемой HTML-структурой, 10–100 товаров.
Если сайт не требует JavaScript для отображения цены, достаточно HTTP-запроса. OpenClaw через навык Fetch получает HTML и извлекает данные по CSS-селектору.
Что понадобится
- Навык Fetch или MCP-сервер fetch (встроен)
- Навык Files — для хранения истории
- Telegram навык — для уведомлений
Пошаговая инструкция
Шаг 1. Найдите CSS-селектор цены на нужном сайте.
Откройте страницу товара в Chrome → F12 → кликните на цену → правая кнопка →
«Copy selector». Например: .product-price__main.
Шаг 2. Создайте конфигурацию мониторинга monitor-config.json:
{
"checks": [
{
"name": "Телевизор Samsung 55",
"url": "https://mvideo.ru/products/televizor-samsung-55",
"selector": ".price-block__final-price",
"currency": "RUB"
},
{
"name": "MacBook Air M3",
"url": "https://re-store.ru/catalog/apple-macbook-air-m3/",
"selector": "[data-testid='product-price']",
"currency": "RUB"
}
]
}
Шаг 3. Промпт для агента:
Возьми конфиг из monitor-config.json.
Для каждого товара:
- Сделай GET-запрос по URL
- Найди элемент по selector
- Извлеки числовое значение цены
- Сравни с ценой из price-history.json
- Если отличается — добавь запись в историю и уведомь меня в Telegram
Шаг 4. История цен сохраняется автоматически:
{
"Телевизор Samsung 55": [
{"date": "2026-03-20", "price": 89990},
{"date": "2026-03-21", "price": 84990},
{"date": "2026-03-23", "price": 84990}
]
}
Ограничения способа
- Не работает для SPA (React/Vue-сайтов) — цена грузится через JS после загрузки страницы
- Если магазин изменит вёрстку — селектор сломается, нужно обновлять вручную
Способ 3 — Через API маркетплейсов (самый надёжный)
Подходит для: Wildberries, Ozon, Яндекс.Маркет, AliExpress.
Крупные маркетплейсы имеют API или неофициальные JSON-эндпоинты. OpenClaw делает запрос к API и получает данные структурировано — без парсинга HTML.
Что понадобится
- Навык Fetch
- API-ключ маркетплейса (если нужен)
- Навык Files для хранения истории
Эндпоинты маркетплейсов (публичные)
# Wildberries — цена по артикулу (официальный, без ключа)
https://card.wb.ru/cards/v2/detail?appType=1&curr=rub&nm=АРТИКУЛ
# Ozon — требует авторизацию
https://api-seller.ozon.ru/v4/product/info/prices
# Яндекс.Маркет API (требует OAuth)
https://api.partner.market.yandex.ru/v2/campaigns/{id}/offer-prices
Пошаговая инструкция (Wildberries)
Шаг 1. Найдите артикул товара — он в URL страницы товара на WB:
https://www.wildberries.ru/catalog/187654321/detail.aspx → артикул 187654321
Шаг 2. Промпт:
Проверь цены для артикулов Wildberries: 187654321, 203456789, 198765432
Для каждого сделай GET-запрос к https://card.wb.ru/cards/v2/detail?appType=1&curr=rub&nm={артикул}
Извлеки поля: name, salePriceU (делить на 100), basicPriceU (делить на 100)
Сравни с последними данными в wb-prices.json
Сообщи, если цена или скидка изменилась
Шаг 3. Агент самостоятельно разберёт JSON-ответ и выведет изменения:
📉 Куртка Befree (187654321)
Было: 4 590 ₽ → Стало: 3 190 ₽ (-30%)
Ссылка: https://wildberries.ru/catalog/187654321/detail.aspx
Ограничения способа
- Маркетплейсы могут менять структуру ответа API без предупреждения
- Ozon и Яндекс.Маркет требуют регистрацию продавца для полного API
Способ 4 — Связка OpenClaw + Google Sheets (для команд)
Подходит для: когда данные нужно видеть нескольким людям, визуализация динамики цен.
OpenClaw через MCP-сервер Google Sheets записывает цены прямо в таблицу. Коллеги видят обновления в реальном времени, можно строить графики.
Что понадобится
- MCP-сервер google-sheets (установить через
npx @modelcontextprotocol/server-gdrive) - Google Service Account с доступом к таблице
- Любой из способов 1–3 для сбора цен
Схема работы
OpenClaw → [сбор цен с сайта] → [MCP Google Sheets] → Google Таблица
↓
Автоматический график динамики
Какие модели использовать
Выбор модели влияет на качество и скорость мониторинга:
| Задача | Рекомендуемая модель | Почему |
|---|---|---|
| Простой fetch + парсинг | Claude Haiku 3.5 | Быстрая и дешёвая для шаблонных задач |
| Browser Use + сложные сайты | Claude Sonnet 4 | Лучшее понимание сложной HTML-структуры |
| Анализ динамики цен, выводы | Claude Opus 4 | Глубокая аналитика, тренды |
| Сайты с CAPTCHA | GPT-4o через AITunnel | Агрессивнее обходит защиту |
Для ежедневного автоматического мониторинга оптимально использовать Claude Haiku 3.5 — он обрабатывает задачу за секунды и стоит в 10 раз дешевле Sonnet.
Если нужен доступ к API Anthropic без зарубежной карты, удобно использовать AITunnel — российский прокси для всех моделей.
Частые ошибки и как их избежать
Ошибка 1: Цена не находится — сайт рендерит её через JavaScript
Симптом: агент возвращает страницу без цены, или цену «0».
Решение: переключитесь с Fetch на Browser Use. Промпт:
Используй браузер (не fetch). Дождись полной загрузки страницы перед поиском цены.
Ошибка 2: IP заблокирован после нескольких запросов
Симптом: сайт возвращает 403 или CAPTCHA после 2–3 запросов.
Решение:
- Добавьте задержку между запросами:
"Делай паузу 3–5 секунд между запросами" - Используйте резидентные прокси (например, через Bright Data или ProxyLine)
- Запускайте мониторинг не чаще 1 раза в час для одного сайта
Ошибка 3: Агент путает цену со скидкой или старой ценой
Симптом: агент записывает зачёркнутую старую цену вместо актуальной.
Решение: уточните в промпте:
Ищи ТЕКУЩУЮ цену (не зачёркнутую, не "было", не "рекомендуемая").
Ищи элемент с классами: price-current, price-main, price-new, или data-price.
Если несколько вариантов — возьми наименьшую незачёркнутую.
Ошибка 4: История цен перезаписывается, а не дополняется
Симптом: в файле всегда только одна запись — последняя.
Решение: в промпте явно укажите:
Не перезаписывай prices-history.json — добавляй новую запись в массив к существующим.
Если файл не существует — создай его с пустым массивом и добавь первую запись.
Ошибка 5: Уведомление приходит каждый раз, даже если цена не менялась
Симптом: в Telegram приходит сообщение при каждом запуске.
Решение:
Отправляй уведомление в Telegram ТОЛЬКО если цена изменилась по сравнению с последней
записью в истории. Если цена та же — молча обнови дату последней проверки и завершай.
Полный пример: мониторинг товаров на Wildberries с уведомлением в Telegram
Вот готовый промпт-шаблон, который можно сохранить как навык в OpenClaw:
# Мониторинг цен WB
## Задача
Проверить цены на товары Wildberries и уведомить об изменениях.
## Артикулы для мониторинга
- 187654321 — Куртка Befree
- 203456789 — Кроссовки Nike Air Max
- 198765432 — Рюкзак The North Face
## Алгоритм
1. Для каждого артикула: GET https://card.wb.ru/cards/v2/detail?appType=1&curr=rub&nm={артикул}
2. Извлечь: salePriceU / 100 (текущая цена), basicPriceU / 100 (цена без скидки)
3. Открыть файл ~/wb-prices.json (если нет — создать пустой {})
4. Сравнить с сохранёнными данными
5. Если цена изменилась:
- Отправить в Telegram: "📊 [Название] [БЫЛО] → [СТАЛО] ([%изменения]) [ссылка]"
- Обновить запись в файле
6. Сохранить файл
## Формат уведомления
📉 Куртка Befree
Было: 4 590 ₽ → Стало: 3 190 ₽ (-30%)
https://wildberries.ru/catalog/187654321/detail.aspx
Сохраните этот промпт как навык с именем wb-price-monitor и добавьте в cron:
0 9,15,21 * * * openclaw skill run wb-price-monitor
Агент будет проверять цены три раза в день и присылать уведомления только при изменениях.
Итог
OpenClaw умеет мониторить цены на любых сайтах без подписок и внешних сервисов. Выбор способа зависит от задачи:
| Способ | Когда использовать |
|---|---|
| Browser Use | Любой сайт, включая SPA и защищённые |
| Fetch + CSS | Статичные магазины, быстро, дёшево |
| API маркетплейса | WB, Ozon — надёжно и структурировано |
| Google Sheets | Командная работа, визуализация |
Для запуска 24/7 разверните OpenClaw на VPS — например, на Timeweb Cloud за 150 ₽/месяц. Один раз настроили — агент работает сам.