Мазмунга өтүү
Nymbot'ко кайтуу

Билим базасы Код

git репозиторийинде иштөө

Pro сиздин репозиторийлериңиздин биринде код жазуучу агент сыяктуу иштей алат — сиздин чыныгы файлдарыңызды окуу жана аларды өзгөртүү, жазуу мүмкүнчүлүгү менен.

Репозиторийди туташтыруу

?git, же Git Панелдеги чип провайдерди туташтырат: GitHub, GitLab же Gitea/Forgejo — бул Codeberg жана өзү башкарылуучу инстанцияларды камтыйт. Ал чектелген жеке кирүү токенин, репозиторийди жана тармакты (branch) алат. Репозиторий, ал... Nostr'до өзүн жарыялайт анын дареги катары жабыштырып койсо болот.

Репозиторийдин аталышын жазуунун кереги жок. Токенди жабыштырыңыз жана тандаңыз. Бул токен эмнелерге жеткиле алверин тизмектеңизNymbot токен эмнени көрө аларын билүү үчүн forge-дан суранат жана жоопту сиз текшере турган тизме катары көрсөтөт. Текшерүү ар бир элементти алдын ала толтурулган анын дефолттук бутагы (branch) менен байланыштырат жана алардын баарын бул чатка кошот. Алдын ала байланышкан нерселер кайра сунушталбастан, ошол бойдон көрсөтүлөт. Бул сурам сиздин түзмөгүңүздөн түз forge-го жөнөтүлөт — Nymbot worker аркылуу эмес — ошондуктан токен өзүнүн барган жерлеринен башка жерге баратпайт. Cross-origin сурамдарды четке каккан өзүнчө хостталган forge тизмеге кошулбайт; репозиторийди кол менен жазыңыз, калган нерселердин баары бирдей иштейт.

Кошулгандан кийин, чип репозиторийдин атын жана а менен жөнөтүлгөн билдирүүлөрдү көрсөтөт Pro модель ал тиешелүү репозиторийдин контекстинде тандалган иштөө. ?git disconnect аны жок кылат. Ажыратуу репозиторийлердин тизмесинде токенди унутат, бирок репозиторийди ал жерде калтырат, токены жок деп белгиленген абалда, ошондуктан кийин жаңысын кошсоңуз болот.

GitHub, GitLab же Gitea репозиторийи чат менен байланыштырылган Repositories модал окшоштуруусу.
Репозиторийди туташтыруу. Токен башка түзүлүштөрүңүзгө энд-ту-энд (end-to-end) коргоону менен синхрондоштурулат.

Nostr'до жарыяланган репозиторийлер

Кээ бир репозиторийлер өзүн Forge'до гана эмес, Nostr аркылуу жарыялашат, колдонуу менен NIP-34 — артындагы протокол ngit жана gitworkshop. Жарыя — бул долбоордун аталышын, анын камкорчуларын, анын патчтарын жана маселелерин чогулткан релелерди, ошондой эле аны көчүрүп алууга мүмкүн болгон URL даректерин камтыган Nostr окуясы. Экинчи окуя ар бир бутак учурда каякка багытталганын көрсөтөт.

Чаптап коюңуз naddr же а nostr:// репозиторий формасына даректи киргизиңиз жана басыңыз Издеп көр. Nymbot кулактандырууну релейлерден окуйт жана форманы толтурат: ал көчүрүлгөн git хосту, ал жердеги репозиторий жана долбоор өзү учурдагы деп айткан тармак (branch). Сиз оそれでも ал хост үчүн токенди кошосуз, анткени Nostr кулактандырууну алып жүрөт, ал эми git сервери кодду алып жүрөт.

Демек, эреже жөн гана анын кайдан көчүрүлгөндүгүн билдирет. Клондоо URL-дареги GitHub, GitLab, Gitea же Forgejo (өзү жайгаштырылган версиялары менен бирге) платформаларында болгон репозиторийди Nymbot окуй алат. Бир гана көчүрүлгөн... git:// же SSH аркылуу файлдарды окуу үчүн HTTP API жок жана Nymbot жарым-жартылай туташуунун ордуна ушуну айтат. Эгерде хост өзүнчө хосттолгон болсо, провайдер анын аталышы боюнча болжолдонот жана аны сактап жаткандан мурун оңдой аласыз.

Мындай жол менен кошулган репозиторий белгиленет ngit тизмеде жана жооптордо аны айкалыштын (айнектин) жолу менен эмес, өзүнүн жарыялаган аты менен атаңыз.

