Prata med Control Center från en GitHub-PR
Den här guiden visar hur du arbetar med Control Center utan att lämna GitHub: begär en AI-granskning från PR-sidan, ställ en fråga till boten i en kommentar och fortsätt samtalet i dess granskningstrådar.
Boten är serverns egen GitHub App – samma app som redan loggar in personer och kör bakgrundsarbete. Inget nytt registreras, och inget behöver kunna nås från internet: servern upptäcker vad som sagts på GitHub genom pollning, så en bärbar dator bakom NAT beter sig precis som en offentlig driftsättning.
Förutsättningar
Avsnitt med rubriken “Förutsättningar”- Servern har sin GitHub App registrerad och installerad, med Pull requests: read and write (för kommentarer, trådar och reaktioner) och Issues: read (för kommentarsökningen). Båda finns redan med i den guidens behörighetslista
- Repot är länkat till en arbetsyta i Control Center
- Ingen webhook-URL, ingen tunnel, ingen callback – det finns inget att konfigurera på nätverkssidan
Hitta botens namn
Avsnitt med rubriken “Hitta botens namn”Botens inloggning är <appslug>[bot], där appslug är namnet du gav appen när
du registrerade den.
- Gå till Inställningar → Server → Enkel inloggning och rulla ned till kortet Leverantörsappar
- Öppna blocket GitHub och klicka på Test
- Kopiera Bot-inloggning när den fylls i. Om den fortfarande visar den
tomma hjälptexten är inloggningen alltid
<appslug>[bot]– skriv det, eller den korta formen@appslug
GitHub erbjuder inte appkonton i sin @-autokomplettering, så inloggningen
måste skrivas – det är därför inställningskortet gör den till ett klick att
kopiera. Suffixet [bot] är valfritt: både @myapp och @myapp[bot] adresserar
boten.
Begär en granskning från GitHub
Avsnitt med rubriken “Begär en granskning från GitHub”Två sätt, som båda startar samma medföljande pr_review-pipeline som knappen
Fråga AI startar:
- Lägg till etiketten
ai-reviewpå PR:en. Det här är det närmaste GitHub kommer att tilldela boten som granskare – appkonton kan inte hålla den inbyggda platsen för begärda granskare. Det finns ingen kommentar att reagera på, så inget publiceras på GitHub; granskningen startar i Control Center - Kommentera
@myapp review(eller bara@myapp) i PR-samtalet. Boten reagerar med 👀 och svarar sedan när granskningen har startat (eller att en redan körs)
Granskarna arbetar i PR:ens granskningsyta; läs och publicera fynden som i Använd AI-driven granskning. Att publicera tillbaka till GitHub är fortfarande ett beslut du fattar i Control Center – att starta en granskning från GitHub publicerar inte i sig något till GitHub.
Etiketten utlöses en gång per PR: att lägga till den är begäran, och den laddas inte om när den tas bort och läggs till igen. För att köra en granskning igen – efter en push, till exempel – nämn boten.
Ställ en fråga
Avsnitt med rubriken “Ställ en fråga”Kommentera i PR-samtalet:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Vad som händer, i ordning:
- Boten reagerar med 👀 så att du vet att kommentaren sågs
- Frågan publiceras i PR:ens granskningsyta som du – samma tillskrivning som om du hade skrivit den i Control Center
- En agent svarar i ytan, och svaret publiceras tillbaka på PR:en som en kommentar som @-nämner dig
En fråga på en PR utan någon granskning än väcker arbetsytans CEO-agent; när en granskning har körts svarar den agent som talade sist, så uppföljningar hamnar hos den som har kontexten.
Följ upp i en granskningstråd
Avsnitt med rubriken “Följ upp i en granskningstråd”Svara i en inline-granskningstråd som boten är en del av – en diffkommentar den lämnade, eller ett svar den publicerade i den tråden. Ingen nämning behövs; tråden är adresseringen:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Flera turer fungerar på samma sätt: varje svar är ytterligare en fråga i samma samtal, med granskningsytan som kontext, och svaret kommer tillbaka i tråden.
En uppföljning i tidslinjen för PR-samtalet är en ny kommentar på toppnivå, så den behöver fortfarande en @-nämning.
Vem boten pratar med
Avsnitt med rubriken “Vem boten pratar med”En GitHub-kommentar kommer in som föga mer än en inloggning, så boten löser upp avsändaren innan den gör något:
- Ditt GitHub-konto måste vara länkat till din identitet i Control Center – logga in med GitHub, eller klistra in en token, från Inställningar → Arbetsyta → Profil och identitet → Kodvärd
- Du måste vara medlem med en skrivroll (
member,adminellerowner) i den arbetsyta som länkar repot
Alla andra får ett artigt svar som förklarar vad som saknas – en okänd inloggning
(olänkad, eller länkad men inte medlem här) och en skrivskyddad roll är de två
fallen – och deras ord kommer aldrig in i arbetsytan. Etiketten ai-review
grindas inte på det här sättet: den har ingen avsändare, så den startar
granskningen i den arbetsyta som redan länkar repot.
Vad du kan förvänta dig
Avsnitt med rubriken “Vad du kan förvänta dig”| Sak | Beteende |
|---|---|
| Bekräftelse | 👀 på en kommentar inom ungefär en minut – svepintervallet. Etiketten ai-review har ingen kommentar att reagera på |
| Svar | Publiceras som boten (appen), i samma spår som frågan ställdes i |
| Tillskrivning i ytan | Frågan är din; agenten körs på dina vägnar, under ytans autonomi-inställning |
| Granskningar | Fynden landar i granskningsytan; publicering till GitHub är manuell |
Latensen på ungefär en minut är priset för att inte behöva någon inkommande nätverksåtkomst alls. Inget med svepet är brådskande, och inget går förlorat medan servern är offline – en kommentar som kommer in under nedtid fångas upp vid nästa svep.
Felsökning
Avsnitt med rubriken “Felsökning”Inget händer för en kommentar som nämner boten.
- Är appen installerad på kontot som äger repot, och repot länkat till en arbetsyta? Ett olänkat repo hoppas över innan något registreras, så att länka det senare levererar fortfarande
- Är ditt GitHub-konto länkat, och är du medlem med en skrivroll? Leta på PR:en efter botens avvisningssvar – det säger vilket
- Fortfarande inget? Serverloggen namnger svepet och PR:en när något misslyckas;
leta efter
pr_conversation:(pollaren) ochgithub_pr_conversation:(bryggan)
Etiketten startar ingen granskning.
Den utlöses en gång per PR. Om en granskning redan har körts, eller etiketten
lades till innan servern någonsin såg PR:en (det första svepet registrerar
eftersläpet tyst i stället för att vräka igenom det), nämn boten i stället –
@myapp review startar alltid en om inte en granskning redan är i gång.
Botens svar kom aldrig fram till GitHub.
Själva svaret går aldrig förlorat – det finns i PR:ens granskningsyta i Control Center. Ett publiceringsfel (GitHub nere, behörigheter ändrade) loggas och svaret görs inte om; fråga igen i tråden om det spelar roll.
Relaterade guider
Avsnitt med rubriken “Relaterade guider”- Skapa GitHub-appen: registreringen boten föds ur
- Använd AI-driven granskning: läsa fynden som en granskning startad av en nämning producerar
- Konfigurera GitHub-integration: att länka ditt eget GitHub-konto, vilket är det boten identifierar dig med
- Använd ytor: rummet allt det här landar i