Lighthouse

Google, команда Chrome · лицензия Apache-2.0

Проверяет страницу сайта в Chrome и сохраняет отчёт HTML и JSON: оценки скорости, доступности, поисковой оптимизации и список того, что исправить.

macOS · Windows · LinuxНа компьютере, на сервере и в контейнереБесплатно, Apache-2.0

✓ Проверено 14.10.2026: Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root: Node.js 22.23.3, Lighthouse 13.5.0 из npm, Google Chrome 155 из официального пакета .deb, локальный сервер python3 http.server для тестовых страниц. Что именно проверяли

Установить агентом ↓

Какую задачу решает

Открывает страницу в Chrome, замеряет загрузку и проверяет разметку. Отчёт сохраняет файлом HTML или JSON: по каждой категории оценка от 0 до 100 и список проверок, которые страница не прошла.

  • Четыре основные категории отчёта: производительность, специальные возможности (доступность для людей с программами чтения с экрана), рекомендации и поисковая оптимизация.
  • Находит то, что легко пропустить перед выкладкой: нет заголовка страницы или описания, у картинки нет подписи alt, у поля формы нет подписи, у кнопки нет текста, не указан язык страницы.
  • Страницу на своём компьютере проверяет по адресу локального сервера, поэтому сайт можно проверить до выкладки. Так мы и прогоняли, страницы в интернете не проверяли.
  • Ключ --locale=ru переводит отчёт на русский, --preset=desktop проверяет страницу как на компьютере (по умолчанию как на телефоне), --only-categories оставляет нужные категории.

Пример результата

Говоришь агенту

В папке site лежат good.html и bad.html. Подними для неё локальный сервер, проверь обе страницы Lighthouse с отчётом на русском и сохрани HTML и JSON в папку reports. Скажи, что исправить на bad.html.

Что получится

В reports появятся good.report.html, good.report.json, bad.report.html и bad.report.json. Мы прогнали этот сценарий на тестовых страницах: у good.html доступность и поисковая оптимизация 100, у bad.html 36 и 73. Среди ошибок bad.html, которых нет у good.html, отчёт назвал отсутствие заголовка страницы, метаописания и языка, картинку без alt, поле формы без подписи и кнопку без текста. Исходные файлы не изменились.

Паспорт

Кто делает
Google, команда Chrome
Исходный код
github.com/GoogleChrome/lighthouse
Лицензия
Apache-2.0
Версия
13.5.0 на 14.10.2026
Системы
macOS · Windows · Linux
Где работает
На компьютере, на сервере и в контейнере
Цена
Бесплатно
Проверка
Проверено 14.10

Установить агентом

Для Claude Code, Codex, Hermes и любого агента с терминалом
Установи программу «Lighthouse». Работай по шагам и после каждого коротко говори, что сделал.

Что это за программа (каталог smyslokod.ru, официальные источники сверены 14.10.2026):
- официальный сайт: https://developer.chrome.com/docs/lighthouse/overview/
- исходный код: https://github.com/GoogleChrome/lighthouse
- инструкция по установке: https://github.com/GoogleChrome/lighthouse/blob/v13.5.0/readme.md#using-the-node-cli
- актуальная версия на 14.10.2026: 13.5.0
- лицензия: Apache-2.0
- для работы нужно (обязательно): Node.js 22.19 или новее - программа ставится через npm и работает на Node.js. В README сказано «Node 22 (LTS) or later», в пакете npm указано не ниже 22.19
- для работы нужно (обязательно): Google Chrome или Chromium - страницу открывает браузер, сама программа его не скачивает. Без Chrome в нашем прогоне она завершилась с кодом 1 и попросила указать путь в переменной CHROME_PATH

Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Chrome ставь только с моего «да»: скажи, сколько места он займёт. Если Chrome или Chromium уже есть, используй его.
7. Запускай с --no-enable-error-reporting и --chrome-flags="--headless=new", окно браузера не открывай.
8. Чужой файл настроек через --config-path и плагины через --plugins не подключай. Если без них не обойтись, покажи мне их код и жди моего «да».
9. Отчёты сохраняй в отдельную папку. Перед тем как пересказать оценки, проверь, что в JSON нет поля runtimeError.

Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
   - на компьютере: если Chrome уже стоит, программа находит его сама. Чтобы браузер работал без окна, README предлагает ключ --chrome-flags="--headless".
   - на сервере: экран не нужен: запускай с --chrome-flags="--headless=new". Chrome на сервер придётся поставить, в нашем прогоне его папка заняла около 441 МиБ.
   - в контейнере: мы проверяли в контейнере Ubuntu 24.04 от root и передавали Chrome ключ --no-sandbox через --chrome-flags. С этим ключом Chrome работает без своей песочницы, поэтому чужие страницы в таком режиме лучше не открывать.
