सामग्री पर जाउ
Nymbot पर वापस

ज्ञान के आधार कोड

एकटा गिट भंडार मे काज करब

Pro अहाँक एकटा रिपोजिटरीक भीतर कोडिंग एजेंटक तरह सँ काम क' सकैत अछि — अहाँक वास्तविक फाइल पढ़ब, आ ओकरा लिखब आ बदलब।

एकटा रिपॉजिटरी सँ जोड़ब

?gitवा वा Git GitHub, GitLab, या Gitea/Forgejo — जे Codeberg आ सेल्फ-होस्टेड इंस्टेंस के कवर करैत अछि। एहि में एकटा स्कोपड पर्सनल एक्सेस टोकन, एकटा रिपोजिटरी आ एकटा ब्रांच चाही। एकटा रिपोजिटरी जे announces itself on Nostr एकर बदला एकर पता चिपकाइ सकैत अछि।

अहाँकें रिपॉजिटरीक नाम टाइप करबाक आवश्यकता नहि अछि। टोकन पेस्ट करू आ चुनी। एहि टोकन कें की-की प्राप्त क' सकैत अछि, ओकर सूची दियौ: Nymbot asks the forge what that token can see and shows the answer as a list you check. Checking connects each one with its default branch already filled in, and puts them all in this chat. Anything already connected is shown as such rather than offered a second time. That request goes from your device straight to the forge — not through the Nymbot worker — so the token does not travel anywhere it does not already go. A self-hosted forge that refuses cross-origin requests simply cannot be listed; type the repository in by hand and everything else works the same.

एकदेर जुड़ला कें बाद, चिप रिपोजिटरी के नाम आ एकटा सँ भेजल संदेश दिखाबैत अछि प्रो मॉडल ओहि रिपॉजिटरीक संदर्भमे चुनल गेल रन। ?git disconnect एकरा हटा दियौक। डिस्कनेक्ट करू। रिपॉजिटरी सूचीमे टोकन भूलैत अछि मुदा रिपॉजिटरीकेँ ओतऽ राखि दैत अछि, जकरा कोनो टोकनक रूपमे चिह्नित नहि कयल गेल अछि, तेँ अहाँ बादमे एकटा नव जोड़ सकैत छी।

रिपॉजिटरीज मोडल, जतय कोनो गिटहब, गिटलैब या गिटिया रिपॉजिटरी चैटसँ जुड़ल रहैत अछि।
रिपॉजिटरीकेँ जोड़ल जा रहल अछि। टोकन अहाँक आन उपकरणसँ सिंक होइत अछि, सीलबंद छोरसँ अन्त धरि।

Repositories announced on Nostr

Some repositories announce themselves on Nostr rather than only on a forge, using NIP-34 - एकर बादक प्रोटोकॉल अछि। एन. जी. आई. टी. and gitworkshop. The announcement is a Nostr event carrying the project’s name, its maintainers, the relays that collect its patches and issues, and the URLs it can be cloned from. A second event says where each branch currently points.

एकटा चिपकाउ naddr अथवा nostr:// रिपॉजिटरी फॉर्म में पता भरू आ दबाऊँ। देखू।. 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.

Which means the rule is simply where it is cloned from. A repository whose clone URL is on GitHub, GitLab, Gitea or Forgejo — self-hosted included — is one Nymbot can read. One cloned only over git:// or ssh has no HTTP API to read files through, and Nymbot says so rather than half-connecting. Where the host is self-hosted the provider is a guess from its name, and you can correct it before saving.

एना तरीका सं जोड़ल गेल रिपोजिटरी पर बैज लागल रहैत अछि एन. जी. आई. टी. सूचि में, आ उत्तर दहि ओही नाम सँ पुकारू ज}| जे ओ घोषित करैत अछि, ओकर दर्पण परक पथ सँ नहि।

ओ की कऽ सकैत अछि।

