Passer au contenu
Retour à Nymbot

Base de connaissances Le code

Travailler dans un dépôt git

Pro peut travailler à l'intérieur de l'un de vos dépôts comme un agent de codage le fait - lire vos fichiers réels, et avec des écrits, les modifier.

Connexion à un répertoire

?git, ou le Allez Chip dans la barre d'outils, connecte un fournisseur: GitHub, GitLab, ou Gitea/Forgejo - qui couvre Codeberg et les instances auto-hébergées. announces itself on Nostr Il peut être utilisé comme adresse à la place.

Vous n'avez pas à taper le nom du dépôt. Collez le jeton et sélectionnez Décrivez ce que ce token peut atteindre: Nymbot demande à la forge ce que ce jeton peut voir et montre la réponse en tant que liste que vous vérifiez. Checking connecte chacun avec sa branche par défaut déjà remplie, et les met tous dans ce chat. Tout ce qui est déjà connecté est affiché comme tel plutôt que proposé une seconde fois. Cette demande va de votre appareil directement à la forge - pas à travers le travailleur Nymbot - de sorte que le jeton ne voyage pas où il ne va pas déjà. Un jeton auto-hébergé qui refuse les demandes d'origine croisée ne peut tout simplement pas être listé; tapez le dépôt à la main et tout le reste fonctionne de la même manière.

Une fois connectée, la puce affiche le nom du dépôt et les messages envoyés avec un Pour le modèle l’exécution dans le contexte de ce répertoire. ?git disconnect Supprimez le . déconnexion dans la liste de stockage oublie le jeton mais conserve le stockage là-bas, marqué comme n'ayant pas de jeton, de sorte que vous pouvez ajouter un nouveau plus tard.

Les répertoires modales, où un répertoire GitHub, GitLab ou Gitea est connecté à un chat.
Connexion à un dépôt. Les jetons se synchronisent avec vos autres appareils, scellés de bout en bout.

Repositories announced on Nostr

Certains dépôts s’annoncent sur Nostr plutôt que sur une forge, en utilisant Le NIP-34 Le protocole derrière Négué L'annonce est un événement Nostr portant le nom du projet, ses entretiens, les relais qui collectent ses correctifs et problèmes, et les URL à partir desquels il peut être cloné.

Passe un naddr ou a nostr:// L'adresse dans le formulaire de dépôt et la presse Regardez le haut. 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 dépôt dont l'URL clone est sur GitHub, GitLab, Gitea ou Forgejo - auto-hébergé inclus - est un Nymbot peut lire. git:// ou ssh n'a pas d'API HTTP pour lire les fichiers, et Nymbot le dit plutôt que semi-connecting.Où l'hôte est auto-hébergé le fournisseur est une devinette de son nom, et vous pouvez le corriger avant d'enregistrer.

Un répertoire ajouté de cette façon est badged Négué dans la liste, et les réponses l'appellent par le nom qu'il annonce plutôt que par son chemin sur le miroir.

Ce qu’il peut faire

Le modèle peut énumérer des répertoires, lire des fichiers et rechercher l'arbre, puis répondre en utilisant ce qu'il a réellement trouvé - alors "pourquoi la boucle de récupération abandonne tôt" est répondu à partir de votre code, pas d'une devinette sur le code qui ressemble à le vôtre.

Il voit la branche que vous avez connectée, à sa tête actuelle.

avec Serveur à courir activé pour le chat, il peut également demander à exécuter une commande contre votre code, comme les tests, sur un serveur Nymbot.

Une tâche de dépôt sur un téléphone: Nymbot trouve un bug et affiche le patch comme un diff.
Une tâche de repo sur un téléphone, avec le patch et le coût de l'exécution.

tourne à écrire

?git writes on ajoute la possibilité de commettre des fichiers, de créer des branches et d'ouvrir des demandes de tirage ou de fusion. Désactivé par défaut, et vaut la peine de le laisser jusqu'à ce que vous le vouliez.