1. Проверь, не стоит ли программа уже: lighthouse --version ; which -a lighthouse. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Проверь, что есть всё нужное для работы: Node.js 22.19 или новее, Google Chrome или Chromium. Чего нет, внеси в план отдельным пунктом. Проверь свободное место на диске: нужно В нашем прогоне пакет npm с зависимостями занял 143 451 698 байт (около 137 МиБ). Chrome ставится отдельно: пакет Google Chrome для Linux весил 143 638 568 байт, после установки папка /opt/google/chrome заняла 462 013 898 байт (около 441 МиБ), плюс библиотеки, которые apt поставил вместе с Chrome, их мы отдельно не мерили. Если Chrome уже стоит, ставить его не нужно. Отчёт HTML у нас весил от 450 649 до 485 964 байт, JSON от 341 597 до 373 064 байт..
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
   Способы из официальных источников:
   - Любая система, npm: npm install -g lighthouse@13.5.0 (так мы ставили в прогоне: npm добавил 114 пакетов за 30 секунд. Команда из README без номера версии ставит последний выпуск)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
   - lighthouse --version: программа запускается без ошибки;
   - Сделай две тестовые страницы: good.html с заголовком, описанием, языком, подписью картинки и формы и bad.html без всего этого. Подними локальный сервер, проверь обе страницы с отчётом на русском в HTML и JSON, сверь оценки и проваленные проверки по JSON. Отдельно проверь режим компьютера с двумя категориями и недоступный адрес. Сверь контрольные суммы исходных файлов до и после. Делай это во временной папке и не трогай мои файлы.
     lighthouse --version
     python3 -m http.server 8080 --bind 127.0.0.1 --directory site &
     lighthouse http://127.0.0.1:8080/good.html --quiet --no-enable-error-reporting --locale=ru --chrome-flags="--headless=new --no-sandbox" --output=json --output=html --output-path=reports/good
     lighthouse http://127.0.0.1:8080/bad.html --quiet --no-enable-error-reporting --locale=ru --chrome-flags="--headless=new --no-sandbox" --output=json --output=html --output-path=reports/bad
     lighthouse http://127.0.0.1:8080/good.html --quiet --no-enable-error-reporting --preset=desktop --only-categories=seo,accessibility --chrome-flags="--headless=new --no-sandbox" --output=json --output-path=reports/good-desktop.json
     lighthouse http://127.0.0.1:8099/none.html --quiet --no-enable-error-reporting --chrome-flags="--headless=new --no-sandbox" --output=json --output-path=reports/none.json
   - если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (npm: npm uninstall -g lighthouse).

Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/lighthouse#problemy

Промпт собран из официальных инструкций, сверенных 14.10.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит.

Как ставят вручную

Способы из официальных источников, у каждого ссылка на первоисточник.

  • Любая система · npm · источник

    npm install -g lighthouse@13.5.0

    так мы ставили в прогоне: npm добавил 114 пакетов за 30 секунд. Команда из README без номера версии ставит последний выпуск

Как удалить

  • Любая система, npm: npm uninstall -g lighthouse

