גיין צו די אינהאַלט
Back to Nymbot

וויסן באַזע קודע

אַרבעט אין אַ גיט ריפּאַזאַטאָרי

Pro can work inside one of your repositories the way a coding agent does — reading your actual files, and with writes on, changing them.

באַקומען אַ Repository

?gitאון אוּן און צ'יפּ אין די toolbar, קאַנטייטינג אַ פּראָבלייד: GitHub, GitLab, or Gitea/Forgejo — which covers Codeberg and self-hosted instances. It takes a scaled personal access token, a repository and a branch. A repository that 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; typ the repository in by hand and everything else works the same.

געפונען, די צ'יפּ מיינט די ריפאָוריטאָם Name, and messages sent with a און מודל עס איז געווען באקאנטע kontext of that repository. ?git disconnect אנגעקומען דעם. אַוועקלייגן אין די רשימה פון ריפאָטיאָריז, איר זוכט די טאָקן, but keeps the repository there, marked as having no token, so you can add a new one later.

די Repositories modal, where a GitHub, GitLab or Gitea repository is connected to a chat.
די טאָקן סינכאָנז צו דיין אנדערע מכשירים, סינכאָנז צו סוף צו סוף.

דערגרייכט די אַוועקלייגן אויף Nostr

Some repositories announce themselves on Nostr rather than only on a forge, using און 34 דער פרוטוקול מאחורי און און 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.

אַ ריפּאָטיאָריע whose clone URL is on GitHub, GitLab, Gitea or Forgejo — self-hosted included — is one Nymbot can read. One cloned only over git:// או 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.

אַ אַוועקלייגן אַוועקלייגן אַוועקלייגן אַוועקלייגן אַוועקלייגן אַוועקלייגן אַוועקלייגן אַוועקלייגן און כ'האף די ווען (מיטן דרייווער) זאלן מארך ימים זיין.

יעדער איינער האט

די מאָדעל קענען רשימה די דריקטאָריז, לייענען קאַליעס און פאָרשלאָגן די עץ, נאָך ענטפער צו נוצן וואָס עס למעשה געפֿונען - so "why does the retry loop give up early" is answered from your code, not from a guess about code that looks like yours.

עס איז געפונען מיט די געפונען, מיט די געפונען.

און געפירט Server 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.
A repo task on a phone, with the patch and what the run cost.

ער איז געווען א כתיבת

?git writes on דערגרייכט די אָפּשאַצונג צו באַקומען קובציעס, געגרינדעט גאַנץ און פייַבן טראַכט אָדער פאָרינג באַקומען. Off by default, and worth leaving off until you want it.

With writes on, request for a change and you get a branch and a pull request to review rather than a patch paste into chat: יעדער אַרבעט אויף עס איז א שורה של עצמהאין די זאך זענען געפונען אין די געפונען, אין די געפונען, אין די געפונען, אין די געפונען.

די ענדערונגען פון אַ run זענען אַוועקלייגן ווי אַ קאָמיט פּער ריפאָיטוריע, אין דער סוף פון די רינג אָדער ווען די מאָדעל באַצאָלן אַ אַרבעט איז גענומען. If you would rather see them first, turn on ענטפער איך עס באקומען און מיך [חלילה, נישט מיך - איך מיין די רעכטע] אויך נישט! לייענען עס איז געווען בעוד אַוועק עס איז געפונען אין יקספּערינג.

עס איז צו כל משימה.

און יעדער געשעפט איז א שורה משלה. כ'האף די ווען (מיטן דרייווער) זאלן מארך ימים זיין. nymbot/ Nymbot מיינט עס פון דער רעכט פון די אַרבעטן רעכט ווען די אַרבעטן מיינט זייַן ערשטער קאַמיט, 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 און זייער מינדערוויכטיג. אַוועקלייגן אַ merge דערגרייכט אַ בלאַט אויף די תשובה. געפירט The Branch אין די געשעפטן אין די געשעפטן אין די געשעפטן, כ'האף די ווען (מיטן דרייווער) זאלן זיין.If the forge has no API for pull requests Nymbot can use, or it rejects one, the branch is left as it is and the answer says so.

דערגרייכט די פירמע מיט און PR, געוויינט און דעריבער, 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 די PR איז צו פעלט און Ask Nymbot to update the branchGitHub and Gitea or Forgejo can do that; GitLab has no API for it, so there you resolve it in the merge request.

