Vorbește cu Control Center dintr-un PR GitHub
Acest ghid îți arată cum să lucrezi cu Control Center fără să părăsești GitHub: cere o revizuire IA chiar din pagina PR-ului, pune botului o întrebare într-un comentariu și continuă conversația în firele lui de revizuire.
Botul este chiar GitHub App al serverului tău — același care deja autentifică oameni și rulează munca din fundal. Nu se înregistrează nimic nou și nimic nu trebuie să fie accesibil din internet: serverul descoperă ce s-a spus pe GitHub prin interogare periodică, așa că un laptop aflat în spatele unui NAT se comportă exact ca o implementare publică.
Cerințe preliminare
Secțiune intitulată „Cerințe preliminare”- Serverul are GitHub App-ul înregistrat și instalat, cu permisiunile Pull requests: read and write (pentru comentarii, fire și reacții) și Issues: read (pentru căutarea de comentarii). Ambele sunt deja în lista de permisiuni din acel ghid
- Repozitoriul este legat de un spațiu de lucru din Control Center
- Fără URL de webhook, fără tunel, fără callback — nu e nimic de configurat pe partea de rețea
Găsește numele botului tău
Secțiune intitulată „Găsește numele botului tău”Loginul botului este <appslug>[bot], unde appslug este numele pe care l-ai
dat aplicației când ai înregistrat-o.
- Mergi la Setări → Server → Autentificare unică și derulează până la cardul Aplicații provider
- Deschide secțiunea GitHub și apasă Test
- Copiază Login bot când se completează. Dacă încă afișează indicația de
câmp gol, loginul este întotdeauna
<appslug>[bot]— tastează asta, sau forma scurtă@appslug
GitHub nu oferă conturile de aplicație în autocompletarea pentru @, așa că
loginul trebuie tastat — de aceea cardul din setări îl face copiabil cu un
singur clic. Sufixul [bot] este opțional: atât @myapp, cât și @myapp[bot]
ajung la bot.
Cere o revizuire din GitHub
Secțiune intitulată „Cere o revizuire din GitHub”Două metode, ambele pornind același pipeline predefinit pr_review pe care îl
pornește butonul Întreabă AI:
- Adaugă eticheta
ai-reviewpe PR. Este cel mai apropiat lucru de a atribui botul ca recenzent pe care îl oferă GitHub — conturile de aplicație nu pot ocupa locul nativ de recenzent solicitat. Nu există niciun comentariu la care să se reacționeze, așa că nu se publică nimic pe GitHub; revizuirea pornește în Control Center - Comentează
@myapp review(sau doar@myapp) în conversația PR-ului. Botul reacționează cu 👀, apoi răspunde când revizuirea a pornit (sau că una rulează deja)
Recenzenții lucrează în spațiul de revizuire al PR-ului; citește și publică constatările ca în Folosește revizuirea bazată pe IA. Publicarea înapoi pe GitHub rămâne o decizie pe care o iei în Control Center — pornirea unei revizuiri din GitHub nu publică nimic pe GitHub de la sine.
Eticheta se declanșează o singură dată per PR: adăugarea ei este cererea, și nu se re-armează când este eliminată și adăugată din nou. Ca să rulezi din nou o revizuire — după un push, de exemplu — menționează botul.
Pune o întrebare
Secțiune intitulată „Pune o întrebare”Comentează în conversația PR-ului:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Ce se întâmplă, în ordine:
- Botul reacționează cu 👀 ca să știi că comentariul a fost văzut
- Întrebarea este postată în spațiul de revizuire al PR-ului ca tine — aceeași atribuire ca și cum ai fi tastat-o în Control Center
- Un agent răspunde în spațiu, iar răspunsul este postat înapoi pe PR ca un comentariu care te menționează cu @
O întrebare pe un PR fără nicio revizuire încă trezește agentul CEO al spațiului de lucru; după ce a rulat o revizuire, răspunde agentul care a vorbit ultimul, așa că continuările ajung la cine are contextul.
Continuă într-un fir de revizuire
Secțiune intitulată „Continuă într-un fir de revizuire”Răspunde într-un fir de revizuire inline din care botul face parte — un comentariu pe diff lăsat de el, sau un răspuns postat de el în acel fir. Nu e nevoie de nicio mențiune; firul este adresarea:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Conversația pe mai multe replici funcționează la fel: fiecare răspuns este o nouă întrebare în aceeași conversație, cu spațiul de revizuire ca context, iar răspunsul se întoarce în fir.
O continuare pe cronologia conversației PR-ului este un comentariu nou de nivel superior, așa că are nevoie în continuare de o mențiune cu @.
Cu cine vorbește botul
Secțiune intitulată „Cu cine vorbește botul”Un comentariu GitHub sosește purtând nu mult mai mult decât un login, așa că botul rezolvă autorul înainte de a face orice:
- Contul tău GitHub trebuie să fie legat de identitatea ta în Control Center — autentifică-te cu GitHub sau lipește un token, din Setări → Spațiu de lucru → Profil și identitate → Găzduire de cod
- Trebuie să fii membru cu un rol de scriere (
member,adminsauowner) în spațiul de lucru care leagă repozitoriul
Oricine altcineva primește un singur răspuns politicos care explică ce lipsește —
un login necunoscut (nelegat, sau legat dar care nu este membru aici) și un rol
doar în citire sunt cele două cazuri — iar vorbele lor nu intră niciodată în
spațiul de lucru. Eticheta ai-review nu este condiționată astfel: nu are autor,
așa că pornește revizuirea în spațiul de lucru care deja leagă repo-ul.
Ce să te aștepți
Secțiune intitulată „Ce să te aștepți”| Lucru | Comportament |
|---|---|
| Confirmare | 👀 pe un comentariu în circa un minut — intervalul de scanare. Eticheta ai-review nu are niciun comentariu la care să reacționeze |
| Răspunsuri | Postate ca botul (aplicația), în firul în care a fost pusă întrebarea |
| Atribuirea în spațiu | Întrebarea este a ta; agentul rulează în numele tău, sub setările de autonomie ale spațiului |
| Revizuiri | Constatările ajung în spațiul de revizuire; publicarea pe GitHub este manuală |
Latența de circa un minut este prețul plătit pentru a nu avea deloc nevoie de acces de rețea de intrare. Nimic din scanare nu este urgent și nimic nu se pierde cât timp serverul este offline — un comentariu care sosește în timpul unei perioade de nefuncționare este prins la scanarea următoare.
Depanare
Secțiune intitulată „Depanare”Nu se întâmplă nimic pentru un comentariu care menționează botul.
- Aplicația este instalată pe contul care deține repo-ul, iar repo-ul este legat de un spațiu de lucru? Un repo nelegat este sărit înainte de a se înregistra ceva, așa că legarea lui mai târziu livrează totuși
- Contul tău GitHub este legat și ești membru cu un rol de scriere? Verifică pe PR răspunsul de refuz al botului — spune care dintre ele
- Tot nimic? Jurnalul serverului numește scanarea și PR-ul când ceva eșuează;
caută
pr_conversation:(interogatorul) șigithub_pr_conversation:(puntea)
Eticheta nu pornește o revizuire.
Se declanșează o singură dată per PR. Dacă o revizuire a rulat deja, sau eticheta
a fost adăugată înainte ca serverul să vadă vreodată PR-ul (prima scanare
înregistrează restanța în silență, în loc să o ia cu asalt), menționează botul în
schimb — @myapp review pornește întotdeauna una, dacă nu este deja o revizuire
în curs.
Răspunsul botului nu a ajuns niciodată pe GitHub.
Răspunsul în sine nu se pierde niciodată — se află în spațiul de revizuire al PR-ului din Control Center. O eroare de postare (GitHub căzut, permisiuni schimbate) este consemnată în jurnal, iar răspunsul nu este reîncercat; întreabă din nou în fir dacă contează.
Ghiduri conexe
Secțiune intitulată „Ghiduri conexe”- Creează GitHub App: înregistrarea din care se naște botul
- Folosește revizuirea bazată pe IA: cum să citești constatările produse de o revizuire pornită printr-o mențiune
- Configurează integrarea GitHub: legarea propriului cont GitHub, exact lucrul prin care te rezolvă botul
- Folosește spațiile: camera în care ajunge toate acestea