కంటెంట్‌కి దాటవేయండి
తిరిగి Nymbot కి

నాలెడ్జ్ బేస్ కోడ్

git రిపోజిటరీలో పని చేస్తోంది

ప్రో మీ రిపోజిటరీలలో ఒకదానిలో ఒక కోడింగ్ ఏజెంట్ చేసే విధంగా పని చేయవచ్చు-మీ అసలు ఫైళ్ళను చదవడం మరియు వ్రాస్తూ, వాటిని మార్చడం.

రిపోజిటరీని కనెక్ట్ చేయడం

?git, లేదా గిట్ టూల్ బార్లోని చిప్, ప్రొవైడర్ను కనెక్ట్ చేస్తుందిః గిట్హబ్, గిట్లాబ్, లేదా గిటియా/ఫోర్జెజో-ఇది కోడ్బర్గ్ మరియు స్వీయ-హోస్ట్ చేసిన సందర్భాలను కవర్ చేస్తుంది. దీనికి వ్యక్తిగత ప్రాప్యత టోకెన్, రిపోజిటరీ మరియు శాఖ అవసరం. announces itself on Nostr బదులుగా దాని చిరునామాగా అతికించవచ్చు.

మీరు రిపోజిటరీ పేరును టైప్ చేయనవసరం లేదు. టోకెన్‌ను పేస్ట్ చేసి ఎంచుకోండి ఈ టోకెన్ దేనికి చేరుకోగలదో జాబితా చేయండిNymbot: ఆ టోకెన్ ఏమి చూడగలదో ఫోర్జ్ను అడుగుతుంది మరియు మీరు తనిఖీ చేసిన జాబితాగా సమాధానాన్ని చూపుతుంది. తనిఖీ చేయడం ప్రతి ఒక్కటి ఇప్పటికే నింపిన డిఫాల్ట్ శాఖతో అనుసంధానిస్తుంది మరియు వాటన్నింటినీ ఈ చాట్లో ఉంచుతుంది. ఇప్పటికే అనుసంధానించబడిన ఏదైనా రెండవసారి అందించే బదులు చూపబడుతుంది. ఆ అభ్యర్థన మీ పరికరం నుండి నేరుగా ఫోర్జ్ కి వెళుతుంది-నిమ్బోట్ వర్కర్ ద్వారా కాదు-కాబట్టి టోకెన్ ఇప్పటికే వెళ్ళని చోటికి ప్రయాణించదు. క్రాస్-ఆరిజిన్ అభ్యర్థనలను తిరస్కరించే స్వీయ-హోస్ట్ చేసిన ఫోర్జ్ను జాబితా చేయలేము; రిపోజిటరీని చేతితో టైప్ చేయండి మరియు మిగతావన్నీ ఒకే విధంగా పనిచేస్తాయి.

కనెక్ట్ చేసిన తర్వాత, చిప్ రిపోజిటరీ పేరును చూపుతుంది, మరియు సందేశాలు పంపబడతాయి ప్రో మోడల్ ఆ రిపోజిటరీ సందర్భంలో ఎంపిక చేయబడిన రన్. ?git disconnect దాన్ని తొలగించండి. విడదీయండి రిపోజిటరీ జాబితాలో టోకెన్ను మర్చిపోతుంది కానీ రిపోజిటరీని అక్కడ ఉంచుతుంది, టోకెన్ లేదని గుర్తించబడింది, కాబట్టి మీరు తరువాత క్రొత్తదాన్ని జోడించవచ్చు.

రిపోజిటరీస్ మోడల్, ఇక్కడ గిట్హబ్, గిట్లాబ్ లేదా గిటియా రిపోజిటరీ చాట్కు అనుసంధానించబడి ఉంటుంది.
రిపోజిటరీని అనుసంధానిస్తోంది. టోకెన్ మీ ఇతర పరికరాలకు సమకాలీకరిస్తుంది, ముగింపు నుండి ముగింపు వరకు మూసివేయబడుతుంది.

Nostr లో ప్రకటించిన రిపోజిటరీలు

