Parallel в Slack: веб-мониторинг и свой бот на срезAI

Parallel выпустил Slack-агента @parallel: монитор ставится одной фразой, проверка по умолчанию идёт раз в час, алерт приходит в канал одной строкой с источником. Ниже - как это работает и как собрать тот же контур на срезAI за 0,10 ₽ за запрос, включая то, чего у срезAI нет.

Виталий Болгар7 мин чтенияParallelмониторинг вебаMCPсрезAIалерты
Parallel в Slack: веб-мониторинг и свой бот на срезAI
Интерфейс командного мессенджера с лентой сообщений и ботом в канале
Агент в канале отвечает в треде: там же приходят подробности по сработавшему монитору.

Что именно выпустил Parallel

29 октября 2026 года Parallel открыл агента @parallel в Slack Marketplace и через Parallel Platform (Settings → Data connections → Add to Slack). В канал он добавляется командой /invite @parallel. Авторы пишут, что гоняли агента внутри компании два месяца, а early-access команды использовали его для отслеживания конкурентов, клиентов и инвесторов.

Монитор ставится одной фразой: "@parallel monitor new funding rounds for AI startups, daily". Агент отвечает карточкой, где перечислено, что и как часто он будет смотреть - это защита от того самого случая, когда формулировка понята не так, как вы имели в виду. Частоту можно не указывать, тогда проверка идёт раз в час.

  • Сработавший монитор присылает в канал одну строку: заголовок и источник, подробности - в треде.
  • Любой участник канала нажимает колокольчик на мониторе и получает @упоминание при срабатывании; повторное нажатие отключает подписку.
  • Управление на естественном языке: "Show me the active monitors", "make the funding update weekly", "cancel the pricing monitor".
  • Вопрос задаётся в любом треде, ответ приходит с цитатой на источник; каждый тред - отдельный диалог.

Примеры мониторов из публикации: посты Acme в X набирают больше 500 лайков, Acme меняет цены, Acme попадает в список субпроцессоров, "tell me when PepsiCo files an 8-K", новые регулирования ИИ в США и ЕС ежедневно. Полный список и скриншоты - в посте Parallel.

Почему для Рунета это не готовая замена

Все примеры в анонсе англоязычные. Российских реестров, карточек ЕГРЮЛ, решений ЦБ и страниц с тарифами российских провайдеров там нет ни в одном пункте. Подставить свой источник в чужой шаблон можно, но качество слежки целиком зависит от того, насколько хорошо сервис индексирует русскоязычные страницы и как быстро видит изменение на них.

Второй разрыв - прозрачность. В Slack вы видите строку с заголовком и ссылкой. Что именно изменилось, какой был предыдущей значение, откуда взялся вывод - это остаётся внутри чужого агента. Для тарифов и реквизитов такая непрозрачность мешает: нужно доказать, что изменение реальное.

КритерийParallel @parallel в SlackСвой контур на срезAI
ЗапускГотовое приложение, установка за пару минутСкрипт на 40 строк и webhook, полдня работы
Вопросы в треде с цитатойЕсть, помнит контекст событияСобирается самим, готового приложения нет
ЦенаНе указана в публикации, тариф - по запросу0,10 ₽ за запрос, 100 ₽ при регистрации
Русскоязычные источникиВ примерах отсутствуютГлубокая индексация Рунета, поиск по узким запросам
Схема извлеченияЗадаётся фразойextract со своей схемой полей: цена, статус, руководитель
РасписаниеФраза "daily" или раз в час по умолчаниюСвой cron, любой интервал вплоть до 5 минут
Готовый UX в каналеПолный: карточки, колокольчик, тредыТолько текст сообщения через webhook

Как собрать такого же бота на срезAI

Контур из четырёх шагов повторяет логику @parallel, но каждый шаг у вас на виду. Поиск берёт узкий запрос с timeRange и publishedAfter, чтобы не тащить старые материалы. Чтение делает снимок страницы через read_urls. Извлечение вытаскивает ровно те поля, которые меняются, через extract со схемой. Спорное изменение проверяется verify_claim перед отправкой в канал.

