AIfra / Практика

Сайт от ИИ готов. Что проверить перед публикацией

Разбираем готовую папку сайта: где должен лежать index.html, что делать с dist и почему проект, который работает в редакторе, иногда нельзя просто загрузить.

Начните с одной просьбы

Если ИИ уже сделал сайт, попросите его опубликовать результат. Агент с доступом к файлам и интернету может сам найти инструкцию AIfra. Для нового превью не нужны аккаунт AIfra, существующий проект на сервере, API-ключ или доступ по SSH.

В редакторе агент может воспользоваться CLI или REST API. В обычном чате для вызова инструментов публикации нужен подключённый remote MCP. Одна фраза не добавляет чату доступ к сети или инструментам: если их нет, сначала откройте инструкцию подключения.

Опубликуй сайт на сервисе aifra.ru

Загружайте результат сборки

У простого HTML-сайта результат уже есть: index.html, стили, картинки и JavaScript. У React/Vite-проекта сначала нужна локальная сборка. Обычно готовые файлы попадают в dist. AIfra принимает содержимое этой папки и не запускает npm install или npm run build на сервере.

Откройте папку, которую собираетесь передать. В её корне должен быть index.html, именно с таким регистром. package.json, исходный src и node_modules не заменяют готовую страницу. Не добавляйте .env, приватные ключи, клиентские базы и другие файлы, которые не должны стать публичными.

dist/
  index.html
  assets/
    app.js
    style.css

Что показала проверка ZIP

В положительном тесте передали архив из двух файлов: index.html с заголовком Hello и assets/app.js с одной командой JavaScript. Обработчик принял оба файла. Размер распакованного содержимого совпал с суммой размеров исходных строк в байтах.

Затем передали архив, где вместо index.html лежал Index.html. Он был отклонён с archive_invalid: входной страницы с нужным именем нет. Проверки путей с выходом из каталога и повторяющихся имён тоже завершились отказом. Исправлять такую ошибку нужно в файлах, а не отключением защиты.

Если ZIP собираете вручную, откройте его перед отправкой: первым уровнем должны быть файлы сайта, а не ещё одна папка dist. При использовании CLI укажите сам каталог dist; клиент упакует его содержимое.

Принято: index.html + assets/app.js
Отклонено: Index.html без index.html → archive_invalid
Отклонено: повторяющиеся имена → archive_path_duplicate

Проверьте то, что видно посетителю

После публикации откройте выданную ссылку, а не localhost из окна редактора. Проверьте первый экран, картинку, кнопку, переход на внутреннюю страницу и обновление этой страницы. Затем откройте ссылку с телефона.

Если пропал шрифт или изображение, проверьте адрес ресурса. localhost, путь к вашему диску и закрытый URL не работают у клиента. Внешняя библиотека или аналитика может быть ограничена политикой безопасности превью. Для демонстрации проще хранить необходимые стили, шрифты и изображения рядом с HTML.

Формы, парольные поля и пользовательский backend для этого сервиса не подходят. Внешний API также не стоит считать рабочей частью статического превью без отдельной проверки. Для показа интерфейса используйте обезличенные демонстрационные данные.

Сколько файлов и времени доступно

Бесплатное превью обычно работает 48 часов с момента публикации. На один IP допускаются 3 активных превью, до 50 MiB загруженного архива и распакованного содержимого на превью, до 150 MiB активного содержимого суммарно. Отдельный файл ограничен 25 MiB.

Перед загрузкой нужно согласие с условиями. При публикации через remote MCP подтверждение в браузере действует 2 часа; эти два часа не отнимаются от срока опубликованного сайта. Получателю отправляйте уже готовую ссылку просмотра.

Ещё по теме