Вставляешь ссылки на конкурента (YouTube-канал, сайт, Telegram-канал), выбираешь период (месяц … 3 года) — Scout выкачивает весь их контент в один корпус markdown-файлов на твоём компьютере. Потом одной кнопкой собирает из этого досье: что продаёт, какими крючками, как позиционируется, чем дышит аудитория и где у него дыры.
Работает в две фазы:
- HARVEST — скачивание. Без всякого ИИ, локально, у всех.
- DIGEST — анализ. Подключает твой Claude Code или Codex (см. ниже) и собирает досье.
Это НЕ облако и НЕ сервис с чужим ключом. Всё крутится на твоей машине, свои логины — твои, ничего наружу не уходит.
git clone <repo-url> ~/Apps/scout
cd ~/Apps/scout
./run.shПервый запуск сам поднимет окружение и поставит зависимости. Откроется http://127.0.0.1:8920 — это и есть пульт.
Нужны на машине: python3, ffmpeg (brew install ffmpeg). yt-dlp ставится
автоматически в окружение.
- Впиши SLUG — имя конкурента (например
Павел Гительман). Это станет именем папки (русское имя автоматически переводится в латиницу:pavel-gitelman). Можно оставить пустым — Scout сам назовётscout-1,scout-2, … - Вставь ссылки в нужные слоты — достаточно одного, не обязательно все:
- YOUTUBE — ссылка на канал, плейлист или отдельное видео → субтитры за период (для отдельного видео период игнорируется — берём именно его).
- SITE — корневой URL → обойдёт сайт и переведёт страницы в markdown.
- TELEGRAM —
@каналилиt.me/...→ выкачает посты за период (нужен разовый логин, см. ниже). - THREADS —
@профиль→ история постов за окно (до ~года), плюс копит при повторных запусках (нужен логин в Chrome, см. ниже).
- Выбери WINDOW — за какой период тащить (1М … 3Г). Для сайта период не работает — там это глубина обхода.
- Жми HARVEST. Всё падает в
~/Downloads/Scout/<slug>/. - Когда сбор закончен — жми DIGEST → DOSSIER: соберётся
DOSSIER.md.
-
YouTube — логин не нужен. Берём публичные субтитры.
-
Сайт — логин не нужен.
-
Telegram — нужен один раз. Почему: Telegram не отдаёт историю канала анонимно, нужен доступ через твой аккаунт. Это бесплатно и безопасно — ключи и сессия лежат только у тебя на диске, в репозиторий не попадают.
Как залогиниться в Telegram (2 минуты):
- Зайди на https://my.telegram.org → API development tools.
- Создай приложение (любое название) — получишь
api_id(число) иapi_hash(строка). - В терминале:
Спросит
cd ~/Apps/scout ./run.sh auth-tg
api_id,api_hash, телефон, потом код из Telegram. Ввёл один раз — дальше Scout помнит (файлscout.sessionу тебя локально).
-
Threads — отдельный логин не нужен, но залогинься в Threads в Chrome (обычным образом). Scout читает твои же куки из Chrome — так же, как The TET. Почему: профиль анонимно не отдаётся. Ничего не вводишь в Scout, ключей нет.
- Глубина: Scout гоняет настоящий headless-браузер (Chromium ставится при первом
./run.sh), листает профиль твоими куками и забирает историю постов за выбранное окно — до ~года (а не 5 свежих, как через статичную страницу). Со скроллом, по- человечески, с капом — чтобы не ловить блок. - Копит во времени: каждый прогон дописывает новые посты в локальный архив профиля и пересобирает месячные файлы — повторные запуски наращивают ленту.
- Глубина: Scout гоняет настоящий headless-браузер (Chromium ставится при первом
Безопасность:
secrets.jsonиscout.session— только на твоём компьютере, они в.gitignore. Куки берутся из твоего Chrome и наружу не уходят. Scout — это легальный ресёрч публичного контента твоим же аккаунтом.
Scout не везёт в себе ИИ и не просит API-ключ. На этапе DIGEST он ищет, что у тебя уже установлено, и работает через это:
- Claude Code — команда
claude(инструкция), или - Codex CLI — команда
codex.
Если ни одного нет — Scout соберёт корпус и положит DOSSIER.PENDING.md с подсказкой:
поставь любой CLI и запусти ./run.sh digest <slug>.
Анализ идёт map-reduce (корпус режется на куски, по каждому — выжимка, потом синтез), поэтому переваривает хоть трёхлетний канал, не упираясь в контекст.
~/Downloads/Scout/<slug>/DOSSIER.md:
- Лестница офферов (что продаёт, цены, шаги воронки)
- Инвентарь крючков
- Контент-столпы и ритм
- Позиционирование и обещания
- Язык аудитории (дословно)
- Дыры конкурента
- Эволюция месседжа во времени
- Клин для нас — где слабо и что с этого делать
./run.sh harvest --slug agarkov-dmitry --window 1y \
--youtube "https://youtube.com/@channel" \
--site "https://example.com" \
--telegram "@channel"
./run.sh digest --slug agarkov-dmitryScout автоматизирует доступ к платформам через твою личную залогиненную сессию — это несёт реальные риски, прочитай перед использованием:
- Threads и Telegram = автоматизация твоего аккаунта. Формально это против правил (ToS) Meta / Telegram. На практике риск — временный action-block, рейт-лимит, а при агрессивном использовании и блокировка аккаунта. Scout риск снижает (человеческие паузы, кап на объём, читает только публичное, работает на твоём Маке и твоём IP), но гарантий нет.
- Используй аккуратно: не гоняй постоянно/массово; не на основном аккаунте, который жалко потерять. Threads-инкремент копит понемногу — это безопаснее, чем «выкачать всё разом».
- Только на своей машине (резидентный IP, реальная Chrome-сессия). Не на сервере/VPS — серверные IP палятся быстрее.
- Это легальный ресёрч ПУБЛИЧНОГО контента твоим же аккаунтом. Ты отвечаешь за соблюдение правил каждой платформы и законов своей юрисдикции. Не распространяй выкачанный закрытый/платный контент.
- Хрупкость: соцсети меняются и ломают парсинг — иногда движок придётся чинить.
Коротко: инструмент для себя, по-тихому, на свой риск.
ссылки + окно → HARVEST (yt-dlp / Telethon / краулер) → ~/Downloads/Scout/<slug>/
│
твой claude|codex ← DIGEST (map-reduce) ─┘ → DOSSIER.md
| Источник | Что берёт | Движок |
|---|---|---|
| YouTube | субтитры роликов за период | yt-dlp |
| Site | страницы → markdown | requests + bs4 + markdownify |
| Telegram | посты за период | Telethon (свой логин) |
| Threads | история постов профиля за окно (текст), копит во времени | headless Chromium (Playwright) + куки Chrome; SSR-fallback |
- DIGEST падает с 401 / Invalid credentials — твой
claudeне залогинен для headless-режима. Проверьclaude -p "привет"в терминале; если ругается — авторизуйся заново. Либо переключись на Codex:SCOUT_CLI=codex ./run.sh digest <slug>. - У тебя стоят и claude, и codex — по умолчанию берётся
claude. Заставить выбрать:SCOUT_CLI=codex(или=claude) перед командой. - Telegram пишет «нужен логин» — это нормально, выполни разовый
./run.sh auth-tg. - YouTube ничего не скачал — у роликов нет субтитров в выбранном языке/окне, либо все видео старше окна. Расширь WINDOW.
Лицензия — MIT. Делай что хочешь.