En écrivant, demandez un changement et vous obtenez une branche et une demande de retrait à examiner plutôt qu'un patch collé dans le chat: chaque tâche fonctionne sur Une branche de son propreRien n’est poussé vers votre branche par défaut à moins que vous ne l’éteignez, c’est-à-dire la branche que vous avez connectée et que vous l’ayez demandée.

Les modifications d'une exécution entrent en tant qu'une commission par dépôt, à la fin de l'exécution ou lorsque le modèle décide qu'un travail est fait. Demander avant de s’engager L'exécution retient ensuite ses modifications, la réponse les montre comme un diff, et appliquer Commettez-les alors que Décharge Je les jette, ils ne coûtent rien.

Une branche pour chaque tâche

avec Chaque tâche obtient sa propre branche sur, ce qui est pour chaque dépôt à moins que vous ne l'éteignez, une tâche qui écrit s'engage à une branche de sa propre, nommée nymbot/ Nymbot le fait de la tête de la branche de travail lorsque la tâche fait sa première commission, de sorte qu'une tâche qui ne lit que ne fait aucune branche du tout.

Lorsque la tâche est terminée, Nymbot fait ce que Quand fait dit le . Ouvrir une demande de pull est le défaut ; Offre de marche Laisser un bouton sur la réponse ; Laissez la branche Il n'y a rien de plus.Le paramètre par défaut est défini dans Settings, sous Quand une tâche’s branche est terminéeSi la forge n'a pas d'API pour les demandes de tirage que Nymbot peut utiliser, ou si elle en refuse une, la branche est laissée telle qu'elle est et la réponse le dit.

La réponse montre la branche avec Ouverture du PR, Marche et décomposé, et le panneau Tâches la liste avec la tâche. Tandis que la tâche est toujours en cours d'exécution, sa carte, le panneau Tâches et la liste de ce qui est en cours d'exécution nomment la branche dès qu'elle existe, sur chaque appareil connecté au compte. Une tâche qui est arrêtée ou échoue partiellement maintient toujours sa branche, de sorte qu'elle peut être fusionnée, supprimée ou nettoyée comme n'importe quelle autre. Une fusion est une fusion committée par le biais de la demande de tirage propre de la forge, attachée à la committée Nymbot enregistrée, de sorte que les nouveaux commits poussés là-bas ne sont jamais fusionnés invisibles. Rien n'est forcément po Ouvrir le PR pour résoudre ou Demandez à Nymbot de mettre à jour la brancheGitHub et Gitea ou Forgejo peuvent le faire; GitLab n'a pas d'API pour cela, donc là vous le résolvez dans la demande de fusion.

Les modifications apportées aux fichiers CI et de flux de travail attendent toujours votre examen, tout comme elles le font sans filiale propre.

Nettoyage en haut

Votre appareil se souvient de nymbot/ l'exécution de la tâche suivante sur ce répertoire, ou Nettoyer les branches Nymbot dans la liste de dépôt, supprime ceux dont la demande de tirage est fusionnée ou fermée, ou qui sont âgés de sept jours avec rien à fusionner. Une branche n'est supprimée que si elle se termine toujours au commit Nymbot enregistré, de sorte que quelqu'un a poussé depuis est laissé seul, et aucune autre branche n'est jamais touchée. Il s'exécute de votre appareil avec le jeton qu'il envoie déjà; le serveur ne conserve pas de jeton pour le faire plus tard.

Désactivez l'option pour commettre directement à la branche de travail. Une tâche a ensuite le dépôt pour elle-même, et une seconde sur la même branche ne la lit que jusqu'à ce que la première soit terminée.

Découvrez ce qu'a changé une course

Une réponse qui a écrit à votre dépôt dit ce qu'il a touché: le dépôt, la branche et chaque fichier. Ne pas oublier ces changements les renvoie - chacune de ces voies est lue au commit que la branche s'est tenue avant la course et s'est engagée comme elle l'était. Une branche de son propre laissé seul la branche de travail, il n'y a donc rien à remettre : décomposé Supprimer sa branche à la place.