Что нужно для работы

  • Node.js 22.19 или новее (обязательно) - программа ставится через npm и работает на Node.js. В README сказано «Node 22 (LTS) or later», в пакете npm указано не ниже 22.19
  • Google Chrome или Chromium (обязательно) - страницу открывает браузер, сама программа его не скачивает. Без Chrome в нашем прогоне она завершилась с кодом 1 и попросила указать путь в переменной CHROME_PATH

Системы

  • macOS - ставится через npm, нужны Node.js 22.19 или новее и Chrome. На Mac мы не проверяли.
  • Windows - ставится через npm, нужны Node.js 22.19 или новее и Chrome. На Windows мы не проверяли.
  • Linux - мы проверяли на Ubuntu 24.04 через npm, Google Chrome ставили отдельно из официального пакета .deb.

Где запускать

Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.

  • На компьютере - если Chrome уже стоит, программа находит его сама. Чтобы браузер работал без окна, README предлагает ключ --chrome-flags="--headless".
  • На сервере - экран не нужен: запускай с --chrome-flags="--headless=new". Chrome на сервер придётся поставить, в нашем прогоне его папка заняла около 441 МиБ.
  • В контейнере - мы проверяли в контейнере Ubuntu 24.04 от root и передавали Chrome ключ --no-sandbox через --chrome-flags. С этим ключом Chrome работает без своей песочницы, поэтому чужие страницы в таком режиме лучше не открывать.

Сколько ресурсов нужно

Место на диске
В нашем прогоне пакет npm с зависимостями занял 143 451 698 байт (около 137 МиБ). Chrome ставится отдельно: пакет Google Chrome для Linux весил 143 638 568 байт, после установки папка /opt/google/chrome заняла 462 013 898 байт (около 441 МиБ), плюс библиотеки, которые apt поставил вместе с Chrome, их мы отдельно не мерили. Если Chrome уже стоит, ставить его не нужно. Отчёт HTML у нас весил от 450 649 до 485 964 байт, JSON от 341 597 до 373 064 байт.
Видеокарта
В нашем прогоне видеокарта не понадобилась.
Сеть
Для установки нужна сеть: пакеты скачиваются с registry.npmjs.org, Chrome мы скачивали с dl.google.com. В прогоне apt ставил зависимости Chrome и ходил к archive.ubuntu.com, security.ubuntu.com и deb.nodesource.com, этот источник Node.js прописан в образе песочницы. Во время задачи netwatch записал наш локальный сервер, порты отладки Chrome на 127.0.0.1, DNS контейнера 127.0.0.11 и адреса Google: по нашей сверке это фоновые запросы самого Chrome (update.googleapis.com, edgedl.me.gvt1.com, служба уведомлений на порту 5228) и его проверка IPv6 на 2001:4860:4860::8888. По README результаты проверки никуда не отправляются. Чтобы проверить страницу в интернете, сеть нужна и для неё самой.

Проверка одной страницы вместе с запуском Chrome заняла около 15 секунд. По документации проекта оценка производительности меняется от запуска к запуску даже без правок страницы.

Лицензия и платные замены

Лицензия Apache-2.0. Свободная лицензия, текст лежит в репозитории. Текст лицензии

Цена: Бесплатно. Программа бесплатная, лицензия Apache-2.0.

Платные замены

Платную консольную программу с теми же проверками мы не сверяли.

Бесплатные замены

  • PageSpeed Insights - Сервис Google в браузере. Запускает Lighthouse на своих серверах для страницы по адресу в интернете и добавляет к отчёту данные реальных посетителей.

