Mazmuna geçiň
Nymbot-a yzyna gaýdyp

Bilim binýady Kod

Git ammarynda işlemek

Pro siziň repozitoriýalaryňyzyň biriniň içinde kod ýazýan agent ýaly işläp bilýär — hakyky faýllaryňyzy okap we olary üýtgedip, täze zatlar ýazyp bilýär.

Repositoriýany birikdirmek

?git, ýa-da Git gural panelindäki çip, üpjünçileri birleşdirýär: GitHub, GitLab ýa-da Gitea/Forgejo — bu bolsa Codeberg we özüňiz söýüp guran nusgalary öz içine alýar. Ol çäklenen şahsy elýeterlilik tokenini, repozitoriýany we şahany kabul edýär. Repozitoriýa haýsy bolsa... Nostr platformasynda özüni tanatdyryar Onuň adresi hökmünde goýup bolýar.

Siz repozitoriýanyň adyny ýazmak hökmata eýýäm däl. Tokeni goýuň we saýlaň Bu token nämä ýetip biljekdigini sanap berin: Nymbot tokanyň nämeleri görüp biljekdigini soramak üçin forge-a ýüz tutýar we jogaby siz barlaýan san görnüşinde görkezýär. Barlamak her birini öňünden doldurylan öz standart şahasy (branch) bilen birleşdirýär we olaryň hemmesini bu söhbetdeşlige salýar. Eýýäm birleşdirilen zatlar gaýtadan hödürlenmän, şol görnüşde görkezilýär. Bu sorag siziň enjamyňyzdan göni forge-a — Nymbot işçisi arkaly däl — ugradylýar, şonuň üçin token öňden gidýän ýerlerinden başga ýere gitmeýär. Cross-origin soraglary kabul etmeýän özüňiz host edýän forge-y sanawda görkezilip bilinmeýär; repozitoriýany el bilen ýazyň, galan hemme zat şol bir usulda işleýär.

Birikdirileninden soň, çip depozwariýanyň adyny we bir bilen iberilen habarlary görkezýär Pro model şol deponyň kontekstinde saýlanan işleme. ?git disconnect ol ony aýyrýar. Baglanyşygy kesmek rezervuar sanawynda tokeni ýatdan çykaryar, ýöne rezervuary ýerinde saklaýar, ony tokeni ýok diýip bellemek bilen, şeýlelikde soňra täzesini goşup bilersiňiz.

GitHub, GitLab ýa-da Gitea ammarynyň söhbetdeşlige birikdirilýän Repozitoriýalar penjiresi.
Ambar birikdirilýär. Token beýleki enjamlaryňyza senkronizirlenýär, uçdan uça bitinlik bilen goralan.

Nostr-da yglan edilen ambarlar

Käbir repositoriýalar diňe bir forge-da däl-de, Nostr-da hem özlerini yglan edýärler, ulanyp NIP-34 — protokoly arkasyndaky ngit we gitworkshop. Mahalyň yglan edilmegi, taslamanyň adyny, ony saklaýanlary, onuň ýamaçlaryny we meselelerini ýygnanýan relýleri hem-de onuň nusgalaryny göçürip boljak URL-lerini özünde saklaýan Nostr wakasydyr. Ikinji waka bolsa her bir şahanyň häzirki wagtda nire täsir edýändigini aýdýar.

Goýuň birini naddr ýa-da a nostr:// repository formuna salyň we basyň Gözleg ber. Nymbot habarnamany reýleýjilerden okaýar we formany doldurýar: onuň klonlanan git mekany, ol ýerdäki repozitoriýa we taslamanyň özi häzirki wagtda dowam edýän diýen şahasy. Siz şol mekanyň üçin heniz hem token goşýarsyňyz, sebäbi habarnamany Nostr daşaýar, git serweri bolsa kody daşaýar.

Bu bolsa düzgün diňe onuň haýsy ýerden klonlanandygydyr diýmekdir. Klonlama URL-адresi GitHub, GitLab, Gitea ýa-da Forgejo (özüňizke host edilen hem degişli) bolan ambarlary Nymbot okap bilýär. Diňe şular arkaly klonlanan git:// ýa-da ssh faýllary okamaly HTTP API-syna eýe däl, we Nymbot ýarym birikip galmazdan, şuny aýdýar. Host özüňiz tarapyndan host edilýän ýerinde, provayder onuň adyndan çaklanýar we siz ony ýatda saklamazdan ozal düzedip bilersiňiz.