एकटा रिपॉ (repo) संदर्भमे एकटा सन्देश एकटा एकल पूर्णता (single completion) कें बजाय एकटा छोट एजेंटक रूपमे चलैत अछि। मॉडल निर्देशिका सभक सूची बना सकैत अछि, फाइल पढ़ सकैत अछि आ वृक्ष (tree) मे खोज कऽ सकैत अछि, तखन जे अहाँक कोड मे वास्तवमे जे भेटल अछि ओकर प्रयोग कऽ कऽ उत्तर दऽ सकैत अछि — तकर अर्थ अछि जे "रिट्राय लूप (retry loop) समय सं पहिने कियाकए समाप्त भ' जाइत अछि" एहिना उत्तर अहाँक कोड सं मिलत, नहि जे अहाँक कोड जकां देखाइत कोनो कोडक अनुमान सं।

ई अपन वर्तमान शीर्ष पर ओहि शाखाकेँ देखैत अछि जकरा अहाँ जोड़लहुँ।

संग-संग सर्वर चलैत अछि। turned on for the chat, it can also ask to run a command against your code, such as the tests, on a Nymbot server. Every run waits for you to allow it.

A repository task on a phone: Nymbot finds a bug and shows the patch as a diff.
फोन पर एकटा रेपो टास्क, पैच आ रन के लागत के संग।

राइट्स ऑन कय रहल छी

?git writes on फाइल सब के कमिट करब, ब्रांच बनाब आ पुल अथवा मर्ज रिक्वेस्ट खोलबक क्षमता जोड़ैत अछि। डिफ़ॉल्ट रूप सँ बंद रहैत अछि, आ जब धरि अहाँ चाहैत नहि छी, तखन धरि एकरा बंद राखबहुँ नीक अछि।

राइट्स ऑन राखला कें, परिवर्तनक लेल कहू त अहाँक पास एकटा ब्रांच आ समीक्षा लेल पुल रिक्वेस्ट भेटत, न कि चैट मे पेस्ट कएल गेल पैच: प्रत्येक कार्य एहि पर काम करैत अछि अपन एकटा शाखा. जब धरि अहाँ ओकरा बंद नहि करैत छी, अहाँक डिफॉल्ट ब्रांच में किछुओ पुश कोनाह, ओही शाखा अहाँ जुड़ल छी आ अहाँ ओहि कें मांगल छलहुँ।

एकटा रन के संपादन प्रति रिपॉजिटरी एकटा कमिट के रूप मे जाय छै, रन के अंत मे या जखन मॉडल निर्णय लैत छै कि कोनो काज पूरा भऽ गेल छै। अगर अहाँ ओकरा पहिने देखब चाहय छी तऽ चालू कऽ दियौक। प्रतिबद्ध करै सं पहिले पुछब ओ रिपॉजिटरी लेल। ओकर बाद रन ओकर परिवर्तन केँ रोकि द' दैत अछि, उत्तर ओकरा 'डिफ' (diff) क रूप में देखौबाक अछि, आ आवेदन करू। ओकरा प्रतिबद्ध करैत अछि जखन कि फेकू। ओकरा दूर फेकल दैत अछि। आवेदन करबा मे कोनो खर्च नहि अबैत अछि।

प्रत्येक काजक लेल एकटा शाखा।

संग-संग प्रत्येक काजकेँ अपन शाखा भेटैत अछि। चालू अछि, जे प्रत्येक भंडारक लेल अछि जखन धरि अहाँ एकरा बंद नहि करैत छी, एकटा काज जे लिखैत अछि ओ अपन एकटा शाखाक लेल प्रतिबद्ध अछि, जकर नाम देल गेल अछि। nymbot/ and a short id. Nymbot makes it from the head of the working branch when the task makes its first commit, so a task that only reads makes no branch at all. The working branch itself is not touched, which is why several tasks can write to the same repository at once instead of waiting their turn.