Ал эмне кыла алат

Репозиторий контекстундагы билдирүү бир жолку толуктоодон көрө кичинекей агент катары иштейт. Модель каталоглорду тизмектей алат, файлдарды окуй алат жана дарак структурасын издей алат, андан кийин тапкандарына таянып жооп берет — ошондуктан "эмне үчүн кайра аракет кылуу циклы эрте токтоп калат" деген суроого сиздин кодуңузга таянып жооп берилет, сиздин кодуңузга окшош болгон код жөнүндө болжолдоо менен эмес.

Ал сиз туташтырган бутакты анын учурдагы башкы учурунда көрөт.

менен сервер иштейт чат үчүн иштетилет, ал ошондой эле сиздин кодуңузга, мисалы, тесттерди Nymbot серверинде иштетүүнү суранышы мүмкүн. Ар бир иштетүү сиздин уруксат берүүңүздү күтөт.

Телефондогу репозиторийдик тапшырма: Nymbot катаны табат жана патчты diff түрүндө көрсөтөт.
Телефондогу репозиторийдик тапшырма, патч жана аны иштетүүгө кеткен чыгым менен.

Жазууларды күйгүзүү

?git writes on файлдарды фиксациялоо (commit), бутактарды (branches) түзүү жана pull же merge сурамдарын ачуу мүмкүнчүлүгүн кошот. Дефолттук түрдө өчүрүлгөн жана сизге керек болгонго чейин өчүрүлбөй турганы пайдалуу.

Жазуу мүмкүнчүлүктөрү ачылганда, өзгөртүү сурансаңыз, чатка чапталган патчтун ордуна сиз текшерүү үчүн бутак (branch) жана pull request аласыз: ар бир тапшырма иштейт өзүнүн өзүнчө бутагы. Эгер сиз аны өчүрбөсөңүз, сиздин дефолттук буткаңызга эч нерсе жөнөтүлбөйт, бул сиз туташтырган жана сиз суранган бутка.

Иш жүргүзүүнүн түзөтүүлөрү ар бир репозиторий үчүн бир commit катары, иш бүткөндө же модель иш бүткөнүн чечкенде кошулат. Эгер сиз аларды биринчи көрүүнү кааласаңыз, күйгүзүңүз Аткаруудан мурун сураңыз ал репозиторий үчүн. Андан кийин иштетүү анын өзгөрүүлөрүн кармап калат, жооп аларды diff катары көрсөтөт жана Колдонуу аларды жасаган учурда Чыгарып салуу аларды таштап жиберет. Колдонуу акысыз.

Ар бир тапшырма үчүн өзүнчө бранч

менен Ар бир тапшырма өзүнүн бутактарына ээ болот ар бир репозиторий үчүн күйүп турган, эгер аны өчүрбөсөңүз, өзүнүн атындагы бутакка коммиттерди жазуучу тапшырма nymbot/ жана кыска ID. Nymbot аны тапшырма өзүнүн биринчи коммитин жасаганда жумушчу бутактын (working branch) башынан түзөт, ошондуктан болгону окуучу тапшырма эч кандай бутак түзбөйт. Жумушчу бутак өзүга тийбейт, ошол себептүү бир нече тапшырма өз кезегин күтпөстөн, бир эле репозиторийге бир убакта жаза алат.

Тапшырма аткарылганда, Nymbot эмне кылат? Аяктаганда айтат. Pull request ачтыңыз бул стандарттуу; Бириктирүүнү сунуштаңыз жоопто "Merge" баскычын калтырат; Таймактан чыгуу эч нерсе кылбайт. Абалдал actually баардык параметрлер Жетештерде (Settings), төмөнкү жерде белгиленген Тапшырманын бренчи бүткөндө, жана ар бир репозиторий өзүнчө ыкма менен ар башка тандоо жүргүзө алат. Эгерде forge Nymbot колдоно турган pull request'тер үчүн API'си жок болсо же аны колдонуудан баш тартса, анда бутак (branch) өз бойдон калат жана жоопто бул тууралуу айтылат.

