Fix with AI: один клик, когда публикация не удалась
Когда публикация на Mythex не удаётся, диалог теперь сообщает, что именно произошло, и на каждой ошибке даёт две кнопки: Исправить с ИИ и Попробовать снова. «Исправить с ИИ» передаёт агенту саму ошибку и то, что напечатало ваше приложение, чтобы он исправил проект и опубликовал его снова. Если с приложением всё в порядке, он просто опубликует его ещё раз. Мы также перестали списывать на «нашу сторону» проблемы, которые на самом деле были в приложении, и начали ловить приложения, которые ломаются через несколько минут после запуска.
Что изменилось
«Исправить с ИИ» при любой ошибке
Раньше одни ошибки показывали «Исправить с ИИ», а другие только «Попробовать снова». Разделение зависело от того, кто, по всей видимости, виноват: если ошибка казалась нашей, мы не хотели, чтобы агент тратил ваши кредиты на поиски в коде, который был в порядке.
Из-за этого приходилось самому понимать, с какой ошибкой вы имеете дело. Теперь при каждой ошибке доступны обе кнопки. Агент получает тип ошибки и вывод, на котором она основана, поэтому он исправляет приложение, если в нём что-то не так, и просто публикует снова, если всё в порядке. Вам не нужно определять, какой это случай.
Исключения — ошибки, для которых решение не в коде. Занятое имя ссылки подсказывает другие имена. Закончившиеся кредиты предлагают способ их пополнить.
Сообщения, которые говорят, что произошло
Некоторые ошибки раньше сводились к фразе «проблема на нашей стороне, опубликуйте снова», что было неправдой: повторная публикация никогда не помогала. Теперь у каждой ошибки есть своё сообщение:
- «Ваше приложение не запустилось после публикации». Приложение опубликовано, но так и не начало принимать соединения. Чаще всего оно слушает другой порт или только
localhost. Опубликованное приложение должно слушать0.0.0.0и порт из$PORT. Вместо того чтобы ждать фиксированное время и надеяться, мы теперь проверяем, что приложение действительно принимает соединения на своём порту. - «Этот файл слишком большой» / слишком много файлов. У статических сайтов есть ограничение на размер одного файла (около 25–30 МБ в зависимости от типа сайта) и лимит в 20 000 файлов. Теперь мы измеряем папку до загрузки чего-либо, одинаково для всех типов файлов, и сообщение перечисляет все файлы, которые превышают лимит.
- «Ваше приложение остановилось сразу после запуска». Обычно это отсутствующая настройка, например переменная окружения или секрет, падение при первом запросе или ошибка в команде запуска.
Ловим приложения, которые ломаются после запуска
Публикация может пройти успешно, а приложение через несколько минут всё равно сломается: оно постоянно падает или работает, но перестаёт принимать соединения. Mythex регулярно проверяет опубликованные приложения. Если приложение несколько раз падает в течение нескольких минут или работает, но не принимает соединений, публикация помечается как неудачная, вы получаете письмо, а в проекте появляется сообщение с кнопкой «Исправить с ИИ».
Одиночное падение, после которого приложение само восстановилось, неудачной публикацией не считается. Если причина в том, что приложению не хватило памяти, вы получите отдельное письмо об этом.
Когда мы помечаем работающее приложение как неудачное, мы также сохраняем то, что приложение напечатало в тот момент. Вы не видите этот необработанный вывод, но именно его получает «Исправить с ИИ», поэтому агент начинает с настоящей ошибки, а не гадает.
Как пользоваться
- Нажмите Опубликовать, как обычно.
- Если публикация не удалась, прочитайте сообщение в диалоге. Оно написано так, чтобы сказать, что произошло, а не просто то, что что-то пошло не так.
- Нажмите Исправить с ИИ. Агент читает вывод сборки или логи приложения, исправляет проект, и вы можете опубликовать снова.
- Если сообщение говорит, что с вашим приложением всё в порядке, — «Публикация занята на минуту» или «Публикация прервана», — обычно достаточно Попробовать снова.
- Если вы получили письмо о том, что живое приложение постоянно падает, откройте проект: там будут то же сообщение и кнопка «Исправить с ИИ».
При повторной публикации оставляйте то же имя ссылки, если только в сообщении не сказано, что проблема именно в нём.
Зачем мы это сделали
Неудачная публикация часто становится первой серьёзной преградой. Приложение работает в превью, человек нажимает «Опубликовать», и оно не поднимается. Для человека, который не является разработчиком, совет «проверьте логи» бесполезен. «Исправить с ИИ» превращает этот момент в один клик, а честные сообщения означают, что, когда вы их читаете, они указывают на правильную причину.
Ограничения
- «Исправить с ИИ» использует агента, поэтому расходует кредиты, как любое другое сообщение.
- Агент может исправить то, что находится в проекте: код, конфигурацию, команду запуска. Он не может исправить занятое имя ссылки, непроверенную почту или пустой баланс кредитов.
- Некоторые проблемы требуют вашего решения, например, перенести большой файл в Storage или сделать его меньше.
Каждое сообщение и то, что с ним делать, описаны в документации: устранение неполадок при публикации. Об общем навыке исправления проблем, когда что-то пошло не так, см. как отлаживать приложение, созданное с ИИ.