C’est un retour, pas une réécriture. Rien n’est effacé et aucune histoire n’est réécrite : ce que Nymbot a fait reste dans le journal, ce n’est tout simplement plus l’état de la branche.

L'annulation ne touche à aucun modèle, il ne dépense donc pas de crédits - le jeton d'accès voyage avec cette demande comme il le fait avec toutes les autres, et rien sur le point de contrôle n'est stocké ailleurs que votre propre appareil.

Fichiers uniquement

La fermeture de la demande de tirage de quelqu'un en leur nom n'est pas une annulation, et la suppression d'une branche que d'autres personnes peuvent avoir récupéré n'est pas non plus - faites-les vous-même si vous voulez qu'ils disparaissent.

Combien coûte une tâche de repo

Une tâche de repo utilise jusqu'à six appels de modèle par message - regarder, lire, rechercher, répondre - chacun facturé à la carte du modèle raccordé Pour le prixSeuls les appels réellement utilisés sont facturés, de sorte qu'une question répondue à partir d'un fichier coûte ce qu'une réponse ordinaire coûte.

L’application rapporte le total et le nombre d’appels après chaque tâche de repo.

Quand une tâche sort de la salle

Une tâche de dépôt est une boucle, pas une seule réponse: le modèle liste un répertoire, lit un fichier, recherche l'arbre, lit un autre, et seulement ensuite écrit. Cette boucle a une allocation - un certain nombre de modèles appellent la réponse des crédits réservés - parce qu'un agent illimité est un compte illimité.

Lorsqu'une tâche utilise son allocation avec le travail encore à faire, Nymbot s'arrête, vous donne ce qu'elle a, et dit ainsi.

Vous pouvez également le laisser continuer. Configurez un budget de poursuite dans les paramètres et Nymbot achète une autre allocation du même solde lorsqu'une tâche s'exécute, en récupérant exactement où elle s'est arrêtée plutôt que de lire le dépôt depuis le début. Il va une jambe à la fois, chaque jambe dit ce qu'elle coûte, et s'arrête au moment où le budget est dépensé, la tâche est terminée, ou vous appuyez sur Stop.

Note

Rien ne se poursuit, et rien n'est dépensé au-delà de la réponse que vous avez demandée, sauf si vous avez fixé un budget.

Normalement, votre appareil envoie chaque jambe, de sorte qu'une tâche ne se poursuit que pendant que l'application est ouverte. Randonnée en arrière activé, le serveur envoie les pieds suivants lui-même pendant que l'application est fermée, dans le même budget, à un maximum de 40 pieds et 6 heures, et vous dit une fois que la tâche est terminée. Pour ce faire, il maintient le jeton de dépôt scellé avec une clé qu'il ne détient que pendant que la tâche est en cours de fonctionnement, et le supprime lorsque la tâche est terminée et toujours dans les 6 heures.

À propos de ce jeton

À propos de ce jeton

Le jeton d'accès est conservé sur vos appareils et se synchronise entre eux dans vos paramètres cryptés de bout en bout, de sorte que le serveur ne conserve qu'une copie scellée qu'il ne peut pas lire. Dispositif WIPE, voyage au travailleur Nymbot avec chaque demande, et n'est jamais stocké lisible côté serveur ou publié aux relais. En arrière-plan vous avez activé est en cours de fonctionnement, pour un maximum de 6 heures. Échanger à l'un des dépôts que vous avez l'intention d'utiliser, et le révoquer à votre fournisseur lorsque vous avez terminé.

Parce qu'il synchronise, un chat qui utilise le dépôt fonctionne sur chaque appareil sur lequel vous vous connectez sans le connecter à nouveau.Déconnecter le dépôt sur un appareil nettoie également le jeton sur les autres appareils. Serveur RUNdans le conteneur.