Жоопта төмөнкү бөлүк көрсөтүлөт PR ачуу, Кошуу жана Өчүрүү, ал эми Тапшырмалар панели аны тапшырма менен бирге тизмелейт. Тапшырма али иштеп жатканда, анын картасы, Тапшырмалар панели жана эмнелер иштеп жатканынын тизмеси түзүлөрү менен аккаунтка кирген ар бир түзүлүштө бутламды (branch) көрсөтөт. Токтотулган же ортосунда иштебей калган тапшырма дагы деле өзүнүн бутламдарын кайтарып берет, ошондуктан аны башкалар сыяктуу бирдиктөө (merge), өчүрүү же тазалоо мүмкүн. Бирдиктөө — бул forge’дун өзүнүн pull request'и аркылуу жасалган merge commit, ал Nymbot жазган commit'ке байланган, ошондуктан ошол учурда жоктугунан жөнөтүлгөн жаңы commit'тер байкабай бирдиктөөлөнбөйт. Эч качан күч менен (force-push) жөнөтүү жүргүзүлбөйт. Эгерде бутлам иш жүзүндөгү бутлам менен карама-каршы келсе, жооп төмөнкүнү сунуштайт Чечүү үчүн PR ач же Nymbotтон тармакты жаңылоону сурангыла, ал rebasing жасоонун ордуна merge commit менен жумушчу бутакты ага бириктирет. GitHub жана Gitea же Forgejo муну аткара алат; GitLab'да муну үчүн API жок, ошондуктан ал жерде сиз аны merge request'тин ичинде чечесиз.

CI жана workflow файлдарына киргизилген өзгөртүүлөр өзүнчө бутагы (branch) жок болгон учурдагыдай эле, сиздин текшерүүңүздү күтүп жатат.

Тазалоо

Сиздин түзмөгүңүз эстейт nymbot/ бул аккаунт тарабынан түзүлгөн бутактар. Ал репозиторийдеги кийинки тапшырма, же Nymbot бутактарын тазалоо репозиторийлердин тизмесинде, pull request'и бириктирилген же жабылган, же бириктире турган эч нерсе калбаган же жети күндөн ашкан бутактарды өчүрөт. Бутак Nymbot жазган commit менен гана аяктаса гана өчүрүлөт, ошондуктан кимдир бирөө ага жаңы нерсе кошкон болсо, ал өзгөртүүсүз калат жана башка эч кандай бутакка тийбейт. Ал сиздин түзүлүштөн мурда жөнөтүлгөн токен менен иштейт; сервер аны кийинчерээк аткаруу үчүн эч кандай токен сактабайт.

Иштелүүчү бутка (working branch) түз комит жасоону өчүрүңүз. Андан кийин тапшырма репозиторийди өзүнө гана ээлейт, ал эми ошол эле буткадагы экинчи тапшырма биринчиси бүткөнгө чейин аны гана окуйт. Колдондоонун эски версиялары да ушундай иштейт.

Иштетүүнүн (run) өзгөрткөн нерселерди артка кайтаруу

Сиздин репозиторийиңизге жазылган жооп эмнелерди өзгөрткөнүн айтат: репозиторийди, бутакты (branch) жана ар бир файлды. Бул өзгөртүүлөрдү жокко чыгаруу аларды кайра ортого коюшат — ошол жолдордун ар бири иштөөдөн мурунку бутак турган коммитте окулат жана кандай болсо, ошол бойдон коммиттелет. ... үстүндө иштеген тапшырма өзүнчө бир тармак жумушчу бутакты жалгыз калтырдым, ошондуктан ал жерге кайра коюacak эч нерсе жок: Өчүрүү анын бутагын алып салат өз ордуна.

Бул кайтаруу, кайра жазуу эмес. Эч нерсе өчүрүлбөйт жана тарых кайра жазылбайт: Nymbot эмне кылса, ал журналда калат, ал жөн гана бутактын учурдагы абалы болуп эсептелбейт. Ортодо жүктөө жасаган адамдардын кошумча көчүрмөлөрү дагы деле иштей берет.

Ал эч нерсеге эч нерсеге турбайт. Кайтаруу моделине тийбейт, ошондуктан ал кредиттерди коротпойт — кирүү токени калган бардык суроо-талаптар сыяктуу эле ошол бир суроо-талап менен кошо жүрөт жана контролдук чекит тууралуу эч нерсе сиздин өз түзмөгүңүздөн башка жерде сакталбайт.

Файлдар гана

Run ачкан бутак (branch) же pull request тизмеде калат жана өз ордунда калат. Башка бирөөнүн pull request'ин анын атынан жабуу — бул артка кайтуу (undo) эмес, ошондой эле башкалар жүктөп алган (fetch) бутакты өчүрүү дагы ошондой — эгер аларды жок кылгыңыз келсе, аларды өзүңүз жасаңыз.

