Springe zum Inhalt
Zurück zu Nymbot

Wissensdatenbank Der Code

Code auf einem Server ausführen

Wenn Code mehr benötigt, als Ihr Gerät bereitstellen kann – eine andere Sprache, Pakete aus dem Internet, mehr Zeit – kann Nymbot es auf einem eigenen Server ausführen, in einem Container, der für diesen Ausführen entwickelt wurde.

Was ist ein Server Run

Ein Server-Run startet einen neuen Container, legt Ihren Code darin, führt ihn aus, sendet zurück, was er gedruckt hat und zerstört den Container. Für das Gleichgewicht Bis es tatsächlich gelaufen ist.

Es gibt zwei Wege in: Run auf dem Server auf einem Code-Block, und der Server läuft, dass Nymbot fordert, während es in einer Repository.

Für schnelle Python oder JavaScript, die nichts vom Internet benötigen, die kostenlose Sandbox auf Ihrem Gerät Normalerweise reicht es.

Ausführen eines Codeblocks

Python, JavaScript, TypeScript, Shell, Go, Rust, Java und Dart-Codeblöcke in einer Antwort haben eine Run auf dem Server Button, wann immer Serverläufe verfügbar sind. Es öffnet ein Blatt, das zeigt:

  • Die Bild Der Code wird laufen,
  • eine Zeitlimit zur Auswahl: 1, 5 oder 15 Minuten,
  • die meisten Run kann kosten, in Pro-Credits, für diesen Zeitrahmen,
  • und, wenn der Chat Dateien angehängt hat, ein Feld, um sie zu enthalten. Sie gehen nur, wenn Sie es überprüfen.

Druck Rennen und die Ausgabe fließt unter dem Code-Block ein, wenn es ankommt: was es gedruckt hat, der Ausgangskode, wie lange es gelaufen ist, alle Dateien, die es geschrieben hat (jedes mit einem Rettung Button), und was es angeklagt wurde.

Stoppen Sie Der Server wird sofort geschlossen und Sie zahlen nur für die Zeit, die er läuft.

In einem Anonyme Mode Chat the run wird aus den Pro-Credits des Throwway-Schlüssels bezahlt, und angehängte Dateien werden nie enthalten.

Sprachen und Bilder

Jede Sprache läuft auf einem Bild, einem fertigen System mit den Tools, die die Sprache benötigt.

BildVerwendet fürWas es enthältDer Server
PythonPythonPython 3.12 mit pip, venv, build tools und git; numpy, pandas und pytest bereits installiert0,5 CPU, 4 GB Speicher
Node.jsJavaScript und TypeScriptNode.js 22 mit npm, pnpm und yarn, plus Python 3, make und einem C++-Compilator0,5 CPU, 4 GB Speicher
PolyglotShell, Go, Rust und Javabash, C und C++ Build Tools, Python 3, Node.js, Go, Rust with cargo und Java 171 CPU, 6 GB Speicher
FlutterDartFlutter 3.32 und Dart2 CPUs, 8 GB Speicher

Was es kostet

Die Serverzeit wird in Schritten von 10 Sekunden in Rechnung gestellt, von der Frage nach dem Server bis zum Schließen, mit 10 Sekunden, da mindestens ein Run kosten kann.

  • Der Preis wird im Vordergrund als Maximum angezeigt. Sie werden nie mehr aufgeladen, und ein Lauf, der früh beendet, kostet weniger.
  • Das Maximum wird gehalten, während der Lauf läuft. Wenn es endet, wird die tatsächliche Ladung genommen und der Rest wird freigegeben.
  • Ein Lauf, der nicht beginnt, ist frei.
  • Die Ausgabenkapseln gelten. Ein Lauf, der über einen Chat hinausgehen könnte Ausgaben Cap Fragen Sie zuerst, genauso wie eine Antwort tut.

Da der Preis dem Bitcoin-Preis folgt, kann er sich zwischen dem Moment bewegen, in dem Sie ihn sehen, und dem Moment, in dem Sie Run drücken.

Server läuft in einem Repository

