Lighthouse
Google, команда Chrome · лицензия Apache-2.0
Проверяет страницу сайта в Chrome и сохраняет отчёт HTML и JSON: оценки скорости, доступности, поисковой оптимизации и список того, что исправить.
✓ Проверено 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
Установить агентом
Установи программу «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 для тестовых страниц
- Объём
- Установили и прогнали задачу на тестовых данных
- Что именно сделали
- Одноразовый контейнер Ubuntu 24.04 без данных и ключей. Поставили lighthouse@13.5.0 командой npm install -g, npm добавил 114 пакетов за 30 секунд. lighthouse --version вывел 13.5.0.
- Без браузера программа завершилась с кодом 1 и попросила указать путь к Chrome в CHROME_PATH. Поставили Google Chrome 155 из пакета .deb с dl.google.com.
- Скрипт прогона сам сделал две тестовые страницы с формой заявки и картинкой: good.html с заголовком, описанием, языком и подписями, bad.html без них. Рядом поднял локальный сервер на 127.0.0.1.
- Проверили обе страницы с отчётом на русском, без окна браузера, в HTML и JSON. Каждая проверка вместе с запуском Chrome шла около 15 секунд.
- По JSON сверили оценки: у good.html доступность и поисковая оптимизация 100, у bad.html 36 и 73. Шесть проверок (заголовок, метаописание, язык, alt у картинки, подпись поля, текст кнопки) bad.html провалил, а good.html прошёл.
- Режим компьютера --preset=desktop с двумя категориями дал отчёт ровно с ними. Адрес без сервера дал код 1 и сообщение об ошибке загрузки.
- Файлы страниц после всех проверок совпали по sha256. Скрипт сверил каждый результат сам и только после этого напечатал TASK_OK.
- Удалили программу командой npm uninstall -g lighthouse и проверили, что команда больше не находится. Контейнер после прогона удалён вместе с тестовыми файлами.
| Дата | Версия | Объём | Где | Итог |
|---|---|---|---|---|
| 14.10.2026 | 13.5.0 | задача | контейнер, Linux | получилось |
«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.
Похожие программы
- Playwright CLIАгент сам открывает твой сайт в браузере, заполняет форму заявки и делает снимки страницы на телефоне и компьютере. Браузер командами из терминала, без MCP-сервера.
- lycheeПроверяет ссылки сайта, HTML и Markdown перед выкладкой и находит страницы, которых нет, пропавшие картинки и якоря на несуществующие разделы. В прогоне у битых ссылок отчёт показал файл и строку.
- HugoПревращает тексты в Markdown в статичный сайт или блог: HTML-страницы, карта сайта и лента RSS. Показывает сайт на компьютере, папку public кладут на хостинг статичных сайтов.
Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.