जखन काज पूरा भ जाएत अछि, तखन Nymbot की करैत अछि कखन कयल गेल। कहैत छथि। एकटा पुल अनुरोध खोलू। ई डिफॉल्ट अछि; एकटा संयोजनक प्रस्ताव दियौ जवाब पर मर्ज बटन छोड़ि दैत अछि। शाखा सँ निकलि जाउ आबहुँ किछु नै करैत अछि। डिफ़ॉल्ट सेटिंग्स में सेट कएल गेल अछि, अहाँक beneath जखन कोनो कार्यक शाखा पूरा भऽ जाइत अछि।, and each repository can choose differently in its own form. If the forge has no API for pull requests Nymbot can use, or it refuses one, the branch is left as it is and the reply says so.

जवाब ओहि शाखा केँ देखा रहल अछि जेकरा सँ PR खोलू, समेकन आओर मिटाउ, आ टास्क पेन (Tasks pane) एकरा टास्कक संगे सूचीबद्ध करैत अछि। जब तक टास्क चलि रहल अछि, ओकर कार्ड, टास्क पेन आ चलैत कार्यक सूची, खाता (account) सँ जुड़ल प्रत्येक डिवाइस पर ब्रांचक निर्माण हुअएते ही ओकर नाम बता दैत अछि। जे टास्क रुक जाइत अछि वा बीच में विफल भ' जाइत अछि, ओ सेहो अपन ब्रांच वापस दै दैत अछि, ताकि ओकर मेर्ज (merge), विलोपन वा सफाइ कएल जा सकय, जखन कि कोनो दोसर टास्कक लागल हो। मेर्ज, Forgeक अपन पुल रिक्वेस्ट (pull request) द्वारा एकटा मेर्ज कमिट (merge commit) अछि, जे Nymbot द्वारा रिकॉर्ड कएल कमिट सँ जुड़ल अछि, ताकि ओहि बीच में ओहि स्थान पर पुश कएल गेल नव कमिट बिना देखल मेर्ज नहि हो। कोनो चीज केहो फोर्स-पुश (force-push) नहि कएल जाइत अछि। यदि ब्रांच, वर्किंग ब्रांच (working branch) सँ टकराइत अछि, तँ उत्तर प्रस्ताव दैत अछि सुलझाएक लेल PR खोलू अथवा Nymbot सँ ब्रान्च अपडेट करबाक लेल कहू, जे रिबेस कय कें नी के मर्ज़ कमिट कें सं वर्किंग ब्रांच कें ओहि में विलीन क' देइत अछि। GitHub आ Gitea वा Forgejo ई क' सकैत अछि; GitLab क पास एकर लेल कोनो API नहि अछि, तहिना ओहि जगह अहाँ के मर्ज़ रिक्वेस्ट (merge request) में एकरा हल करय पड़त।

CI आ वर्कफ्लो फाइल भे बदलाव अहाँक समीक्षाक प्रतीक्षा क' रहल अछि, जँ ओ अपन कोनो शाखा बिना हो।

सफ़ाई कयब

अहाँक उपकरण ई याद राखैत अछि nymbot/ एहि खातामे कयल गेल शाखा। ओहि भंडार पर अगिला कार्य, अथवा Nymbot शाखा सब के साफ क' दियौ रिपोजिटरी सूची में, एह ओकर डिलीट क' दैत अछि जेकर पुल रिक्वेस्ट मर्ज भ' गेल अछि वा बंद क' गेल अछि, वा जे सात दिनकें पुरान अछि आ जेकरा मर्ज करबा लेल किछु शेष नहि अछि। एकटा ब्रांच तखनहि डिलीट कएल जाइत अछि जखन ओ ओहि कमिट पर समाप्त होइत अछि जेकरा Nymbot रिकॉर्ड क' रहल छल, ताहि सँ जेकर ककरो द्वारा कछू पुश कएल गेल अछि ओ तनी नहि छतिक अछि, आ कोनो दोसर ब्रांच केँ कहियो हाथ नहि लगल जाएत अछि। ई अहाँक डिवाइस सँ ओहि टोकन सँ चलैत अछि जे ओ पहिलै सँ भेजैत अछि; सर्वर बाद में करबा लेल कोनो टोकन सुरक्षित नहि राखैत अछि।