కొన్ని రిపోజిటరీల వారు కేవలం ఫోర్జ్ (forge) పైనే కాకుండా Nostr ద్వారా కూడా తమను తాము ప్రకటిస్తున్నాయి, దీని కోసం ఉపయోగించేది NIP-34 — వెనుక ఉన్న ప్రోటోకాల్ ngit మరియు gitworkshop. ఈ ప్రకటన అనేది ప్రాజెక్ట్ పేరు, దాని నిర్వహణదారులు, దాని ప్యాచ్‌లు మరియు ఇష్యూలను సేకరించే రిలేలు, మరియు దానిని క్లోన్ చేయగల URLs ను కలిగి ఉన్న ఒక Nostr ఈవెంట్. రెండవ ఈవెంట్ ప్రతి బ్రాంచ్ ప్రస్తుతం ఎక్కడ ఉందో చెబుతుంది.

అంటించండి naddr లేదా ఒక nostr:// రిపోజిటరీ ఫారమ్‌లోకి అడ్రస్‌ను నమోదు చేయండి మరియు నొక్కండి చూస్తూ ఉండండి.. Nymbot రిలేల నుండి ప్రకటనను చదివి ఫారమ్‌ను నింపుతుంది: అది క్లోన్ చేయబడిన git హోస్ట్, అక్కడ ఉన్న రిపోజిటరీ, మరియు ప్రాజెక్ట్ స్వయంగా ప్రస్తుతమైనదని తెలిపే బ్రాంచ్. మీరు ఇంకా ఆ హోస్ట్ కోసం ఒక టోకెన్‌ను జోడిస్తారు, ఎందుకంటే ప్రకటనను Nostr మోస్తుంది మరియు కోడ్‌ను git సర్వర్ మోస్తుంది.

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:// లేదా ఫైల్‌లను చదవడానికి ssh కి HTTP API లేదు, మరియు Nymbot సగం కనెక్ట్ అవ్వడం కంటే అది లేదని చెబుతుంది. హోస్ట్ అనేది సెల్ఫ్-హోస్టెడ్ అయినప్పుడు, దాని పేరును బట్టి ప్రొవైడర్ ఎవరో ఊహించబడుతుంది, మరియు మీరు సేవ్ చేసే ముందు దానిని సరిదిద్దవచ్చు.

ఈ విధంగా జోడించిన రిపోజిటరీ బ్యాడ్జ్ చేయబడింది ngit జాబితాలో, మరియు సమాధానాలలో దానిని అద్దంపై ఉన్న దాని మార్గం ద్వారా కాకుండా, అది ప్రకటించే పేరుతో పిలవండి.

అది ఏమి చేయగలదు

repo సందర్భంలో ఒక సందేశం deenekura single completion లా కాకుండా ఒక చిన్న ఏజెంట్‌లా పనిచేస్తుంది. ఈ మోడల్ డైరెక్టరీలను జాబితా చేయగలదు, ఫైళ్లను చదవగలదు మరియు ట్రీని శోధించగలదు, ఆపై అది నిజంగా కనుగొన్న దాని ఆధారంగా సమాధానం ఇవ్వగలదు — కాబట్టి "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 ఫైళ్ళను సమర్పించే సామర్థ్యాన్ని జోడిస్తుంది, శాఖలను సృష్టించి, పుల్ లేదా విలీనం అభ్యర్థనలను తెరవండి. అప్రమేయంగా ఆఫ్, మరియు మీకు కావలసినంత వరకు వదిలివేయడం విలువ.

వ్రాసేటప్పుడు, మార్పు కోసం అడగండి మరియు మీరు చాట్లో అతికించిన ప్యాచ్ కంటే సమీక్షించడానికి ఒక శాఖ మరియు పుల్ అభ్యర్థనను పొందుతారుః ప్రతి పని పనిచేస్తుంది దాని స్వంత శాఖమీరు దానిని ఆపివేస్తే తప్ప మీ డిఫాల్ట్ శాఖకు ఏమీ నెట్టబడదు, అది మీరు కనెక్ట్ చేసిన శాఖ, మరియు మీరు దాని కోసం అడిగారు.

ఒక పరుగు యొక్క సవరణలు ప్రతి రిపోజిటరీకి ఒక కమిట్గా వెళతాయి, పరుగు ముగింపులో లేదా మోడల్ ఒక పని పూర్తయిందని నిర్ణయించినప్పుడు. మీరు మొదట వాటిని చూడాలనుకుంటే, ఆన్ చేయండి. కట్టుబడి ఉండటానికి ముందు అడగండి ఆ రిపోజిటరీ కోసం. రన్ అప్పుడు దాని మార్పులను తిరిగి ఉంచుతుంది, సమాధానం వాటిని డిఫెన్స్గా చూపిస్తుంది, మరియు దరఖాస్తు చేయండి వారికి కట్టుబడి ఉండగా పారవేయండి. వాటిని విసిరేయండి. దరఖాస్తు చేయడానికి ఏమీ ఖర్చు కాదు.