Şeýle usul bilen goşulan ammar belgi bilen görkezilýär ngit sanawda we jogaplarda ony aýnan daky ýoly bilen däl-de, eýsem özüni tanadýan ady bilen çagyryň.

Ol näme edip bilýär

Repo kontekstindäki habar ýeke-täk tamamlaýjy däl-de, eýsem kiçijik agent hökmünde işleýär. Model kataloglary sanap bilýär, faýllary okaýar we agaç gurluşy boýunça gözleg edip bilýär, soňra bolsa hakykatda tapylan maglumatlary ulanyp jogap berýär — şonuň üçin "näme üçin gaýtadan synanyşyk döwri öňden bes edilýär" diýen sorag siziň kodyňyzdan jogaplanýar, siziňki ýaly görnüşli koda bolan çaklama arkaly däl.

Ol häzirki başynda birikdirilen şahany görýär.

Bilelikde serwer işleýär söhbetdeşe üçin işledilen, ol Nymbot serwerinde testler ýaly kodyňyz üçin komanda ýerine ýetirmegi hem sorap biler. Her gezek ýerine ýetiriş siziň rugsat bermegiňizi garaşýar.

Telefondaky amallaryň amala aşyrylmagy: Nymbot sähelini tapýar we düzeltmesini diff görnüşinde görkezýär.
Telefonda repo wezipesi, patch we ony işletmegiň bahasy bilen.

Ýazmagy açýar

?git writes on faýllary commit etmäge, şahalary döretmäge we pull ýa-da merge requestlary açmaga mümkinçilik berýär. Standart ýagdaýda öçürilen we islemekçi bolýança öçürilgin durmagy peýdalydyr.

Ýazuw ygtyýary açyk bolanda, üýtgeşme soraň we size çata goýlan patch deregine gözden geçirmek üçin branch we pull request berilýär: her bir wezipa ... üstünde işleýär özbaşdak şahasyEger ony öçürmeseňiz, hiç zat siziň standart şahajagyňyza ýüklenmeýär, bu baglanyşyk guranylan we siz soran şahajakdyr.

Çaltlandyrmanyň üýtgeşmeleri her ammar üçin bir commit görnüşinde, çaltlandyrmanyň ahyrynda ýa-da model işiň tamamlandygyna karar berende goşulýar. Eger olary ilki görenleriňiz isleseňiz, işe giriziň Commit etmezden öň sorap bil şol ambar üçin. Soňra işleme tapgyry öz üýtgeşmelerini saklaýar, jogap bolsa olary tapawut (diff) hökmünde görkezýär, we Ulanmak olary etýändigi wagtynda Atyryp taşla olary zyňýär. Ulanmak hiç zat talap etmeýär.

Her bir wezipä degişli şah:

Bilelikde Her bir wezipä öz şahasy berilýär on, haçan-da ol her bir depolowça (repository) üçin ýerine ýetirilýär eger ony öçürmeseňiz, öz ady bolan şahasy (branch) ugrunda commit-leri ýazýan taslama, atlandyrylan nymbot/ we gysga ID. Nymbot ony işjeň şahçanyň (branch) başyndan döredýär, wagt taslama özüniň birinji commit-ini edende, şonuň üçin diňe okamak üçin niýetlenen taslama hiç hili şahça döretmeýär. Işjeň şahçanyň özi degdirilmeýär, şonuň üçin birnäçe taslama özüniň gezekini garaşman, bir wagtda bir bazada ýazyp bilýärler.

Jogap tamamlananda, Nymbot näme edýär Gutaran wagtynda diýýär. Pull request açyň bu standartdy; Birleşdiriş teklip et jogabyň üstünde Birleşdirme düwmesini galdyrýar; Şahany goýber ýene-de hiç zat etmeýär. Standart sazlamalar Settings bölüminiň, aşagynda ýerleşýär Bir işiň şahasy tamamlananda, we her bir ambar öz görnüşinde tapawutly saýlap biler. Eger forge Nymbot ulanyp biljek pull requestler üçin API bermese ýa-da ony ret etse, şahamça öz ýaly galýar we jogapda bu barada aýdylýar.