वर्किंग ब्रांच में सीधे कमिट करय वाला विकल्प के बंद क' दियौ। एकरा सँ एकटा टास्क के रिपॉजिटरी पर अपन अधिकार मिलि जाएत, आ ओही ब्रांच पर दोसर टास्क तब धरि ओकरा पढ़त जखन धरि पहिल टास्क पूरा नहि भ' जाइत। ऐपक पुरान वर्जन सेहो एहिना काम करैत छथि।

एकटा रन की बदलि गेल ओकरा पूर्ववत करू।

अहाँक रिपॉजिटरीकेँ लिखल जवाबमे कहल गेल अछि जे ओ की स्पर्श कयलकः रिपॉजिटरी, शाखा, आ प्रत्येक फाइल। एहि परिवर्तनसभकेँ पूर्ववत करू। ओकरा वापस राखि दैत अछि-ओहिमे सँ प्रत्येक पथ केँ ओहि कमिट पर पढ़ल जाइत अछि जाहि पर शाखा दौड़य सँ पहिने ठाढ़ भऽ गेल छल आ प्रतिबद्ध छल। एकटा काज जे काज कऽ रहल छल। एकटा अपन शाखा वर्किंग ब्रांच केँ अकेला छोड़ि देलहुँ, ताहि सँ ओतय वापस राखबाक लेल किछु नै अछि: मिटाउ ओकर शाखा हटा देत अछि ओकरा सं।

That is a revert, not a rewrite. Nothing is erased and no history is rewritten: what Nymbot did stays in the log, it is simply no longer the state of the branch. Anyone who pulled in between keeps a checkout that still works.

एकर लागत किछु नहि अछि। पूर्ववत करबामे कोनो मॉडल स्पर्श नहि करैत अछि, तेँ ई कोनो क्रेडिट खर्च नहि करैत अछि-अभिगम टोकन ओहि अनुरोधक सङ्ग यात्रा करैत अछि जेना ई एक दोसराक सङ्ग करैत अछि, आ चेकप्वाइंटक विषयमे अहाँक अपन उपकरणक अतिरिक्त आन ठाम किछु नहि राखल जाइत अछि।

मात्र फाइलसभ

एकटा शाखा वा पुल अनुरोध जे रन खोलल गेल अछि ओकरा सूचीबद्ध कयल जाइत अछि आ छोड़ि देल जाइत अछि। ओकर दिससँ कोनोक पुल अनुरोधकेँ बंद करब पूर्ववत करब नहि अछि, आ दोसर लोकसभ द्वारा आनल गेल शाखाकेँ हटा देबऽ सेहो नहि अछि-यदि अहाँ चाहैत छी जे ओ सभ चलि जाय तँ स्वयं करू।

एकटा रेपो काजमे कतेक खर्च होइत अछि।

एकटा रेपो टास्क एकटा मैसेज में छौ तक मॉडल कॉल के उपयोग करैत अछि — देखब, पढ़ब, खोजब, उत्तर दयब — प्रत्येकटा पिन कएल गेल मॉडल के दर पर बिल कएल जाइत अछि प्रो मूल्यकेबल ओहि कॉलक शुल्क लेल भुगतान कएल जाइत अछि जे वास्तव में प्रयोग कएल गेल अछि, तहिना एकटा फाइल सं उत्तर देबक लागत ओहिना अछि जतेक एकटा सामान्य उत्तरक लागत होइत अछि।

एप प्रत्येक रेपो कार्यक बाद कुल आ कॉलक सङ्ख्याक विवरण दैत अछि।

जखन कोनो काज खतम भऽ जाइत अछि।

एकटा रिपॉजिटरी टास्क एकटा लूप अछि, एकटा एकल उत्तर नहि: मॉडल एकटा डायरेक्टरी केँ सूचीबद्ध करैत अछि, एकटा फ़ाइल पढ़ैत अछि, ट्री में खोजैत अछि, दोसर पढ़ैत अछि, आ ओकर बाद मात्र लिखैत अछि। ओहि लूपक एकटा सीमा अछि — मॉडल कॉल केँ संख्या जे उत्तर क क्रेडिट सुरक्षित राखैत अछि — कियाक तँ एकटा असीमित एजेंट एकटा असीमित बिल होइत अछि।