ప్రతి పనికి ఒక శాఖ

తో. ప్రతి పనికి దాని స్వంత శాఖ ఉంటుంది. ఆన్, ఇది మీరు ఆపివేస్తే తప్ప ప్రతి రిపోజిటరీకి, వ్రాసే పని దాని స్వంత శాఖకు కట్టుబడి ఉంటుంది, పేరు 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.

When the task is done, Nymbot does what పూర్తయినప్పుడు అంటున్నాడు. ఒక పుల్ రిక్వెస్ట్ (pull request) తెరవండి డిఫాల్ట్; విలీనాన్ని అందించండి సమాధానంపై విలీనం బటన్ను వదిలివేస్తుంది; శాఖను వదిలివేయండి ఇంకేమీ చేయదు. డిఫాల్ట్ సెట్టింగులలో సెట్ చేయబడింది, క్రింద ఒక పని యొక్క శాఖ పూర్తయినప్పుడు, 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.

సమాధానం శాఖను చూపిస్తుంది పిఆర్ తెరవండి, విలీనం చేయండి. మరియు తొలగించు, and the Tasks pane lists it with the task. While the task is still running, its card, the Tasks pane and the list of what is running name the branch as soon as it exists, on every device signed in to the account. A task that is stopped or fails part-way still hands its branch back, so it can be merged, deleted or cleaned up like any other. A merge is a merge commit through the forge’s own pull request, pinned to the commit Nymbot recorded, so new commits pushed there in the meantime are never merged unseen. Nothing is ever force-pushed. If the branch conflicts with the working branch, the reply offers పరిష్కరించడానికి పిఆర్ తెరవండి లేదా Ask Nymbot to update the branch, ఇది పని చేసే శాఖను రీబేసింగ్ కాకుండా విలీనం కమిట్తో విలీనం చేస్తుంది. గిట్హబ్ మరియు గిటియా లేదా ఫోర్జెజో అలా చేయగలరు; గిట్లాబ్కు దాని కోసం API లేదు, కాబట్టి అక్కడ మీరు దానిని విలీనం అభ్యర్థనలో పరిష్కరించండి.

CI మరియు వర్క్ఫ్లో ఫైళ్ళకు మార్పులు ఇప్పటికీ మీ సమీక్ష కోసం వేచి ఉన్నాయి, అవి వాటి స్వంత శాఖ లేకుండా చేసినట్లే.

శుభ్రం చేయడం

మీ పరికరం గుర్తుంచుకుంటుంది nymbot/ ఈ ఖాతా చేసిన శాఖలు. ఆ రిపోజిటరీలో తదుపరి పని, లేదా Clean up Nymbot branches in the repository list, deletes the ones whose pull request is merged or closed, or that are seven days old with nothing left to merge. A branch is only deleted if it still ends at the commit Nymbot recorded, so one somebody has pushed to since is left alone, and no other branch is ever touched. It runs from your device with the token it already sends; the server keeps no token to do it later.

పని చేసే శాఖకు నేరుగా కట్టుబడి ఉండటానికి ఎంపికను ఆపివేయండి. అప్పుడు ఒక పనికి రిపోజిటరీ ఉంటుంది, అదే శాఖలోని రెండవది మొదటిది పూర్తయ్యే వరకు మాత్రమే దానిని చదువుతుంది. అనువర్తనం యొక్క పాత సంస్కరణలు కూడా ఆ విధంగా పనిచేస్తాయి.

ఒక పరుగు ఎలా మారిందో దాన్ని రద్దు చేయడం

మీ రిపోజిటరీకి వ్రాసిన ఒక సమాధానం అది దేనిని తాకిందో చెబుతుంది: రిపోజిటరీ, బ్రాంచ్, మరియు ప్రతి ఫైల్. ఈ మార్పులను రద్దు చేయండి వాటిని తిరిగి ఉంచుతుంది-ఆ మార్గాలలో ప్రతి ఒక్కటి కమిట్ వద్ద చదవబడుతుంది, బ్రాంచ్ పరుగెత్తడానికి ముందు నిలబడి, అలాగే కట్టుబడి ఉంటుంది. దాని స్వంత శాఖ పని చేసే శాఖను ఒంటరిగా వదిలివేసారు, కాబట్టి తిరిగి ఉంచడానికి ఏమీ లేదుః తొలగించు బదులుగా దాని కొమ్మను తొలగిస్తుంది.