Jogap şuny görkezýär: şaha bilen PR açyň, Birleşdir we Öçürmek, we "Göreňişler" paneli ony wezipäniň bilen bile sanawda görkezýär. Wezipe entek dowam edýän wagty, onuň kartasy, "Göreňişler" paneli we işleýän işleriň sanawy, hasaplaýşa birikdirilen her bir enjamda şol şahany (branch) ýüze çykan badyna adlandyrýar. Tohtadan ýa-da ortasynda ýalňyşlyk bilen bes edilen wezipe hem öz şahany yzyna gaýtaryp berýär, şol sebäpli ony beýleki ýaly birleşdirmek, pozmak ýa-da arassalamak bolýar. Birleşdirme — bu forge-yň öz pull request-i arkaly, Nymbot tarapyndan ýazgy edilen commit-e birikdirilen birleşdirme commit-idir, şonuň üçin şol aralykda şol ýerlere ugradylan täze commit-ler hiç wagt gözden daşary birleşdirilmeýär. Hiç zat hiç wagt "force-push" edilmeýär. Eger şahany işjeň şahanyň bilen gapma-garşylyk döredýän bolsa, jogap şulary hödürleýär Problemi çözmek üçin PR açyň ýa-da Nymbotdan şahany täzelemegini sora, haýsy hem işçi şahany rebase etmek däl-de, merge commit arkaly öz içine birleşdirýär. GitHub we Gitea ýa-da Forgejo munuň etmegi mümkin; GitLab-da munuň üçin API ýok, şonuň üçin siz ony merge request-de çözmeli bolýarsyňyz.

CI we iş akymy faýllaryna edilen üýtgeşmeler, öz branch-y bolmadyk ýagdaýdaky ýaly, heniz hem siziň gözden geçirmegiňizi garaşýarlar.

Arassalamak

Siziň enjegi ýatda saklaýar nymbot/ bu hasabyň döreden şahalary. Şol ambar baradaky indiki wezipä, ýa-da Nymbot şahalaryny arassalaň rezervuarlar sanawynda, pull request-i birleşdirilen ýa-da ýapylyp bolan, ýa-da birleşdirmeli hiç zat galmadyk ýedi günü geçip bolanlary pozýar. Şahalary diňe Nymbot tarapyndan ýazgy edilen commit Nymbot bilen tamamlanýan bolsa pozýar, şonuň üçin biri oňa täze zat ugradan bolsa, ol üýtgewsiz galýar we hiç haçan başga hiç hili şaha degilmeýär. Ol siziň enjamyňyzdan öňden ugradylan token arkaly işleýär; serwer ony soňra ýerine ýetirmek üçin hiç hili token saklaman durýar.

Işlemek üçin şahanyň içine göni commit etmek üçin saýlamany öçüriň. Şonda wezipäniň öz repozitoriýasy bolýar we şol bir şahadaky ikinji wezipä birinji tamamlanýança diňe ony okaýar. Programmanyň köne wersiýalary hem şeýle işleýär.

Işleýän zadyň üýtgeden zatlaryny yzyna gaýtarmak

Siziň amalaýyş ammaryňyza ýazylan jogap nämeleri degendigini aýdýar: amaly ammary, şahamçany we her bir faýly. Bu üýtgeşmeleri yza gaýtaryň olary yzyna goýýar — şol ýollaryň her biri işläp başlamazdan öň şol bitigiň (commit) üstünde duran ýagdaýynda okalýar we şol ýagdaýynda commit edilýär. Şu aşakdakylar bilen işleýän wezipä: özbaşdak şahasy işçi şahasy (branch) özbaşyna galdy, şonuň üçin yza goýjak hiç zat ýok: Öçürmek öz şahany aýyrýar özüniň deregini aýyrýar.

Bu täzelenmek däl, gaýtadan öňki ýagdaýa getirmekdir. Hiç zat pozulmady we hiç hili taryh täzeden ýazylmady: Nymbot-yň edeni log-da galýar, diňe şol wagt şol şahaçanyň häzirki ýagdaýy has üýtgeýär. Aralykda maglumat çeken islendik adam, entek hem işleýän nusga saklaýar.

Bu hiç zat harçlaýan däl. Ýatyrmak modele degmeýär, şonuň üçin barlag kwitletlerini ulanmaýar — giriş tokeni beýleki ähli soraglar ýaly, şol bir sorag bilen bilelikde gidýär we checkpoint baradaky hiç zat siziň öz enjabyňyzdan başga hiç ýerde saklanmaýar.

Diňe faýllar

Açylan şahalanyň (branch) ýa-da pull request-iň sanawy saklanýar we öz ýerinde galýar. Biriniň pull request-ini onuň adyndan ýapmak — bu yzyna gaýtarmak däl, beýleki adamlaryň çekip alan şahalanyny (branch) pozmak hem şonuň ýaly — eger olary aýyrmak isleseňiz, özüňiz ediň.