Схема потока данных: поиск, чтение страниц, извлечение полей, отправка уведомления
Порядок шагов важен: сначала отбор источников, потом чтение только отобранного - это экономит вызовы.
python
import os, json, requests KEY = os.environ["SREZAI_API_KEY"]
BASE = "https://srezai.ru/api"
HEAD = {"Authorization": f"Bearer {KEY}"} WATCH = { "url": "https://example-shop.ru/pricing", "query": "тарифы и цены на обслуживание", "schema": {"plan": "string", "price_rub": "number", "updated": "string?"},
} def search_fresh(query: str, days: int = 1): r = requests.post(f"{BASE}/web_search", headers=HEAD, timeout=30, json={ "query": query, "num": 10, "timeRange": "week", }) r.raise_for_status() return r.json().get("results", []) def snapshot(urls: list[str]): r = requests.post(f"{BASE}/read_urls", headers=HEAD, timeout=60, json={"urls": urls, "maxChars": 6000}) r.raise_for_status() return r.json().get("pages", []) def distill(pages: list[dict], schema: dict): r = requests.post(f"{BASE}/extract", headers=HEAD, timeout=60, json={"urls": [p["url"] for p in pages], "schema": schema}) r.raise_for_status() return r.json() def notify(text: str): hook = os.environ["SLACK_WEBHOOK_URL"] requests.post(hook, json={"text": text}, timeout=15).raise_for_status() if __name__ == "__main__": hits = search_fresh(WATCH["query"]) urls = [h["url"] for h in hits[:3]] or [WATCH["url"]] fields = distill(snapshot(urls), WATCH["schema"]) print(json.dumps(fields, ensure_ascii=False, indent=2)) notify(f"Проверка тарифов: {len(urls)} источника, поля собраны")

Расписание не переизобретаю: в блоге уже разобран запуск по cron в Managed Deep Agents v0.9 - ту же схему берём оттуда и меняем только полезную нагрузку на вызов срезAI. Для снимка "до/после" достаточно хранить JSON предыдущего прогона и сравнивать поля: расхождение по price_rub и есть событие, ради которого всё строилось.

100 ₽ при регистрации - примерно 1000 запросов на отладку мониторинга.

Начать бесплатно

Как не платить дважды за одну страницу

Первая версия моего скрипта читала все десять результатов поиска целиком - и упиралась в лимит за пару прогонов. Работает другое: web_search без excerpts как дешёвый отбор, read_urls с maxChars: 6000 только для трёх верхних адресов, extract уже по прочитанному. Один документ проходит три инструмента вместо пяти.

Отдельно про повторные прогоны. Если монитор смотрит тарифы раз в сутки, нет смысла перечитывать страницу, у которой не менялся заголовок и дата последнего обновления в выдаче. Сравнение хеша текста перед extract снимает большую часть вызовов на статичных страницах. Документация по параметрам - в справке.

Что делать с ложными срабатываниями

Баннер скидки и блок "акция до 31 числа" меняют текст страницы, но не цену. Схема extract спасает: если поле price_rub не изменилось, событие гасится до отправки. Порог чувствительности задаётся вручную - например, сообщать только при изменении больше 3 %.

Что не сработает и где срезAI проигрывает

Готового Slack-приложения у срезAI нет. Слой с вопросами в треде - "а что ещё писали про эту компанию", "насколько свежие данные" - придётся собирать самому: маршрутизировать сообщения из Slack Events API, хранить историю треда и подмешивать её в запрос. Это несколько дней работы, а не одна фраза в канале.

Не сработает схема и там, где источник отдаёт данные только через авторизацию или рисует цену скриптом на клиенте после входа. read_urls отдаёт отрисованную страницу, но если контент доступен лишь по подписке, вы получите форму входа. Проверяйте первый прогон руками, прежде чем ставить монитор на расписание.

Кому что подходит

  • Команда уже живёт в Slack и следит за западными компаниями - берите @parallel, быстрее не сделаете.
  • Нужны российские реестры, тарифы и нормативные документы - свой контур на срезAI с русскоязычной выдачей.
  • Нужен контроль над схемой полей и доказательство изменения - только свой скрипт со снимком JSON.
  • Нужен готовый UX с колокольчиком и тредами без разработки - снова @parallel.

Вердикт простой. Parallel сделал правильный продукт для своей аудитории, и для англоязычных источников повторять его бессмысленно. СрезAI выигрывает в другом: русскоязычная выдача, цена 0,10 ₽ за запрос и полный контроль над тем, что считается изменением. За удобство в канале платите самостоятельной сборкой слоя для вопросов.

Сколько стоит @parallel в Slack?

В публикации от 29 октября 2026 года цена не названа. Установка идёт через Slack Marketplace и через Parallel Platform → Settings → Data connections. Тариф уточняйте у Parallel перед подключением команды.

Как часто агент проверяет источник, если частоту не указали?

Раз в час. Частота задаётся прямо во фразе: "daily", "weekly" - агент подтверждает её карточкой перед постановкой монитора.

Можно ли сделать то же самое на срезAI без своего сервера?

Да, если есть где запускать cron. Подойдёт n8n: расписание там штатное, а вызовы идут по REST или через MCP-эндпоинт. Стоимость - 0,10 ₽ за запрос.

Как понять, что на странице реально изменилась цена, а не текст баннера?

Сравнивать не текст страницы, а поля из extract по схеме: план, цена, дата обновления. Изменение вне схемы событием не считается.

Есть ли у срезAI готовое приложение для Slack?

Нет. Отправка сообщений - через webhook, ответы на вопросы в треде нужно маршрутизировать самостоятельно.

Свой веб-доступ для агента: поиск, чтение страниц и извлечение данных по одному ключу.

Читайте также