Hacker News Digest

Тег: #puppeteer

Постов: 5

What if you don't need MCP at all? (mariozechner.at)

Автор утверждает, что во многих случаях сложные MCP серверы избыточны, и предлагает использовать простые Bash скрипты и код вместо них. Для работы с браузером он демонстрирует минимальный набор из четырех инструментов: запуск Chrome, навигация, выполнение JavaScript и скриншоты, реализованных через Node.js скрипты с Puppeteer Core. Этот подход избегает проблем с контекстом, которые создают популярные MCP серверы вроде Playwright MCP (21 инструмент, 13.7k токенов) и Chrome DevTools MCP (26 инструментов, 18.0k токенов).

Главное преимущество предложенного подхода — простота и компонуемость. Вместо десятков сложных инструментов с подробными описаниями, которые занимают значительную часть контекста агента, используются легковесные скрипты, которые можно легко расширять или заменять. Автор подчеркивает, что агенты хорошо умеют работать с Bash и писать код, поэтому нет необходимости в дополнительных абстракциях в виде MCP серверов.

by jdkee • 16 ноября 2025 г. в 18:58 • 188 points

ОригиналHN

#bash#nodejs#puppeteer#json-rpc#http#openapi#graphql#oauth

Комментарии (118)

  • MCP представляется как универсальный способ подключения LLM к внешним инструментам, но на практике он оказывается всего лишь оберткой над REST/CLI, не решая фундаментальные проблемы безопасности и контроля доступа, и в большинстве случаев не более чем JSON-RPC поверх HTTP.

  • Критика в основном сводится к тому, что MCP не предоставляет никакой ценности, кроме как способа описать API, и что вместо него можно было бы просто использовать существующие стандарты, такие как OpenAPI или GraphQL.

  • Участники обсуждения также отмечают, что MCP не решает проблему аутентификации и безопасности, и что вместо него можно было бы использовать уже существующие решения, такие как OAuth.

  • Некоторые участники также высказывают мнение, что вместо того, чтобы использовать MCP, можно было бы просто использовать уже существующие инструменты, такие как curl или httpie, и что MCP не предоставляет никакой дополнительной ценности.

  • В целом, обсуждение показывает, что MCP не решают реальные проблемы, которые он предполагает решать, и что вместо него можно было бы использовать уже существующие и более зрелые технологии.

Craft Chrome Devtools Protocol (CDP) commands with the new command editor (developer.chrome.com)

by keepamovin • 07 ноября 2025 г. в 10:11 • 91 points

ОригиналHN

#chrome-devtools-protocol#puppeteer#debugging#web-applications

Комментарии (22)

  • В DevTools Chrome добавлена новая функция "Protocol Monitor", доступная через флаг экспериментов.
  • Функция помогает отлаживать запросы, которые не отображаются в стандартной панели Network.
  • Упрощает работу с CDP (Chrome DevTools Protocol), ранее считавшейся сложной для написания и отладки.
  • Значительно улучшает процесс отладки веб-приложений и тестирования (например, с Puppeteer).

Комментарии (112)

  • Предложены инструменты для конвертации HTML в PDF: браузерные решения (headless Chrome, Puppeteer, Playwright), open-source (WeasyPrint, Gotenberg, Pandoc) и коммерческие (Prince XML).
  • Обсуждаются нюансы: важность настройки print CSS для корректной пагинации, возможность обхода браузера через прямую генерацию PDF (Apache PDFBox, Typst).
  • Упомянуты альтернативы: архивация страниц в единый HTML-файл (SingleFile), конвертация из Markdown (KeenWrite), обратная задача — PDF в HTML для доступности.
  • Отмечена надежность браузерного подхода для сложных версток, но также ресурсоемкость и сложность поддержки такого решения.
  • WeasyPrint получил несколько положительных отзывов за стабильность и простоту интеграции, особенно в Django-средах.

Closer to the Metal: Leaving Playwright for CDP (browser-use.com)

Прощай, Playwright — здравствуй, CDP
Мы отказались от Playwright и перешли на «родной» Chrome DevTools Protocol. Это ускорило извлечение элементов, скриншоты и действия, добавило асинхронные реакции и нормальную работу с кросс-доменными iframe.

Проклятие абстракции
Playwright скрывает важные детали, вносит лишнюю задержку через WebSocket-прокси и не нужен для узких задач AI-агентов. Мы решили реализовать только нужные вызовы сами.