అది ఒక రివర్ట్ (revert), రీరైట్ (rewrite) కాదు. ఏదీ తుడిచివేయబడదు మరియు చరిత్ర మళ్ళీ వ్రాయబడదు: Nymbot ఏమి చేసిందో అది లాగ్‌లో ఉంటుంది, అది కేవలం బ్రాంచ్ యొక్క స్థితిగా ఇక ఉండదు. ఆ మధ్యలో ఎవరైనా పుల్ (pull) చేసుకున్న వారు ఇంకా పనిచేసే చెక్‌అవుట్‌ను కలిగి ఉంటారు.

దీని వల్ల ఎటువంటి ఖర్చు ఉండదు. అన్‌డూ చేయడం వల్ల మోడల్‌పై ఎటువంటి ప్రభావం ఉండదు, కాబట్టి ఎటువంటి క్రెడిట్‌లు ఖర్చు అవ్వవు — యాక్సెస్ టోకెన్ ప్రతి అభ్యర్థనతో పాటు ప్రయాణించినట్లే ఈ ఒక్క అభ్యర్థనతో కూడా ప్రయాణిస్తుంది, మరియు చెక్‌పాయింట్ గురించి ఏదీ మీ స్వంత పరికరం తప్ప మరెక్కడా నిల్వ చేయబడదు.

ఫైళ్లు మాత్రమే

ఓపెన్ చేసిన బ్రాంచ్ లేదా పుల్ రిక్వెస్ట్ జాబితాలో ఉన్న చోటే ఉంటుంది. ఎవరిదైనా పుల్ రిక్వెస్ట్‌ను వారి తరపున క్లోజ్ చేయడం అనేది వెనక్కి తీసుకోవడం కాదు, మరియు ఇతరులు ఫెచ్ చేసిన బ్రాంచ్‌ను డిలీట్ చేయడం కూడా కాదు — వాటిని తొలగించాలనుకుంటే మీరే స్వయంగా చేయండి.

రెపో పనికి ఎంత ఖర్చు అవుతుంది

ఒక రెపో టాస్క్ ప్రతి సందేశానికి ఆరు మోడల్ కాల్స్ వరకు ఉపయోగిస్తుంది-చూడండి, చదవండి, శోధించండి, సమాధానం ఇవ్వండి-పిన్ చేయబడిన మోడల్ వద్ద ప్రతి బిల్లు. ప్రో ధరనిజంగా ఉపయోగించిన కాల్స్ కోసం మాత్రమే ఛార్జ్ చేయబడతాయి, కాబట్టి ఒక ఫైల్ నుండి సమాధానం ఇవ్వడం అనేది ఒక సాధారణ రిప్లైకి ఎంత ఖర్చవుతుందో దాదాపు అంతే ఖర్చు అవుతుంది.

అనువర్తనం ప్రతి రెపో టాస్క్ తర్వాత మొత్తం మరియు కాల్స్ సంఖ్యను నివేదిస్తుంది.

ఒక పనికి తగినంత స్థలం లేనప్పుడు

ఒక రిపోజిటరీ టాస్క్ అనేది ఒక లూప్, అది ఒకే సమాధానం కాదు: మోడల్ ఒక డైరెక్టరీని జాబితా చేస్తుంది, ఒక ఫైల్‌ను చదువుతుంది, ట్రీని వెతుకుతుంది, మరొక దానిని చదువుతుంది, మరియు అప్పుడే వ్రాయడం చేస్తుంది. ఆ లూప్‌కు ఒక అనుమతి ఉంటుంది — రిప్లై రిజర్వ్ చేసిన క్రెడిట్‌ల కోసం మోడల్ కాల్స్ యొక్క సంఖ్య — ఎందుకంటే పరిమితి లేని ఏజెంట్ అంటే పరిమితి లేని బిల్లు.

ఒక పని ఇంకా పూర్తి కాకుండానే దాని అనుమతి పరిమితిని ఉపయోగించినప్పుడు, Nymbot ఆగిపోతుంది, దాని వద్ద ఉన్న దానిని మీకు అందిస్తుంది మరియు అలా జరిగిందని చెబుతుంది. అంతకంటే ఎక్కువ ఏదీ ఛార్జ్ చేయబడదు.

