Treci la conținut
Înapoi la Nymbot

Baza de cunoștințe Codul

Lucrează într-un depozit git

Pro poate lucra în interiorul unuia dintre depozitele dvs. așa cum o face un agent de codificare - citind fișierele dvs. reale și scriind pe ele, schimbându-le.

Conectarea unui repository

?gitsau a Mergeți Chipul din bara de instrumente, conectează un furnizor: GitHub, GitLab sau Gitea/Forgejo – care acoperă instanțele Codeberg și auto-hosting. Se anunță pe site-ul nostru poate fi introdusă ca adresă.

Nu trebuie să tastați numele depozitului. Apasă tokenul și selectează Listați ce poate atinge acest token: Nymbot întreabă forge ce acel token poate vedea și arată răspunsul ca o listă pe care o verificați. Checking le conectează pe fiecare cu ramura sa implicită deja completată și le pune pe toate în acest chat. Tot ceea ce este deja conectat este afișat ca atare, mai degrabă decât oferit o a doua oară. Această cerere merge de la dispozitivul dvs. direct la forge - nu prin lucrătorul Nymbot - astfel încât tokenul nu călătorește oriunde nu merge deja.

Odată conectat, cipul afișează numele depozitului și mesajele trimise cu un pentru model selectaţi în contextul respectivului repository. ?git disconnect îndepărtează aceasta. Desconexiune în lista depozitului uită tokenul, dar păstrează depozitul acolo, marcat ca având niciun token, astfel încât să puteți adăuga un nou mai târziu.

Repositoriile modale, unde un repository GitHub, GitLab sau Gitea este conectat la un chat.
Conectarea unui depozit. token-ul se sincronizează cu celelalte dispozitive, sigilat de la capăt la capăt.

Repozitoriile anunțate pe Nostr

Unele depozite se anunţă pe Nostr mai degrabă decât pe o forjă, folosind Năvodari 34 Protocolul din spatele Înghețată Anunțul este un eveniment Nostr care poartă numele proiectului, întreținătorii săi, releele care colectează patch-urile și problemele sale și URL-urile de la care poate fi clonat.

Pastează un naddr sau a nostr:// adresa în formularul de depozit și presa Uită-te în sus. Nymbot reads the announcement off the relays and fills the form in: the git host it is cloned from, the repository there, and the branch the project itself says is current. You still add a token for that host, because Nostr carries the announcement and the git server carries the code.

Un depozit al cărui URL clon este pe GitHub, GitLab, Gitea sau Forgejo - auto-hosted inclus - este unul Nymbot poate citi. git:// sau ssh nu are API-ul HTTP pentru a citi fișierele prin, iar Nymbot spune că este așa, mai degrabă decât jumătate de conectare.În cazul în care gazda este auto-hostată, furnizorul este o presupunere din numele său și o puteți corecta înainte de a salva.

Un depozit adăugat în acest fel este marcat Înghețată în listă, iar răspunsurile îl cheamă după numele pe care îl anunță, mai degrabă decât după calea pe oglindă.

Ce poate face

Un mesaj în contextul repo rulează ca un mic agent, mai degrabă decât o singură completare. Modelul poate lista directorii, citi fișierele și căuta copacul, apoi răspunde folosind ceea ce a găsit de fapt - așa că "de ce se renunță la buclă de retry devreme" este răspuns din codul dvs., nu dintr-o ghicire despre cod care arată ca a voastră.

Ea vede ramura pe care ați conectat-o, la capul său actual.

cu Serverul rulează activat pentru chat, poate cere, de asemenea, să rulați o comandă împotriva codului dvs., cum ar fi testele, pe un server Nymbot.

O sarcină de depozit pe un telefon: Nymbot găsește un bug și afișează patch-ul ca un diff.
O sarcină de repo pe un telefon, cu patch-ul și ce costă rularea.

Se întoarce să scrie

?git writes on adaugă capacitatea de a comite fișiere, de a crea ramuri și de a deschide cererile de tragere sau de fuziune. Opriți în mod implicit și merită lăsat până când doriți.

Cu scris pe, cereți o schimbare și primiți o ramură și o cerere de retragere pentru revizuire, mai degrabă decât un patch lipit în chat: fiecare sarcină funcționează pe O ramură a proprieiNimic nu este împins la ramura implicită decât dacă opriți acest lucru, adică ramura pe care ați conectat-o și ați cerut-o.

Modificările unei execuții intră ca o comisie pe depozit, la sfârșitul execuției sau când modelul decide că o piesă de lucru este făcută. Întreabă înainte de a se angaja execută apoi modificările sale, răspunsul le arată ca un dif, și Aplicați Îi împiedică pe când Descărcare Îi aruncă afară, aplicarea nu costă nimic.

O ramură pentru fiecare sarcină

cu Fiecare sarcină are propria sa ramură pe care este pentru fiecare depozit, cu excepția cazului în care îl opriți, o sarcină care scrie se angajează într-o ramură proprie, numită nymbot/ Nymbot o face de la capul ramurii de lucru atunci când sarcina își face primul comit, astfel încât o sarcină care doar citește nu face deloc ramură.

Când sarcina este făcută, Nymbot face ceea ce Când se face spune . Deschideți o cerere de pull este deficitul; Oferă merge lasă un buton Merge pe răspuns; Lăsați ramura nu mai face nimic. setarea implicită este setată în Setări, sub Când o sarcină’s ramură este făcutăDacă forja nu are API pentru solicitările de tragere pe care Nymbot le poate utiliza, sau refuză unul, ramura este lăsată așa cum este și răspunsul spune așa.