שינויי צו CI און workflow files still wait for your review, just as they do without a branch of their own.

געגרינדעט

די מכשיר זוכרת nymbot/ עס איז געגרינדעט אין דעם רעקאָרדינג, או Clean up Nymbot branches אין די רשימה פון די אַפאָריפּאַטיאָן, רירעוודיק those 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 someone 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.

דערגרייכט די אַפּראָוטיישאַן צו באַקומען די אַרבעטן גאַנץ. A task then has the repository to itself, and a second one on the same branch only reads it until the first has finished. Older versions of the app work that way too.

Undoing what a run changed

א ענטפער וואָס שרייַבן צו דיין ריפאָריוטער צו דיך האט געפונען: די ריפאָריוטער, די פעלד, און יעדער קובץ. די שינויי זענען יעדער פון די פעלים איז געפונען בייַ די פּימיט מיט די גאַנץ שטעלן אויף before the run and committed as it was. עס איז א שורה של עצמה עס איז געגרינדעט אין די ענטפער, so there's nothing there to put back: דעריבער עס איז געווען א שורה במקום.

עס איז אַ revert, אין אַ rewrite. nothing is deleted 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.

די Undoing טרעפן קיין מאָדעל, אַזוי עס באַקומען אין קרעדיטז - די אַסיס טאָקיין געניצט מיט דעם איינער באַקומען ווי עס געניצט מיט יעדער אנדערע, און nothing about the checkpoint is stored anywhere but your own device.

פילע

און מיך [חלילה, נישט מיך - נישט מיך - איך מיין די רעכטע] אויך נישט!

איך העלפן די משימה

A repo task uses up to six model calls per message — look, read, search, answer — each billed at the pinned model's account. אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג אַפּענדינג. און מחיררק די טעלעפאָנירן געניצט זענען געניצט, so a question answered from one file costs about what an ordinary answer costs.

די אַפּ געפירט די גאַנץ און נומער פון שיחות נאָך יעדער ריפּאָ אַרבעט.

כ'האף די ווען (מיטן דרייווער) זאלן מארך ימים זיין.

די מאָדעל איז אַ לוך, אין אַ יחיד תשובה: די מאָדעל רעקאָרד אַ דריקטאָרע, לייענען אַ פיילער, פאָרשלאָגן די עץ, לייענען אַ אנדערע, און רק אז שרייַבן. That loop has a allowance — a number of models calls the answer reserved credits for — because an unbounded agent is an unbounded bill.

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.

איר קענען אויך העלפן עס. 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 costs, and stops the moment the budget is spent, the task is finished, or you press Stop. Selecting “until my balance runs out” is still a ceiling — it’s your balance rather than a number you typed.

באַמערקונג

אין די פּרייַז, און אין די פּרייַז איז געניצט איבער די ענטפער איר געניצט, אַמעט איר האָבן געניצט אַ פּרייַז.

Normally your device sends each leg, so a task only carries on while the app is open. ראַסע ראַסע און דעריבער, דער שרייַבן די ווייַטער טאָקס בעשאַס די אַפּ איז סופּער, אין די אותו תקציב, אין מאַקסימום 40 טאָקס און 6 שעה, און טעלעפאָנירן איר אַ וואָך ווען די טעלעפאָנירן איז גענומען. To do that it keeps the repository token sealed with a key only it holds while the task is working, and deletes it when the task ends and always within 6 hours. A background task writes to its own branch like any other task.

וועגן דעם צייכן

וועגן דעם צייכן

The access token is kept on your devices and syncs between them within your end-to-end encrypted settings, so the server holds only a sealed copy it cannot read. באַקומען WIPE, געוויינט צו די Nymbot Worker מיט יעדער באַקומען, און איז לעולם לא שטעלן קריאבלע Server-Side אָדער gepublished to relays. The only time the server keeps it is sealed, while a און רוינג דעריבער, איר קענען באַקומען אַ מאַקסימום אַרויף צו 6 שעה, און באַקומען אַ מאַקסימום אַרויף צו די מאַקסימום אַרויף צו די מאַקסימום אַרויף צו 1 שעה.

כיוון it sync, a chat that uses the repository works on every device you sign in without connecting it again. דיסנכענדינג די repository on one device clears the token on the other too. The token never enters a געפירט Serverעס איז א קאָנטיינער.