In einem Chat mit einem Repository verbunden sind, die Server läuft Der Chip ermöglicht es Nymbot zu bitten, Befehle gegen Ihren Code auszuführen, wie z. B. die Installation der Abhängigkeiten und das Ausführen der Tests nach einer Änderung.

Jedes Mal, wenn das Modell etwas ausführen möchte, stoppt die Antwort und zeigt eine Karte mit dem Bild, dem vollständigen Befehl, der Zeitlimit und dem Höchstbetrag, den es kosten kann, sowie welchen Repository, wenn der Chat mehrere hat.

  • Erlauben Sie einmal Es läuft gegen das Repository mit den Bearbeitungen, die die Antwort bisher vorgenommen hat, und das Modell erhält wieder den Ausgangskodex, das Ende der Ausgabe und die Liste der Dateien, die der Befehl geändert hat.
  • Rückgang Es läuft nichts und kostet nichts.Die Antwort geht ohne sie voran.

Jeder läuft fragt. Jeder wird separat von der Antwort geladen, und die Antwort listet die Läufe, die es gemacht hat, und was jeder kostet. Ausgaben CapEs wird abgelehnt, bevor Sie gefragt werden.

Dateien, die einen Befehl ändern, bleiben dort auf dem Server und werden mit dem Container weggeworfen. Sie werden nicht in Ihr Repository geschrieben. Änderungen an dem Repository kommen nur aus den eigenen Bearbeitungen der Antwort.

Was ist isoliert

  • Ein frischer Container für jeden Lauf. Nichts wird mit einem anderen Run oder einer anderen Person geteilt, und der Container wird zerstört, wenn der Run endet, unabhängig davon, ob er erfolgreich oder gescheitert ist.
  • Kein Internet außer Paketregistern. Der Container kann von den Orten heruntergeladen werden, an denen die Pakete kommen: PyPI, npm und yarn, pub.dev und Google-Speicher für Flutter und Dart, der Go-Modul-Proxy, crates.io, Maven Central und GitHub für git-Abhängigkeiten und Release-Downloads.
  • Nur das, was du wählst, geht hinein. Der Code, die Dateien, die Sie enthalten, oder die Dateien des Repositories. Ihre Schlüssel, Ihr git-Token und Ihre Chats gelangen niemals in den Container.
  • Die Ausgabe wird als nicht vertrauenswürdig behandelt. In einem Repository wird dem Modell angezeigt, was ein Run druckt, das als externe Daten gekennzeichnet ist, und es wird gesagt, niemals Anweisungen darin zu folgen.

Grenzen

  • Ein Server läuft zur gleichen Zeit für jeden Schlüssel. Das Starten eines zweiten, während der erste noch läuft, wird abgelehnt.
  • Eine Repository-Run kann bis zu 15 Minuten oder 20 Minuten auf dem Flutter-Bild anfordern.
  • Bis zu 1 MB Code und bis zu 200 Anhänge von insgesamt 20 MB.
  • Ein Repository von bis zu 60 MB, verpackt.
  • Bis zu 256 KB Ausgabe. Alles, was passiert ist, wird fallen gelassen, und der Lauf sagt es so.
  • Bis zu 200 Dateien, insgesamt 8 MB, werden zur Speicherung zurückgegeben.

Serverläufe können für die Wartung als Ganzes oder als ein Bild gleichzeitig ausgeschaltet werden. Run auf dem Server Knopf und Chip werden nicht angezeigt.

Die Aufgaben Pan

In einem Repository-Chat öffnet sich die Checkliste-Schaltfläche oben im Chat Aufgaben Panel. Es listet auf, was jede Schaltung getan hat, neueste zuerst: die Dateien, die sie gelesen und bearbeitet hat, verpflichtet, Änderungen für Ihre Bewertung abgeschnitten, und jeder Server läuft mit seinem Befehl, Bild, Zeit, Kosten und Ausgangsstatus. Ein Server läuft auf Ihre Genehmigung warten kann von der Registerkarte zugelassen oder abgelehnt werden, das gleiche wie von seiner Karte, und eine laufende Antwort kann dort gestoppt werden.