Перейти к содержимому
Вернуться в Nymbot

База знаний Код

Запуск кода на сервере

Когда коду требуется больше, чем может дать ваше устройство — другой язык, пакеты из интернета, больше времени — Nymbot может запускать его на собственном сервере, в контейнере, созданном для этого.

Что такое сервер Run

Запуск сервера запускает новый контейнер, помещает в него свой код, запускает его, отправляет обратно то, что он напечатал, и разрушает контейнер. За баланс На тот момент он фактически бежал.

Есть два способа в: Бег на сервер на блок кода, и сервер запускается, что Nymbot просит, пока он работает в репозиторий.

Для быстрого Python или JavaScript, который не нуждается ни в чем из интернета, бесплатный Sandbox на вашем устройстве Обычно этого достаточно.

Запуск блока кода

Python, JavaScript, TypeScript, shell, Go, Rust, Java и Dart блоки кода в ответе имеют Бег на сервер кнопку, всякий раз, когда доступны серверные запуски. Он открывает лист, показывающий:

  • ТЭ Образ Код будет действовать,
  • время выбора: 1, 5 или 15 минут,
  • больше всего, что может стоить бег, в Pro кредитах, за этот временной предел,
  • и, если в чате есть файлы, приложенные, поле, чтобы включить их.

Пресс Бег и вывод поступает под блок кода, когда он поступает: что он печатал, код выхода, как долго он работал, любые файлы, которые он написал (каждый с спасать бутона) и за что он был обвинен.

Стоп Сервер немедленно закрывается, и вы платите только за время его запуска.

В одном Анонимная мода чат бег оплачивается из Pro-кредитов выброшенного ключа, а приложенные файлы никогда не включаются.

Языки и изображения

Каждый язык работает на изображении, готовой системе с инструментами, которые нужны языку.

изображениеИспользуется дляЧто он содержитСерверы
PythonPythonPython 3.12 с pip, venv, build tools и git; numpy, pandas и pytest уже установлены0.5 CPU, 4 ГБ памяти
Node.jsJavaScript и TypeScriptNode.js 22 с npm, pnpm и yarn, плюс Python 3, make и компилятор C++0.5 CPU, 4 ГБ памяти
ПолиглотShell, Go, Rust и Javabash, C и C++ build tools, Python 3, Node.js, Go, Rust with cargo и Java 171 процессор, 6 Гб памяти
ФлейтерДАРТFlutter 3.32 и Dart2 процессора, 8 Гб памяти

Сколько это стоит

Время сервера рассчитывается в шагах по 10 секунд, от запроса сервера до его закрытия, с 10 секундами как минимум запуск может стоить.

  • Цена указана на переднем плане, как максимальная. Вы никогда не будете заряжаться больше, и бег, который заканчивается раньше, будет стоить меньше.
  • Максимум держится, пока идет бег. Когда он заканчивается, фактический заряд берется, а остальное освобождается.
  • Бег, который не начинается, является бесплатным.
  • Применяются расходные капсы. Бег, который может пройти мимо чата Расход капитала Сначала спрашивайте, так же как и ответ.

Поскольку цена следует за ценой Биткойна, она может перемещаться между моментом, когда вы ее видите, и моментом, когда вы нажмете кнопку Пусть.

Сервер запускается в репозитории

В чате с а репозиторий Связанные между собой, The Серверы бегут Чип позволяет Nymbot попросить запустить команды против вашего кода, такие как установка зависимостей и запуск тестов после изменения.

Каждый раз, когда модель хочет запустить что-то, ответ паузирует и показывает карту с изображением, полной командой, временным ограничением и максимумом, который может стоить, плюс какой репозиторий, когда в чате есть несколько.

  • Разрешить один раз Он работает против репозитория с изменениями, которые ответ сделал до сих пор, и модель получает обратно код выхода, конец выхода и список файлов, которые команда изменила.
  • Снижение ничего не работает и ничего не стоит.Ответ продолжается без него.

Каждый запуск спрашивает.Каждый заряжается отдельно от ответа, и ответ перечисляет заряды, которые он сделал, и что каждый из них стоил. Расход капиталаОн отказывается, прежде чем вас попросят.

Файлы с изменениями команды на сервере остаются там и выбрасываются вместе с контейнером. Они не записываются в ваше хранилище. Изменения в хранилище происходят только из собственных редакций ответа.

Что является изолированным

  • Свежий контейнер для каждого бега. Ничто не делится с другим бегом или другим человеком, и контейнер разрушается, когда бег заканчивается, будь то успешный или неудачный.
  • Нет интернета, кроме пакетов. Контейнер можно загрузить из мест, где пакеты поступают из: PyPI, npm и yarn, pub.dev и хранилища Google для Flutter и Dart, прокси модуля Go, crates.io, Maven Central и GitHub для git dependencies и выпуска загрузок.
  • Только то, что вы выбрали, попадает внутрь. Код, файлы, которые вы включили, или файлы репозитория. Ваши ключи, ваш git-токен и ваши чаты никогда не попадают в контейнер.
  • Выход рассматривается как недоверчивый. В репозитории то, что отпечатывает запуск, показывается модели, обозначенной как внешние данные, и ей говорят, чтобы никогда не следовать инструкциям внутри нее.

Ограничения

  • Один сервер запускается одновременно для каждого ключа. Начиная второй, пока первый все еще идет, отказывается.
  • Временные ограничения 1, 5 или 15 минут для блока кода. Запуск репозитория может потребовать до 15 минут, или 20 минут на изображение Flutter.
  • До 1 МБ кода и до 200 приложенных файлов общей вместимостью 20 МБ.
  • Репозиторий объемом до 60 Мб, упакован.
  • До 256 Кб выхода. Все прошлое, которое выпадает, и бег так говорит.
  • До 200 файлов, 8 Мб в общей сложности, возвращаются для сохранения.

Работающие серверы могут быть отключены для технического обслуживания, как целое или одно изображение за раз. Бег на сервер Кнопка и чип не отображаются.

Задачи пане

В чате репозитории кнопка контрольного списка в верхней части чата открывает Задачи панель. Он перечисляет то, что каждый поворот сделал, новейший сначала: файлы, которые он прочитал и редактировал, поощряет, изменения, сделанные для вашего обзора, и каждый сервер работает с его командой, изображением, временем, стоимостью и статусом выхода. сервер, который работает в ожидании вашего одобрения, может быть разрешен или отклонен с панели, то же самое, что с его карты, и текущий ответ может быть остановлен там.