When a task uses its allowance with work still to do, Nymbot stops, gives you what it has, and says so. Nothing further is charged.

You can also let it carry on. Set a continuation budget in Settings and Nymbot buys another allowance from the same balance when a task runs out, picking up exactly where it stopped rather than re-reading the repository from the beginning. It goes one leg at a time, each leg saying what it cost, and stops the moment the budget is spent, the task is finished, or you press Stop. Choosing “until my balance runs out” is still a ceiling — it is your balance rather than a number you typed.

नोट

पूर्वनिर्धारित बात ई अछि जे रुकब आ अहाँकेँ बता देब। किछु नहि चलैत अछि, आ अहाँ जे उत्तर माँगि रहल छी ओकर अतिरिक्त किछु नहि खर्च कयल जाइत अछि, जाबत धरि अहाँ बजट निर्धारित नहि कयने छी।

सामान्यतः अहाँक उपकरण प्रत्येक पैर पठाबैत अछि, तेँ एकटा कार्य तखनि धरि चलैत अछि जखन ऐप खुला रहैत अछि। पृष्ठभूमि संचलन जखन चालू भ'एला, सर्वर आगा लेल legs स्वयं भेजैत अछि जखन ऐप बंद रहैत अछि, ओही बजटक भीतर, जादा सँ ४० legs आ ६ घण्टा, आ कार्य समाप्त भ'एला पर एक बेर अहाँक जानकारी दैत अछि। एहि लेल ई रिपोजिटरी टोकन केँ एकटा की (key) सँ सील क' क' रखैत अछि जे मात्र ई स्वयं क' पास राखैत अछि जखन कार्य चलैत अछि, आ कार्य समाप्त भ'एला पर आ हमेशा ६ घण्टाक भीतर एकरा मिटा दैत अछि। एकटा बैकग्राउंड टास्क दोसर कार्यक सन अपने स्वयंक ब्रांच में लिखैत अछि।

ओहि टोकन के बारे मे

ओहि टोकन के बारे मे

अभिगम टोकन अहाँक उपकरण पर राखल जाइत अछि आ अहाँक एंड-टू-एंड एन्क्रिप्टेड सेटिंग्सक भीतर ओकर बीच समन्वयित होइत अछि, ताहि लेल सर्वर मात्र एकटा सीलबंद प्रतिलिपि धारण करैत अछि जकरा ओ पढ़ नहि सकैत अछि। एकरा एकटा उपकरण द्वारा मिटा देल जाइत अछि। डिभाइस मिटाबना, प्रत्येक अनुरोधक संगे Nymbot कार्यकर्ता कें यात्रा करैत अछि, आ एकरा कखनो सेहो सर्वर-साइड पर पठनीय रूप सँ सँभा क' राखल नै जाइत अछि वा रिले (relays) पर प्रकाशित नै कएल जाइत अछि। एकमात्र समय जखन सर्वर एकरा राखैत अछि, से मुहरबंद रूप में होइत अछि, जबकि एक... पृष्ठभूमि चलाउ। जे अहाँ चालू कएली, ओ अधिकतम ६ घण्टा लेल चलत। एकरा मात्र ओही एकटा रिपॉजिटरी तक सीमित राखू जे अहाँ प्रयोग करय चाहैत छी, आ काम पूरा भ' गेल पर अपन प्रोवाइडर कतय ओकरा रद्द क' दियौ।

कतेखिन जे ई सिंक होइत अछि, रिपॉजिटरी के प्रयोग करैत चैट ओहि प्रत्येक डिवाइस पर काम करैत अछि जतय अहाँ साइन इन करैत छी बिना फेर सँ कनेक्ट कएल। एकटा डिवाइस पर रिपॉजिटरी के डिस्कनेक्ट कएला सँ दोसर सभ पर सेहो टोकन क्लियर भ' जाइत अछि। टोकन कखनो आ... सर्वर चला रहल अछि।पात्रक।