О чём помнить

  • Безопасность. Агент запускает lighthouse в терминале сам (exec), программа запускает Chrome и открывает в нём страницу по адресу из команды. Отчёты пишет с правами пользователя по пути из --output-path, а без него в текущую папку (write). Файл настроек --config-path в формате .js и модули из --plugins - это код JavaScript, программа его выполняет (exec), и такой код может удалять и менять файлы. Чужие настройки и плагины агент не подключает. Ключ --extra-headers передаёт сайту заголовки, например Cookie для входа, их агент не просит в чате. Входа в учётные записи и ключей программа не просит.
  • При первом запуске в терминале программа спрашивает, можно ли анонимно отправлять сведения о сбоях. По документации проекта при согласии уходят адрес проверяемой страницы, настройки, текст ошибки, версии программы, Chrome и системы. Ответ сохраняется в ~/.config/configstore/lighthouse.json. Ключ --no-enable-error-reporting держит отправку выключенной, мы запускали с ним.
  • Оценка производительности по умолчанию считается как для телефона на мобильной сети: в настройках нашего отчёта экран 412 на 823 точки и замедление процессора в 4 раза. Цифры с разных компьютеров и разных запусков не совпадают, сравнивать стоит запуски на одной машине.
  • Формула Homebrew с именем lighthouse - другой проект, клиент сети Ethereum. Ставить Lighthouse нужно через npm.
  • Отчёт 13.5.0 показывает пятую категорию «Агентный просмотр». Сама программа пишет, что категория на этапе разработки и может измениться.

Частые проблемы

Runtime error encountered: The CHROME_PATH environment variable must be set to a Chrome/Chromium executable no older than Chrome stable.

Программа не нашла Chrome. В нашем прогоне до установки Chrome так и было, код выхода 1. Поставь Chrome с моего «да» или укажи путь к уже установленному Chrome или Chromium в переменной CHROME_PATH.

Runtime error encountered: Chrome prevented page load with an interstitial. Make sure you are testing the correct URL and that the server is properly responding to all requests.

Страница не открылась: неверный адрес или сервер не запущен. В прогоне мы проверили адрес, где сервера нет: программа завершилась с кодом 1, а файл отчёта всё равно записала. Проверь адрес и что сервер отвечает, например через curl, и запусти снова. Отчёт с такой ошибкой не используй.

Проверка

✓ Проверено 14.10.2026: Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root: Node.js 22.23.3, Lighthouse 13.5.0 из npm, Google Chrome 155 из официального пакета .deb, локальный сервер python3 http.server для тестовых страниц.

Когда
14.10.2026
Среда
Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root: Node.js 22.23.3, Lighthouse 13.5.0 из npm, Google Chrome 155 из официального пакета .deb, локальный сервер python3 http.server для тестовых страниц
Объём
Установили и прогнали задачу на тестовых данных
Что именно сделали
  1. Одноразовый контейнер Ubuntu 24.04 без данных и ключей. Поставили lighthouse@13.5.0 командой npm install -g, npm добавил 114 пакетов за 30 секунд. lighthouse --version вывел 13.5.0.
  2. Без браузера программа завершилась с кодом 1 и попросила указать путь к Chrome в CHROME_PATH. Поставили Google Chrome 155 из пакета .deb с dl.google.com.
  3. Скрипт прогона сам сделал две тестовые страницы с формой заявки и картинкой: good.html с заголовком, описанием, языком и подписями, bad.html без них. Рядом поднял локальный сервер на 127.0.0.1.
  4. Проверили обе страницы с отчётом на русском, без окна браузера, в HTML и JSON. Каждая проверка вместе с запуском Chrome шла около 15 секунд.
  5. По JSON сверили оценки: у good.html доступность и поисковая оптимизация 100, у bad.html 36 и 73. Шесть проверок (заголовок, метаописание, язык, alt у картинки, подпись поля, текст кнопки) bad.html провалил, а good.html прошёл.
  6. Режим компьютера --preset=desktop с двумя категориями дал отчёт ровно с ними. Адрес без сервера дал код 1 и сообщение об ошибке загрузки.
  7. Файлы страниц после всех проверок совпали по sha256. Скрипт сверил каждый результат сам и только после этого напечатал TASK_OK.
  8. Удалили программу командой npm uninstall -g lighthouse и проверили, что команда больше не находится. Контейнер после прогона удалён вместе с тестовыми файлами.
ДатаВерсияОбъёмГдеИтог
14.10.202613.5.0задачаконтейнер, Linuxполучилось

«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.

Похожие программы

Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.