Base di conoscenza Il codice
Lavorare in un repository git
Pro può lavorare all'interno di uno dei vostri repositori come fa un agente di codifica: leggere i vostri file reali e scrivere su di essi, cambiandoli.
Questa pagina è tradotta automaticamente per comodità. Si applica l'originale inglese.
Connettere un repository
?git, o il Vai Il chip nella barra degli strumenti, collega un provider: GitHub, GitLab, o Gitea/Forgejo – che copre Codeberg e le istanze self-hosted.
Si annuncia su Nostra Può essere inserito come suo indirizzo invece.
Non è necessario digitare il nome del repository. Inserire il token e selezionare Elenco di ciò che questo token può raggiungere: Nymbot chiede alla forge cosa può vedere quel token e mostra la risposta come un elenco che controlli. Checking collega ciascuno con il suo ramo predefinito già compilato, e li mette tutti in questo chat. Qualsiasi cosa già collegata viene mostrata come tale piuttosto che offerta una seconda volta.Questa richiesta va dal tuo dispositivo direttamente alla forge - non attraverso il lavoratore Nymbot - quindi il token non viaggia dove non va già. Una forge auto-hostata che rifiuta le richieste di origine incrociata semplicemente non può essere elencata; digitare il repository in mano e tutto il resto funziona allo stesso modo.
Una volta collegato, il chip mostra il nome del repository e i messaggi inviati con un
Per il modello eseguito nel contesto di tale repository.
?git disconnect Lo rimuoviamo disconnessione nella lista di repository dimentica il token ma mantiene il repository lì, contrassegnato come non avere un token, in modo da poter aggiungere un nuovo più tardi.
Gli archivi annunciati su Nostr
Alcuni repositori si annunciano su Nostr piuttosto che solo su un forge, utilizzando Il NIP-34 Il protocollo dietro Nessuno L'annuncio è un evento Nostr che porta il nome del progetto, i suoi mantenitori, i relai che raccolgono i suoi patch e i problemi, e gli URL da cui può essere clonato.
Pasto un naddr o a nostr:// Indirizzo al modulo di archiviazione e stampa Guardalo in alto. 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 repository il cui URL clone è su GitHub, GitLab, Gitea o Forgejo - auto-hosted incluso - è uno Nymbot può leggere. git:// o ssh non ha un'API HTTP per leggere i file attraverso, e Nymbot lo dice piuttosto che mezzo-connettersi.Dove l'host è auto-hostato il provider è un indovinello dal suo nome, e puoi correggerlo prima di salvare.
Un repository aggiunto in questo modo è badged Nessuno e le risposte lo chiamano con il nome che annuncia piuttosto che con il suo percorso sullo specchio.
Cosa può fare
Il modello può elencare directory, leggere file e cercare l'albero, quindi rispondere utilizzando ciò che ha effettivamente trovato - quindi "perché il ciclo di retry rinuncia presto" viene risposto dal tuo codice, non da un indovinare sul codice che sembra il tuo.
Vede il ramo che hai connesso, alla sua testa corrente.
con Servizio RUN Attivato per la chat, può anche chiedere di eseguire un comando contro il codice, come i test, su un server Nymbot.
Torna a scrivere
?git writes on aggiunge la possibilità di commettere file, creare rami e aprire le richieste di trascinamento o di fusione. Off per impostazione predefinita e vale la pena lasciare finché non lo desideri.
Con scrive su, chiedi un cambiamento e ottieni una branca e una richiesta di ritiro da rivedere piuttosto che un patch incollato nel chat: ogni attività funziona su Una ramificazione della propriaNiente viene spinto al tuo ramo predefinito a meno che non spegni quello, cioè il ramo che hai connesso, e lo hai richiesto.
Le modifiche di un run vengono inserite come una commissione per repository, alla fine del run o quando il modello decide che un pezzo di lavoro è fatto. Chiedi prima di impegnarti L'esecuzione quindi mantiene le sue modifiche indietro, la risposta le mostra come diff, e Applicare Si impegnano mentre discarico Non li mettiamo via, non costa nulla.
Un ramo per ogni compito
con Ogni attività ottiene il proprio ramo su, che è per ogni repository a meno che non lo spegni, un compito che scrive si impegna a un ramo proprio, chiamato
nymbot/ Nymbot lo fa dal capo del ramo di lavoro quando il compito fa il suo primo commit, quindi un compito che solo legge non fa nessun ramo affatto.
Quando il compito è fatto, Nymbot fa ciò che Quando fatto ha detto. Aprire una richiesta di pull è il default; Offriamo un ingresso Lascia un pulsante di combinazione sulla risposta; Lascia il ramo non fa altro. Il default è impostato in Impostazioni, sotto Quando un'attività’s ramo è fattoSe il forge non ha un'API per le richieste di pull che Nymbot può utilizzare, o ne rifiuta uno, il ramo viene lasciato come è e la risposta lo dice.
La risposta mostra il ramo con Il Pr aperto, marcia E Delete, e il pannello Task lo elenca con il compito. Mentre il compito è ancora in esecuzione, la sua scheda, il pannello Task e l'elenco di ciò che è in esecuzione chiamano il ramo non appena esiste, su ogni dispositivo registrato nell'account. Un compito che è fermato o fallisce in parte ancora mantiene il suo ramo indietro, in modo che possa essere fuso, cancellato o pulito come qualsiasi altro. Un merge è un merge commit attraverso la forge’s propria richiesta di pull, accoppiato al commit Nymbot registrato, in modo che i nuovi commits spinti lì nel frattempo non sono mai fusi invisibili. Niente è forza mai spinto. Se il ramo è in conflitto con il ramo di lavoro, la risposta offre Aprire il PR per risolvere o Chiedi a Nymbot di aggiornare il ramoGitHub e Gitea o Forgejo possono farlo; GitLab non ha un'API per esso, quindi lì lo risolvi nella richiesta di fusione.
Le modifiche ai file CI e del flusso di lavoro aspettano ancora la tua revisione, esattamente come fanno senza un ramo proprio.
Il dispositivo ricorda il nymbot/ La prossima attività in quel repository, o Pulire i rami di Nymbot nell'elenco del repository, elimina quelli la cui richiesta di pull è fusa o chiusa, o che sono sette giorni di età con nulla da fondere. Un ramo viene cancellato solo se finisce ancora al commit Nymbot registrato, quindi uno qualcuno ha spinto a dal è lasciato da solo, e nessun altro ramo è mai toccato. Esso corre dal tuo dispositivo con il token che già invia; il server non mantiene un token per farlo più tardi.
Disattivare l'opzione per impegnarsi direttamente al ramo di lavoro. Un compito ha poi il repository per se stesso, e un secondo sullo stesso ramo lo legge solo fino a quando la prima non è finita.
Scopri cosa ha cambiato una corsa
Una risposta che ha scritto al tuo repository dice ciò che ha toccato: il repository, il ramo e ogni file. Nonostante questi cambiamenti li mette indietro – ognuno di quei percorsi è letto al commit che il ramo si trovava prima della corsa e si è impegnato come era. Una ramificazione della propria ha lasciato il ramo di lavoro da solo, quindi non c'è nulla da restituire: Delete Rimuovere il ramo invece.
Questo è un revert, non un rewrite. Niente viene cancellato e nessuna storia viene riscritta: ciò che Nymbot ha fatto rimane nel log, semplicemente non è più lo stato del ramo.
Undoing non tocca nessun modello, quindi non spende crediti - il token di accesso viaggia con quella richiesta come fa con ogni altra, e nulla sul punto di controllo è immagazzinato ovunque tranne il tuo dispositivo.
Chiudere la richiesta di ritiro di qualcuno per loro conto non è un annullamento, e la cancellazione di un ramo che altre persone potrebbero aver raccolto non è né - fare loro stessi se si vuole che siano andati.
Quanto costa un lavoro di riposo
Un'attività di ripristino utilizza fino a sei chiamate di modello per messaggio - guardare, leggere, cercare, rispondere - ciascuna fatturata al modello a coda per prezzoSolo le chiamate effettivamente utilizzate sono addebitate, quindi una domanda risolta da un file costa quanto costa una risposta ordinaria.
L'app segnala il totale e il numero di chiamate dopo ogni attività repo.
Quando un compito esce dalla stanza
Un'attività di repository è un loop, non una singola risposta: il modello elenca un directory, legge un file, cerca l'albero, legge un altro e solo poi scrive.Questo loop ha una concessione - un numero di modelli chiama i crediti riservati alla risposta - perché un agente illimitato è un conto illimitato.
Quando una attività utilizza il suo permesso con il lavoro ancora da fare, Nymbot si ferma, ti dà ciò che ha e lo dice.
Puoi anche permettergli di continuare. Impostare un budget di continuazione nelle Impostazioni e Nymbot acquista un altro sovrapprezzo dal medesimo saldo quando un compito si esegue, raccogliendo esattamente dove si è fermato piuttosto che rileggere il repository dall'inizio. Va una gamba alla volta, ogni gamba dicendo quanto costa, e si ferma il momento in cui il budget è speso, il compito è finito, o si preme Stop.
Nulla continua, e nulla viene speso oltre la risposta che hai chiesto, a meno che non hai impostato un budget.
Normalmente il dispositivo invia ogni gamba, quindi un'attività viene eseguita solo mentre l'app è aperta. Sfondi corsi Attivato, il server invia le altre gambe mentre l'app è chiusa, all'interno dello stesso budget, a un massimo di 40 gambe e 6 ore, e ti dice una volta quando il compito è finito. Per fare questo, mantiene il token del repository sigillato con una chiave che detiene solo mentre il compito è in esecuzione, e lo cancella quando il compito è finito e sempre entro 6 ore.
A proposito di quel gettone
Il token di accesso viene conservato sui tuoi dispositivi e si sincronizza tra loro all'interno delle impostazioni crittografate end-to-end, quindi il server detiene solo una copia sigillata che non può essere letta. Dispositivo Wipe, viaggia al lavoratore Nymbot con ogni richiesta, e non viene mai memorizzato sul lato del server leggibile o pubblicato ai relai. Corso di background si è attivato è in funzione, per un massimo di 6 ore. Scala a quello che si intende utilizzare, e revocare al tuo fornitore quando si è finiti.
Poiché si sincronizza, una chat che utilizza il repository funziona su ogni dispositivo che si accede senza riconnetterlo. Servizio Runil contenitore.