Репозиторийдик тапшырма канча турат?

Репозиторийдик тапшырма ар бир билдирүү үчүн алтыга чейин модель чакырууларын колдонот — көрүү, окуу, издөө, жооп берүү — ар бири бекитилген модельдин Профессионалдык баасыТек гана иш жүзүндө колдонулган чалуулар үчүн төлөм алынат, ошондуктан бир файл аркылуу берилген жооптун баасы кадимки жооптун баасына жакын болот.

Тиркеме ар бир репозиторийдик тапшырмадан кийин жалпы сумманы жана чалуулардын санын билдирет.

Тапшырма үчүн орун түгөнгөндө

Репозиторий менен иштөө тапшырмасы — бул бир жолку жооп эмес, бул цикл: модель каталогду тизмектейт, файлды окуйт, дарак структурасын издейт, дагы бир файлды окуйт жана гана андан кийин жазат. Бул циклдин чектөөсү бар — жооп берүүчү кредиттер бөлүнгөн модель чакырууларынын саны — анткени чексиз агент чексиз эсепке алып келет.

Эгерде тапшырма аткарыла электе анын уруксат берилген чеги бүтүп калса, Nymbot токтоп, колдонуучуга жеткен бөлүгүн берет жана муну билдирет. Андан ары эч нерсе алынбайт.

Сиз аны улантууга да мүмкүнчүлүк бере аласыз. Жөндөөлөрдөн улантуу бюджетин белгилесеңиз, тапшырма бүткөндө Nymbot бирдей баланстын эсебинен дагы бир уруксат сатып алат жана репозиторийди башынан кайра окубай, так токтогон жерден улантат. Ал ар бир этапты өзүнчө аткарат, ар бир этап өзүнүн баасын айтат жана бюджет түгөнгөндө, тапшырма аяктаганда же сиз "Токтотуу" баскычын басканда токтолот. "Балансым түгөнгө чейин" дегенди тандоо дагы эле чектөө болуп саналат — бул сиз жазган сан эмес, сиздин балансыңыз.

Эскертүү

Стандарттык режимде токтоп, сизге билдирилет. Эгерде сиз бюджет белгилебесеңиз, эч нерсе уланбайт жана сиз сураган жооптон ашыкча эч нерсе жумшалган болбойт.

Адатта сиздин түзмөгүңүз ар бир этапты өзүнчө жөнөтөт, ошондуктан тапшырма колдонмо ачык болгондо гана уланат. фон талдоолары косөтүлгөн учурда, сервер тиркеме жабык турганда, ошол эле бюджеттин алкагында, эң көп дегенде 40 кадам жана 6 саат ичинде кийинки кадамдарды өз алдынча аткарат жана тапшырма аяктаганда сизге бир жолу билдирет. Бул үчүн ал тапшырма иштеп жатканда репозиторийдин токенин өзүндө гана бар ачкыч менен мөөрлеп сактайт жана тапшырма аяктаганда, ар дайым 6 сааттын ичинде аны өчүрүп салат. Фондук тапшырма башка тапшырмалар сыяктуу эле өзүнүн бутагына жазат.

Бул белги жөнүндө

Бул белги жөнүндө

Доступ токены сиздин түзмөктөрүңүздө сакталат жана алардын ортосунда учундан-учкача шифрленген жөндөөлөрдүн ичинде синхрондоштурулат, ошондуктан серверде ал окуй албаган мөөрлөнгөн көчөсү гана сакталат. Ал тазаланат Түзүлүштү тазалоо, ар бир сурам менен Nymbot жумушчусуна жөнөтүлөт жана сервер тараптан окула турган түрдө сакталбайт же релейлерге жарыяланбайт. Сервер аны бир гана мөөр басылган түрдө сактайт, ал эми фондо状態で иштетүү Сиз күйгүзгөн нерсе эң көп дегенде 6 саат иштеп турат. Аны колдонууну пландаган бир гана репозиторий менен чектеп, ишиңиз бүткөндөн кийин провайдериңизден аны жок кылыңыз.

Синхрондалгандыктан, репозиторийди колдонгон чат сиз кайра кошулбастан, кирген бардык түзүлүштөрдө иштейт. Бир түзүлүштө репозиторийди үзүү башкаларындагы токенди да өчүрөт. Токен эч качан... сервер иштетүүконтейнери.