Notte — платформа для автоматизации браузера. Недавно мы выпустили CLI, который позволяет управлять браузерными сессиями, запускать AI-агентов, извлекать структурированные данные и развёртывать функции автоматизации — всё это прямо из терминала.
В этой статье разберём, что он умеет и как устроен.
Какую проблему мы решали
Большинство рабочих процессов автоматизации браузера начинаются локально. Вы пишете скрипт на Playwright или Puppeteer, он работает на вашей машине, а затем вы тратите время на его переработку под продакшн.
Notte CLI подключается напрямую к облачным браузерным сессиям. Браузер запущен не у вас — он работает у нас. Это означает, что то, что вы делаете в терминале, в точности совпадает с тем, что будет работать в продакшне.
Как работают сессии
Весь CLI построен вокруг сессий. Сессия — это живой экземпляр браузера (headless или headed), запущенный в облаке.
Запустить её можно так:
notte sessions start --headless
После старта сессия автоматически становится активным контекстом. Все последующие команды будут использовать её без необходимости каждый раз указывать ID сессии. Навигация, скрейпинг, клики, наблюдение — всё это идёт в одну и ту же сессию, пока вы её не остановите.
При запуске сессии поддерживается широкий набор настроек: кастомные viewport’ы, user agent’ы, ротация прокси, решение капч, файловое хранилище, переопределение CDP URL и сохранение профиля браузера.
Видимость
При запуске headless-сессии в выводе появляется viewer URL. Откройте его в браузере — и вы наблюдаете за живой сессией в реальном времени, пока команды выполняются в терминале. Удобно для отладки без переключения в отдельный интерфейс.
По завершении сессии можно экспортировать всё произошедшее в виде Python-кода:
notte sessions workflow-code
В результате вы получаете воспроизводимый скрипт каждого шага, выполненного в сессии.
Взаимодействие со страницей
После запуска сессии можно взаимодействовать со страницами прямо из терминала:
notte page goto "<https://example.com>" notte page observe # возвращает состояние страницы и ID интерактивных элементов notte page click "@B1" # клик по ID элемента notte page fill "@I1" "text" # заполнение поля ввода notte page scrape --instructions "..." # извлечение структурированных данных notte page screenshot
observe особенно полезен — он возвращает текущее состояние страницы вместе с ID элементов, которые можно использовать в последующих командах, без необходимости писать CSS-селекторы или XPath’ы.
AI-агенты
Вместо того чтобы прописывать каждый шаг вручную, можно передать задачу AI-агенту целиком:
notte agents start --task "Go to LinkedIn and extract the last 10 posts from this profile"
Агент работает автономно в рамках активной сессии. Можно проверить его статус, остановить или экспортировать его рабочий процесс в виде кода.
Функции: от терминала до продакшна
Это та часть CLI, которую мы считаем наиболее полезной для команд. Как только автоматизация готова — написана вручную или экспортирована из записанной сессии — её можно развернуть как serverless-функцию:
notte functions create --file workflow.py notte functions run notte functions schedule --cron "0 9 * * *"
Это закрывает разрыв между «тем, что я сделал в терминале» и «тем, что запускается каждое утро в 9:00» — без какой-либо работы с инфраструктурой на вашей стороне.
Работа с AI-ассистентами для написания кода
Если вы используете Claude Code, Cursor, Windsurf или любой другой MCP-совместимый ассистент, CLI можно добавить как skill:
npx skills add nottelabs/notte-cli
Или добавьте следующее в ваш файл AGENTS.md или CLAUDE.md — и ваш coding-агент сможет управлять CLI напрямую:
Use nottefor web automation. Runnotte –help for all commands.
Вывод --help достаточно подробный, чтобы большинство агентов могли работать с ним без дополнительного контекста.
Прочие возможности
-
Credential vaults — хранение паролей от сайтов с привязкой к URL, автоматически извлекаемых во время сессий. API-ключи хранятся в системном хранилище ключей (macOS Keychain, GNOME Keyring, KWallet, Windows Credential Manager) и никогда не передаются через командную строку
-
Personas — одноразовые цифровые личности с реальными адресами электронной почты и номерами телефонов, удобны для тестирования процессов регистрации или мультиаккаунтных сценариев
-
Profiles — сохранённое состояние браузера (куки, localStorage), которое можно подключать к сессиям
-
Работа с файлами — загрузка и выгрузка файлов внутри сессий
-
Форматы вывода — по умолчанию удобочитаемые таблицы,
output jsonдля скриптинга и пайпинга
Установка
Через Homebrew:
brew install notte
Через Go:
go install github.com/nottelabs/notte-cli/cmd/notte@latest
Или сборка из исходников:
git clone <https://github.com/nottelabs/notte-cli.git> cd notte-cli make build
Вам понадобится API-ключ с console.notte.cc.
Авторизация:
notte auth login
CLI Repo: https://github.com/nottelabs/notte-cli
Notte Repo: https://github.com/nottelabs/notte
Готов ответить на вопросы по реализации или конкретным сценариям использования в комментариях.
Автор: spilldahill