Răspunsul este că ramura cu PR deschisă, Mergeți şi DeleteazăÎn timp ce sarcina este încă în curs de desfășurare, cardul, panoul de sarcini și lista a ceea ce este în curs de desfășurare numesc ramura de îndată ce există, pe fiecare dispozitiv conectat la cont. O sarcină care este oprită sau eșuează parțial încă își poartă ramura înapoi, astfel încât să poată fi fuzionat, șters sau curățat ca oricare altul. O fuziune este o comisie de fuziune prin intermediul solicitării proprii de tragere a forjării, atașată la comisia Nymbot înregistrată, astfel încât noile comisii împinse acolo între timp nu sunt niciodată combinate invizibil. Nimic nu este forțat vreodată. Dacă ramura se confruntă cu ramura de lucru, răspunsul oferă Deschideți PR pentru a rezolva sau Cereți Nymbot să actualizeze ramuraGitHub și Gitea sau Forgejo pot face acest lucru; GitLab nu are API pentru aceasta, așa că acolo o rezolvi în cererea de fuziune.

Modificările aduse fișierelor CI și fluxului de lucru așteaptă în continuare revizuirea dvs., la fel cum se întâmplă fără o ramură proprie.

Curățarea în sus

Dispozitivul dvs. își amintește nymbot/ următoarea sarcină de pe acel depozit, sau Curățați ramurile Nymbot în lista de depozit, șterge pe cele ale căror solicitări de retragere sunt fuzionate sau închise, sau care au șapte zile fără nimic de fuzionat. O ramură este ștersă numai dacă se termină încă la comit Nymbot înregistrat, astfel încât cineva a împins până când este lăsat singur, și nici o altă ramură nu este atinsă vreodată. Ea rulează de pe dispozitiv cu tokenul pe care îl trimite deja; serverul nu păstrează niciun token pentru a face acest lucru mai târziu.

Opțiunea este dezactivată pentru a comite direct la ramura de lucru. O sarcină are apoi depozitul în sine, iar o a doua pe aceeași ramură o citește numai până când prima a terminat.

Ce s-a schimbat într-o cursă

Un răspuns care a scris depozitului dvs. spune ce a atins: depozitul, ramura și fiecare fișier. Îndepărtează aceste schimbări le pune înapoi – fiecare dintre aceste căi este citit la comit ramura a stat pe înainte de a alerga și a angajat așa cum a fost. O ramură a propriei a lăsat ramura de lucru singură, aşa că nu mai este nimic de pus înapoi: Deletează îndepărtează ramura în schimb.

Aceasta este o reîntoarcere, nu o rescriere. Nimic nu este șters și nici o istorie nu este rescrisă: ceea ce a făcut Nymbot rămâne în jurnal, pur și simplu nu mai este starea ramurii.

Undoing nu atinge nici un model, deci nu cheltuiește credite - tokenul de acces călătorește cu acea cerere așa cum o face cu fiecare alta și nimic despre punctul de control nu este stocat oriunde, cu excepția propriului dvs. dispozitiv.

Fișiere numai

Închiderea cererii de retragere a cuiva în numele lor nu este o anulare, iar ștergerea unei ramuri pe care alte persoane le-au preluat nu este nici - faceți-le singur dacă doriți ca acestea să dispară.

Cât costă o sarcină repo

O sarcină de repo utilizează până la șase apeluri de model pe mesaj - vizualizați, citiți, căutați, răspundeți - fiecare facturat la modelul atașat pentru preţNumai apelurile utilizate efectiv sunt percepute, astfel încât o întrebare răspuns dintr-un singur fișier costă cât costă un răspuns obișnuit.

Aplicația raportează numărul total și numărul de apeluri după fiecare sarcină de repo.

Când o sarcină iese din cameră

O sarcină de depozit este o buclă, nu un singur răspuns: modelul enumeră un director, citește un fișier, caută copacul, citește altul și numai apoi scrie.

Atunci când o sarcină își folosește permisiunea cu munca încă de făcut, Nymbot se oprește, vă oferă ceea ce are și spune așa.

Setarea unui buget de continuitate în Setări și Nymbot achiziționează o altă alocare din același sold atunci când o sarcină se încheie, luând locul exact în care sa oprit, mai degrabă decât să citească din nou repozitorul de la început. merge un picior la un moment dat, fiecare picior spunând ce costă și se oprește în momentul în care bugetul este cheltuit, sarcina este terminată sau apăsați pe oprire.

Nota

Nimic nu continuă, și nimic nu este cheltuit dincolo de răspunsul pe care l-ați cerut, dacă nu ați stabilit un buget.

În mod normal, dispozitivul trimite fiecare picior, astfel încât o sarcină continuă doar în timp ce aplicația este deschisă. Războiul de fundal activat, serverul trimite următoarele picioare în sine în timp ce aplicația este închisă, în același buget, la maximum 40 de picioare și 6 ore, și vă spune o dată când sarcina este finalizată. Pentru a face acest lucru, păstrează tokenul de depozit sigilat cu o cheie pe care o deține numai în timp ce sarcina este în lucru, și o șterge când sarcina se termină și întotdeauna în termen de 6 ore.

Despre acel simbol

Despre acel simbol

Tokenul de acces este păstrat pe dispozitivele dvs. și se sincronizează între ele în setările criptate end-to-end, astfel încât serverul deține doar o copie sigilată pe care nu o poate citi. Dispozitivul Wipe, se deplasează la lucrătorul Nymbot cu fiecare cerere și nu este niciodată stocată pe partea de server citibilă sau publicată pe relay. Război de fundal Introduceți-l în singurul depozit pe care intenționați să-l utilizați și revocați-l la furnizorul dvs. când ați terminat.

Deoarece se sincronizează, un chat care utilizează depozitul funcționează pe fiecare dispozitiv pe care îl conectați fără a-l conecta din nou. Serverul ruleazădin container.