దీనిని కొనసాగనివ్వవచ్చు కూడా. Settingsలో continuation budgetని సెట్ చేస్తే, ఒక టాస్క్ అయిపోయినప్పుడు Nymbot అదే బ్యాలెన్స్ నుండి మరొక allowanceని కొనుగోలు చేస్తుంది. ఇది రిపోజిటరీని మొదటి నుండి మళ్ళీ చదవడానికి బదులుగా, సరిగ్గా ఎక్కడ ఆగిపోయిందో అక్కడి నుండే కొనసాగిస్తుంది. ఇది ఒక్కో దశలోనూ (one leg at a time) ముందుకు వెళ్తుంది, ప్రతి దశలో ఎంత ఖర్చయిందో తెలియజేస్తుంది, మరియు బడ్జెట్ అయిపోయినప్పుడు, టాస్క్ పూర్తయినప్పుడు, లేదా మీరు Stop నొక్కినప్పుడు వెంటనే ఆగిపోతుంది. “until my balance runs out”ని ఎంచుకోవడం అనేది కూడా ఒక పరిమితిగానే ఉంటుంది — అది మీరు టైప్ చేసిన సంఖ్య కంటే మీ బ్యాలెన్స్‌పై ఆధారపడి ఉంటుంది.

గమనిక

డిఫాల్ట్‌గా ఇది ఆగిపోయి మీకు తెలియజేస్తుంది. మీరు బడ్జెట్‌ను సెట్ చేయనంత వరకు, మీరు అడిగిన సమాధానం తర్వాత మరేదీ కొనసాగదు మరియు మరేమీ ఖర్చు అవ్వదు.

సాధారణంగా మీ పరికరం ప్రతి కాలును పంపుతుంది, కాబట్టి అనువర్తనం తెరిచినప్పుడు మాత్రమే ఒక పని కొనసాగుతుంది. బ్యాక్గ్రౌండ్ రన్లు ఆన్ చేసినప్పుడు, సర్వర్ అనువర్తనం మూసివేయబడినప్పుడు, అదే బడ్జెట్లో, గరిష్టంగా 40 అడుగులు మరియు 6 గంటల వ్యవధిలో తదుపరి కాళ్లను పంపుతుంది, మరియు పని పూర్తయినప్పుడు ఒకసారి మీకు తెలియజేస్తుంది. అలా చేయడానికి ఇది రిపోజిటరీ టోకెన్ను ఒక కీతో మూసివేసి ఉంచుతుంది, ఇది పని పని చేస్తున్నప్పుడు మాత్రమే ఉంచుతుంది, మరియు పని ముగిసినప్పుడు ఎల్లప్పుడూ 6 గంటలలోపు తొలగిస్తుంది. నేపథ్య పని ఇతర పనిలాగే దాని స్వంత శాఖకు వ్రాస్తుంది.

ఆ టోకెన్ గురించి

ఆ టోకెన్ గురించి

యాక్సెస్ టోకెన్ మీ పరికరాల్లో ఉంచబడుతుంది మరియు మీ ఎండ్-టు-ఎండ్ ఎన్క్రిప్టెడ్ సెట్టింగుల లోపల వాటి మధ్య సమకాలీకరించబడుతుంది, కాబట్టి సర్వర్ చదవలేని సీల్డ్ కాపీని మాత్రమే కలిగి ఉంటుంది. పరికరాన్ని తుడిచివేయండి, travels to the Nymbot worker with each request, and is never stored readable server-side or published to relays. The only time the server keeps it is sealed, while a నేపథ్యంలో రన్ చేయండి మీరు ఆన్ చేస్తే గరిష్టంగా 6 గంటలు పనిచేస్తుంది. మీరు ఉపయోగించాలనుకుంటున్న ఒక రిపోజిటరీకి దాన్ని విస్తరించండి మరియు మీరు పూర్తి చేసిన తర్వాత మీ ప్రొవైడర్ వద్ద దాన్ని ఉపసంహరించుకోండి.

ఇది సమకాలీకరించినందున, రిపోజిటరీని ఉపయోగించే చాట్ మీరు సైన్ ఇన్ చేసిన ప్రతి పరికరంలో మళ్లీ కనెక్ట్ చేయకుండా పనిచేస్తుంది. ఒక పరికరంలో రిపోజిటరీని డిస్కనెక్ట్ చేయడం వల్ల ఇతర పరికరాలలోని టోకెన్ కూడా క్లియర్ అవుతుంది. టోకెన్ ఎప్పుడూ ఒక పరికరంలోకి ప్రవేశించదు. సర్వర్ రన్కంటైనర్.