Repo wezipesiniň bahasy näçe?

Repo wezipesi her habar üçin alty gezek çenli model çagyryşlaryny ulanýar — seret, oka, gözle, jogap ber — her biri bellenen modeliň bahasyna görä hasaplanýar Pro bahasyDiňe hakykatdan hem ulanylan jaňlar üçin töleg alynýar, şonuň üçin bir faýldan jogap berlen soragyň bahasy adaty jogap bermek ýaly bolýar.

Programma her bir repo wezipesinden soň jemi mukdary we jaňlaryň sanyny görkezýär.

Wagt tapylmadygynda ýa-da ýer dolanda bir wezipäniň agramy artanda

Repozitoriýa wezipesi bir gezeklik jogap däl-de, döwrebap aýlawdyr: model katalogy sanap berýär, faýly okaýar, agaç şekilli gurluşy gözleýär, başga birini okaýar we diňe şondan soň ýazýar. Şol aýlawyň çäklenmesi bar — jogap beriji kreditleriň sany bilen bellenen model çagyryşlarynyň sany — sebäbi çäksiz agent çäksiz hasapdyr.

Eger bir işiň çäkleri dolýan bolsa-da, iş heniz tamamlanmadyk bolsa, Nymbot durýar, elindäki netijäni size berýär we muny size bildirýär. Goşmaça töleg alynmaz.

Siz ony dowam etdirip hem bilersiňiz. Sazlamalarda dowamlylyk býujetini belleň, şonda Nymbot wezipäniň limiti gutaranda şol balansdan täze rugsat satyn alar we amallary täzeden başdan okamak deregine, duran ýerinden dowam eder. Ol her bir tapgyry aýry-aýry geçýär, her tapgyrda nähili töleg edilendigi aýdylýar we býujet gutaranda, wezipä tamamlananda ýa-da siz "Stop" düwmesine basanyňyzda bes edýär. “Balansym gutarýança” diýen görnüşi saýlamak hem bir çäk bolup durýar — bu siz ýazan san däl-de, siziň balansyňyzdyr.

Bellik

Standart tertipde durmak we size habar bermek göz öňünde tutulýar. Siz soran jogabyňyzdan daşary hiç zat dowam etmeýär we hiç zat sarp edilmeýär, eger siz býujet bellemeseňiz.

Adatça enjeriňiz her basgançagy aýry-aýry iberýär, şonuň üçin wezipä diňe programmalyk üpjünçilik açyk wagty dowam edýär. With arkadyndaky işler işledende, serwer programma ýapyk wagty, şol bir býujet çäginde, iň köp 40 ädim we 6 sagat dowamlygynda öz-özinden indiki ädimleri iberýär we iş tamamlananda size bir gezek habar berýär. Muňa ýetmek üçin, ol iş wagtynda diňe özünde bolan açar bilen depozitir tokenini möhürläp saklaýar we iş tamamlananda, elmydama 6 sagadyň dowamynda ony pozýar. Arka tarapda işleýän taslama beýleki ähli taslamalar ýaly öz şahasynda ýazýar.

Bu bellik hakda

Bu bellik hakda

Giriş tokeni siziň enjamlaryňyzda saklanýar we olar arasynda uçuňdan-uça şifrelenen sazlamalaryňyzyň içinde senkronizirlenýär, şonuň üçin serwer diňe okap bilmeýän möhürlenen nusgasyny saklaýar. Ol bir enjamy arassalamak, her bir sorag bilen Nymbot işçisine ugradylýar we serwer tarapyndan okap bolýan görnüşde saklanmaýar ýa-da reläýlere paýlanmaýar. Serwer ony diňe bir gezek, möhürlenen ýagdaýda saklaýar, şol wagtda... arka planda işlemek gözden geçirmek üçin açylan funksiýa iň köp 6 sagat dowam edýär. Ony diňe ulanmak isleýän bir depozitariýa çäklemeli we işiňiz gutaran wagty ony üpjünçiňizden (provider) aradan aýyrmaly.

Senkronizasiýa edilýändigi sebäpli, ambar ulanýan söhbetdeşlik siz girýän her bir ençede täzeden birikdirmändigiňiz üçin işleýär. Bir ençede ambar bilen baglanyşygy kesmek beýleki ençelerde hem tokeni arassalaýar. Token hiç wagt bir serwer işletkonteýneri.