Spring til indholdet
Tilbage til Nymbot

Vidensgrundlag Kode

Købe kode på en server

Når koden har brug for mere end din enhed kan give det - et andet sprog, pakker fra internettet, mere tid - kan Nymbot køre den på en server af sig selv, i en beholder lavet til den ene kørsel.

Hvad er en server run

En serverkørsel starter en ny container, sætter din kode i den, kører den, sender tilbage, hvad den har trykt og ødelægger containeren. Til balance I det øjeblik det rent faktisk løb.

Der er to måder i: Kør på serveren på en kodeblok, og serveren kører, som Nymbot beder om, mens den arbejder i en depot.

For hurtig Python eller JavaScript, der ikke har brug for noget fra internettet, den gratis Sandbox på din enhed Det er som regel nok.

Kør en kode blok

Python, JavaScript, TypeScript, shell, Go, Rust, Java og Dart kodeblokke i et svar har en Kør på serveren knappen, når serverkørslen er tilgængelig. Det åbner et ark, der viser:

  • Den Billede Koden vil køre på,
  • en tidsgrænse til at vælge: 1, 5 eller 15 minutter,
  • den mest løb kan koste, i Pro-kreditter, for den tidsgrænse,
  • og, hvis chatten har filer vedhæftet, en boks til at inkludere dem.

Præs Løb og udgangen strømmer ind under kodeblokken, da den ankommer: hvad den udskrev, udgangskoden, hvor længe den løb, eventuelle filer, den skrev (hver med en redde knappen), og hvad det blev anklaget for.

Stop nu Serveren lukkes straks, og du betaler kun for den tid, den løber.

I en Den anonyme mode Chat run er betalt fra den kastede nøgles Pro-kreditter, og vedhæftede filer er aldrig inkluderet.

Sprog og billeder

Hvert sprog kører på et billede, et færdigt system med de værktøjer, som sproget har brug for.

BilledeBruges tilHvad den indeholderServere
Python erPython erPython 3.12 med pip, venv, build-værktøjer og git; numpy, pandas og pytest allerede installeret0,5 CPU og 4 GB hukommelse
Node.jsJavaScript og TypeScriptNode.js 22 med npm, pnpm og yarn, plus Python 3, make og en C++ compiler0,5 CPU og 4 GB hukommelse
PolyglotShell, Go, Rust og Javabash, C og C++ build-værktøjer, Python 3, Node.js, Go, Rust med cargo og Java 171 CPU, 6 GB hukommelse
FløjtenDartFlutter 3.32 og Dart2 CPU'er og 8 GB hukommelse

Hvad det koster

Servertiden faktureres i trin på 10 sekunder, fra at bede om serveren til at lukke den ned, med 10 sekunder som mindst et løb kan koste.

  • Prisen er angivet på forsiden, som maksimum. Du bliver aldrig opkrævet mere, og et løb, der slutter tidligt, koster mindre.
  • Maksimum holdes, mens løbet er i gang. Når den er færdig, tages den faktiske ladning og resten frigives.
  • Et løb, der ikke starter, er gratis.
  • Kapsler for udgifter anvendes. Et løb, der kunne gå forbi en chats Udgifter til hovedet Spørg først, på samme måde som et svar gør.

Fordi prisen følger Bitcoin-prisen, kan den bevæge sig mellem det øjeblik, du ser det, og det øjeblik, du trykker på Run.

Server kører i et repository

I en chat med en depot Forbundet med, den Server løber Chip giver Nymbot mulighed for at bede om at køre kommandoer mod din kode, såsom at installere afhængighederne og køre testene efter en ændring.

Hver gang modellen ønsker at køre noget, pauser svaret og viser et kort med billedet, den fulde kommando, tidsgrænsen og det maksimale, det kan koste, plus hvilket repository, når chatten har flere.

  • Tillad en gang Det kører mod repository med de redigeringer svaret har foretaget indtil nu, og modellen får tilbage udgangskoden, slutningen af output og listen over filer kommandoen ændret.
  • Nedgang Det koster ikke noget, og svaret går videre.

Hver løb spørger. Hver løb er opkrævet separat fra svaret, og svaret lister de løb, det gjorde, og hvad hver kostede. Udgifter til hovedetDu bliver afvist, før du bliver spurgt.

Filer med kommandoændringer på serveren forbliver der og kastes væk med beholderen. De er ikke skrevet til dit repository. Ændringer til repository kommer kun fra svarets egne redigeringer.

Hvad er isoleret

  • En frisk container til hver løb. Intet deles med et andet løb eller en anden person, og containeren ødelægges, når løb slutter, uanset om det lykkedes eller mislykkedes.
  • Ingen internet, undtagen pakkeregistreringer. Containeren kan downloades fra de steder, hvor pakkerne kommer fra: PyPI, npm og yarn, pub.dev og Googles lager til Flutter og Dart, Go-modulproxy, crates.io, Maven Central og GitHub til git-afhængigheder og frigiv downloads. Det kan kun downloades. Det kan ikke sende noget til dem eller nå nogen anden adresse.
  • Kun det, du vælger, kommer ind. Koden, de filer, du har inkluderet, eller repositoriets filer.Dine nøgler, din git token og dine chats kommer aldrig ind i beholderen.
  • Produktet behandles som utroværdigt. I et repository vises, hvad en run udskriver, til modellen markeret som eksterne data, og det siges aldrig at følge instruktioner inde i den.

Grænser

  • En server kører ad gangen for hver nøgle. Start en anden, mens den første stadig kører, afvises.
  • En repository run kan anmode om op til 15 minutter, eller 20 minutter på Flutter-billedet.
  • Op til 1 MB kode og op til 200 vedhæftede filer på i alt 20 MB.
  • En repository på op til 60 MB, pakket.
  • Op til 256 KB af output. Alt, der er gået, der er droppet, og løb siger det.
  • Op til 200 filer, 8 MB i alt, returneres for at gemme.

Serverkørsel kan slukkes for vedligeholdelse, enten som helhed eller som et billede ad gangen. Kør på serveren Knappen og chipset vises ikke.

De opgaver pane

I en repository-chat åbner tjeklisten øverst i chatten opgaver Panel. Den lister, hvad hver tur gjorde, nyeste først: de filer, den læste og redigerede, forpligter, ændringer, der blev foretaget for din anmeldelse, og hver server kører med sin kommando, billede, tid, omkostninger og udgangsstatus. En server kører venter på din godkendelse kan tillades eller afvises fra panelet, det samme som fra sit kort, og et løbende svar kan stoppes der.