Код от нейросети
Куда выложить проект, написанный в Cursor
Коротко
Проект, написанный в Cursor, — это обычная папка с кодом на вашем компьютере, поэтому выложить его можно на любую платформу, которая сама собирает проекты: загрузите папку архивом без venv и node_modules либо импортируйте её из GitHub и получите публичную ссылку. Перед загрузкой уберите из кода захардкоженный порт и адрес localhost, а ключи и токены вынесите в переменные окружения — это две самые частые причины, почему код от ИИ работает локально и молчит в интернете. Netrun сам определяет язык и тип проекта, собирает его и выдаёт адрес с HTTPS, а проверить проект можно бесплатно и без регистрации.
Cursor и другие ИИ-редакторы сняли самый страшный барьер: приложение теперь пишется разговором, а не годами практики. Но код от этого не перестаёт быть кодом на вашем ноутбуке. Пока проект запускается в редакторе, он живёт ровно столько, сколько открыт ваш компьютер, и адрес вида localhost не откроется ни у кого, кроме вас. Куда выложить проект, написанный в Cursor, редактор обычно не рассказывает — он отвечает за код, а не за сервер.
Обычно дальше начинается то, к чему вас никто не готовил: арендовать сервер, поставить туда язык, разобраться с фоновым запуском, прокси и сертификатом. В Netrun этот кусок пропадает — вы загружаете папку с кодом, платформа сама определяет язык, собирает проект и выдаёт публичную ссылку с HTTPS. Ниже — что стоит поправить до загрузки и почему код от ИИ чаще всего спотыкается на одних и тех же местах.
Определите, что у вас за проект#
От типа проекта зависит всё остальное. Сайт открывается по ссылке, телеграм-бот работает без собственного адреса и сам ходит в мессенджер, а фоновый скрипт просто крутится и делает свою работу. Если код писала нейросеть, тип не всегда очевиден: посмотрите, есть ли в проекте веб-сервер вроде Flask, FastAPI или Express, или библиотека для бота. Можно не гадать — загрузите папку архивом в бесплатную проверку проекта на Netrun, она без регистрации скажет язык, тип проекта и запустится ли он как есть.
Соберите папку в архив без служебных папок#
Заархивируйте папку проекта, выбросив venv, node_modules, папки сборки вроде dist, build и target, а заодно кэши редактора. Эти папки весят в разы больше самого кода и не нужны: библиотеки ставятся заново при сборке на сервере. Оставьте исходники и файл со списком зависимостей — requirements.txt для Python или package.json для Node.js.
Уберите из кода порт и localhost#
ИИ почти всегда пишет запуск так, как удобно на вашей машине: сайт слушает адрес 127.0.0.1 и порт вроде 3000, 5000 или 8000, прописанный прямо в коде. На сервере порт задаёт платформа, поэтому читать его нужно из переменной окружения PORT, а слушать 0.0.0.0 вместо localhost. Это правка в одну строку, и её можно поручить самому Cursor — попросите его брать порт из переменной окружения PORT и слушать 0.0.0.0. Захардкоженный порт — причина номер один, почему проект собирается, а ссылка не открывается.
Вынесите ключи и данные из папки с кодом#
Второй типичный след ИИ-кода — токен бота или ключ к платному сервису прямо в файле, рядом с логикой. Замените их чтением из переменных окружения: при настройке проекта Netrun спросит эти значения и подставит их в зашифрованном виде, в архиве и репозитории они лежать не будут. Если нейросеть сделала базу SQLite обычным файлом рядом с кодом, перенесите её в постоянную папку /data: файлы рядом с кодом пересоздаются при каждой публикации, а из /data никуда не деваются.
Загрузите проект и заберите ссылку#
Загрузите архив в Netrun или импортируйте репозиторий с GitHub, если Cursor уже выкладывал код туда, в том числе приватный. Платформа определит язык, поставит зависимости, соберёт проект и выдаст публичный адрес с HTTPS. Если что-то пойдёт не так, причина видна в логах в кабинете в реальном времени: чаще всего это недостающая библиотека или список зависимостей, собранный командой pip freeze вместе с локальными путями вашего компьютера.
Обновляйте код тем же способом#
Допишете что-то в Cursor — загрузите новую версию архивом или обновите из GitHub, ссылка при этом остаётся прежней, менять её у людей не придётся. Автоматической публикации по git push нет: обновление кода — это действие в кабинете, зато случайный черновик не уедет в интернет сам. Секреты и содержимое постоянной папки при обновлении сохраняются, вводить их заново не нужно.
Проект из Cursor ничем не отличается от написанного руками: это папка с кодом, которой нужен постоянно работающий компьютер в интернете и адрес. На бесплатном тарифе сайт живёт сколько угодно — засыпает при простое и просыпается сам, когда кто-то открывает ссылку, только первый заход после паузы чуть медленнее. Боту и фоновому скрипту будить некого, поэтому им дано три дня бесплатной работы, а дальше нужен тариф Pro с круглосуточным режимом; код, настройки и секреты при этом никуда не пропадают. Загрузите проект в Netrun или сначала прогоните его через бесплатную проверку проекта.
Частые вопросы
Как понять, сайт у меня или бот, если код писала нейросеть?
Посмотрите, что проект делает при запуске. Если он поднимает веб-сервер и предлагает открыть адрес в браузере, это сайт или веб-приложение. Если он подключается к мессенджеру по токену и ждёт сообщений, это бот, и своя ссылка ему не нужна. Проще всего не разбираться самому: бесплатная проверка проекта в Netrun определяет тип по файлам и говорит об этом словами.
Нужен ли GitHub и Git, чтобы выложить проект из Cursor?
Нет. Достаточно заархивировать папку проекта и загрузить архив — ни Git, ни терминал для этого не нужны. Если Cursor уже выкладывал код на GitHub, удобнее импортировать репозиторий, в том числе приватный: тогда обновление кода делается в пару кликов.
Почему проект запускается в Cursor, но не открывается по ссылке?
Чаще всего дело в жёстко прописанном порте или в адресе localhost: приложение слушает не там, где его ждут снаружи. Уберите свои значения и читайте порт из переменной окружения PORT, слушая 0.0.0.0. Вторая по частоте причина — приложение падает при старте, и это видно в логах в кабинете в первые же секунды.
Что делать, если requirements.txt не устанавливается?
Так бывает, когда список собран командой pip freeze: в него попадают локальные пути вашего компьютера и библиотеки только под вашу операционную систему. Пересоберите список руками, оставив в нём то, что проект действительно импортирует, без указания путей. Точное место ошибки видно в логах сборки.
Нужно ли разбираться в коде, который написал ИИ?
Глубоко — нет. Достаточно поправить три вещи: порт из переменной окружения, ключи вне кода и данные в постоянной папке. Всё это можно попросить сделать сам Cursor, а сборку, запуск и перезапуск при сбое берёт на себя платформа.
Что будет с базой SQLite, которую сделала нейросеть?
Она продолжит работать, но файл базы нужно держать в постоянной папке /data. Если база лежит рядом с кодом, при следующей публикации она создастся заново и записи пропадут. Путь к файлу удобно задавать переменной окружения, чтобы локально и на сервере он был разным.
Какие языки и технологии поддерживаются?
Python, Node.js, Go, Rust, Ruby, PHP, Java, .NET, Deno, Bun, Elixir, статические сайты и bash-скрипты. Можно принести свой Dockerfile или docker-compose, но чаще стек определяется по коду автоматически.
Где указать токены и другие секретные значения?
В проекте есть вкладка «Секреты» — там задаются значения из кода, например токен от BotFather. Мы храним их в зашифрованном виде: названия переменных вы видите, сами значения не показываем никому, включая вас.
Где посмотреть логи и статус проекта?
На странице проекта есть статус, логи и история событий — по ним видно, что происходит с проектом прямо сейчас. Лента логов показывает и более ранние строки: пролистайте её вверх, и они подгрузятся сами.
Как обновить код уже опубликованного проекта?
Откройте проект и загрузите новую версию или обновите его из GitHub. Ссылка останется прежней, а данные сохранятся, если лежат в постоянном хранилище — папке /data или томе вашего compose-файла.