Краткая история автоматизации браузеров

  • 2011–2017: PhantomJS → Chrome Remote Debugging → WebKit RDP → CDP.
  • 2017: Headless Chrome + Puppeteer.
  • 2018: WebDriver стал W3C-стандартом.
  • 2020: бывшие разработчики Puppeteer создали Playwright.
  • 2023–2024: WebDriver BiDi в ChromeDriver и Puppeteer.

Современные драйверы
pydoll, go-rod, chromedp, puppeteer, playwright, selenium, cypress, appium.
Но ни один не подошёл, поэтому мы написали собственный cdp-use.

by gregpr07 • 20 августа 2025 г. в 15:32 • 155 points

ОригиналHN

#playwright#chrome-devtools-protocol#puppeteer#selenium#chromium#webdriver#automation#web-scraping

Комментарии (103)

  • Автор перенёс Playwright, Browser Use и Selenium в расширения Chrome, отказавшись от CDP и полагаясь на DOM- и extension-API.
  • Сообщество спорит: кто-то считает это «NIH-синдромом», другие — полезным способом избежать фингерпринтинга и ускорить работу.
  • Поднимаются вопросы о Firefox (без CDP), ограничениях расширений и невозможности автоматизировать другие расширения.
  • Некоторые напоминают, что Selenium/подобные инструменты работали уже до 2011, и «тёмные века» — субъективны.
  • Итог: проект пока ориентирован на Chromium-браузеры, CDP всё ещё используется для снимков и фреймов, а полный переход на extension-only решает не все задачи.

Why are anime catgirls blocking my access to the Linux kernel? (lock.cmpxchg8b.com) 🔥 Горячее 💬 Длинная дискуссия

Anubis — «весы душ» для HTTP-запросов, защищают сайты от ИИ-ботов. Вместо CAPTCHA требует перебора nonce, чтобы SHA-256(challenge+nonce) начиналась с 4 нулей (16 бит). Это Proof-of-Work, как в биткоине, но не майнинг.

Проблема: задача легка для дата-центра ИИ, но трудна для обычных пользователей без мощного железа.
Сайты ядра Linux (git.kernel.org, lore.kernel.org) теперь требуют этот PoW, что ломает скрипты и консольные клиенты.

Цифры

  • Сложность 4 → 2¹⁶ ≈ 65 536 SHA-256 на токен.
  • Токен живёт 7 дней.
  • 11 508 «звёзд» GitHub ≈ столько сайтов с Anubis.
  • На бесплатной e2-micro GCP: 3688 кБ/с SHA-256 → ≈ 230 000 хэшей/с.
  • Для обхода всех сайтов за неделю: 11 508 × 65 536 ≈ 754 млн хэшей → 54 минуты CPU на одном ядре.
    Цена: копейки, даже в облаке. ИИ-вендору это ничто, а владельцу VPS-128 МБ — проблема.

Альтернативы

  • Rate-limit, WAF, robots.txt, API-ключи, CDN, client-cert.
  • Использовать Tor Browser (JS включён) или Selenium.
  • Патчить curl/wget, добавляя JS-движок или готовый PoW-скрипт.
  • Прокси-браузер (Puppeteer, Playwright) в headless-режиме.

Workarounds

  • anubis-pass — консольный майнер на Go, решает задачу и выдаёт cookie.
  • Пользовательские скрипты, которые запрашивают страницу, вычисляют PoW и продолжают сессию.

by taviso • 20 августа 2025 г. в 14:54 • 726 points

ОригиналHN

#anubis#proof-of-work#sha-256#curl#wget#go#tor#puppeteer#playwright#selenium

Комментарии (770)

  • Anubis — это PoW-заглушка, которая заставляет клиента выполнить небольшой вычислительный «тест» и получить токен на неделю; таким образом сервер получает идентификатор для рейт-лимита и борется с массовым «распылением» запросов ботами.
  • Многие участники считают, что PoW легко обходится при наличии вычислительных ресурсов, но пока большинство AI-краулеров просто не стали заморачиваться, поэтому Anubis «работает» в реальности, хоть и не идеален.
  • Критика: задержки 10–20 с на слабых устройствах, проблемы с доступом без JS, «аниме-девочка» вызывает у кого-то раздражение, а у кого-то ностальгию.
  • Часть комментаторов предлагает альтернативы: микроплатежи, «человеческие» вопросы, лабиринты-ловушки, VPN-сети или просто блокировки по ASN.
  • Самое главное: Anubis не решает проблему окончательно, но добавляет достаточно трения, чтобы заставить владельцев краулеров пересмотреть объёмы сканирования.