Met Control Center praten vanuit een GitHub-PR
Deze gids laat zien hoe je met Control Center werkt zonder GitHub te verlaten: vraag een AI-review aan vanaf de PR-pagina, stel de bot een vraag in een opmerking, en houd het gesprek gaande in zijn reviewthreads.
De bot is de eigen GitHub App van je server — dezelfde die mensen al aanmeldt en achtergrondwerk uitvoert. Er wordt niets nieuws geregistreerd, en niets hoeft vanaf het internet bereikbaar te zijn: de server ontdekt door te pollen wat er op GitHub is gezegd, dus een laptop achter NAT gedraagt zich precies als een openbare deployment.
Vereisten
Sectie getiteld “Vereisten”- De server heeft zijn GitHub App geregistreerd en geïnstalleerd, met Pull requests: read and write (voor opmerkingen, threads en reacties) en Issues: read (voor het zoeken in opmerkingen). Beide staan al in de machtigingenlijst van die gids
- De repository is aan een werkruimte in Control Center gekoppeld
- Geen webhook-URL, geen tunnel, geen callback — aan de netwerkkant valt er niets te configureren
De naam van je bot vinden
Sectie getiteld “De naam van je bot vinden”De login van de bot is <appslug>[bot], waarbij appslug de naam is die je de
app bij de registratie hebt gegeven.
- Ga naar Instellingen → Server → Single sign-on en scroll naar de kaart Provider-apps
- Open het blok GitHub en klik op Testen
- Kopieer Bot-login zodra die verschijnt. Staat er nog de lege hint, dan is
de login altijd
<appslug>[bot]— typ die, of de korte vorm@appslug
GitHub biedt appaccounts niet aan in zijn @-autocomplete, dus de login moet je
typen — daarom maakt de kaart in de instellingen het kopiëren één klik. Het
achtervoegsel [bot] is optioneel: @myapp en @myapp[bot] spreken beide de
bot aan.
Een review aanvragen vanuit GitHub
Sectie getiteld “Een review aanvragen vanuit GitHub”Twee manieren, die beide dezelfde meegeleverde pr_review-pipeline starten als
de knop Ask AI:
- Voeg het label
ai-reviewtoe aan de PR. Dat komt het dichtst in de buurt van de bot als reviewer toewijzen — appaccounts kunnen de native plek van een aangevraagde reviewer niet bezetten. Er is geen opmerking om op te reageren, dus er wordt niets op GitHub geplaatst; de review start in Control Center - Plaats
@myapp review(of alleen@myapp) als opmerking in het PR-gesprek. De bot reageert met 👀 en antwoordt vervolgens wanneer de review is gestart (of dat er al een loopt)
De reviewers werken in de reviewruimte van de PR; lees en publiceer de bevindingen zoals in AI-gestuurde review gebruiken. Terug naar GitHub publiceren blijft een beslissing die je in Control Center neemt — een review vanuit GitHub starten publiceert op zichzelf niets naar GitHub.
Het label vuurt één keer per PR: het toevoegen is de aanvraag, en het wordt niet opnieuw geactiveerd wanneer je het verwijdert en weer toevoegt. Wil je een review nog eens laten lopen — na een push, bijvoorbeeld — vermeld dan de bot.
Een vraag stellen
Sectie getiteld “Een vraag stellen”Plaats een opmerking in het PR-gesprek:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Wat er gebeurt, in volgorde:
- De bot reageert met 👀, zodat je weet dat de opmerking is gezien
- De vraag wordt in de reviewruimte van de PR geplaatst als jou — dezelfde attributie als wanneer je hem in Control Center had getypt
- Een agent antwoordt in de ruimte, en het antwoord wordt terug op de PR geplaatst als een opmerking die jou @-vermeldt
Een vraag op een PR zonder review wekt de CEO-agent van de werkruimte; zodra er een review is gelopen, antwoordt de agent die het laatst sprak, zodat vervolgvragen bij degene met de context terechtkomen.
Vervolgen in een reviewthread
Sectie getiteld “Vervolgen in een reviewthread”Antwoord binnen een inline reviewthread waar de bot deel van uitmaakt — een diff-opmerking die hij achterliet, of een antwoord dat hij in die thread plaatste. Een vermelding is niet nodig; de thread is de adressering:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Meerdere beurten werken hetzelfde: elk antwoord is een nieuwe vraag in hetzelfde gesprek, met de reviewruimte als context, en het antwoord komt terug in de thread.
Een vervolgvraag op de tijdlijn van het PR-gesprek is een nieuwe opmerking op het hoogste niveau en heeft daarom nog steeds een @-vermelding nodig.
Met wie de bot praat
Sectie getiteld “Met wie de bot praat”Een GitHub-opmerking komt binnen met weinig meer dan een login, dus de bot herleidt de auteur voordat hij iets doet:
- Je GitHub-account moet aan je identiteit gekoppeld zijn in Control Center — meld je aan met GitHub, of plak een token, via Instellingen → Werkruimte → Profiel en identiteit → Codehosting
- Je moet lid zijn met een schrijfrol (
member,adminofowner) in de werkruimte die de repository koppelt
Alle anderen krijgen één beleefd antwoord dat uitlegt wat er ontbreekt — een
onbekende login (niet gekoppeld, of gekoppeld maar hier geen lid) en een
alleen-lezenrol zijn de twee gevallen — en hun woorden komen nooit de werkruimte
binnen. Het label ai-review wordt niet zo tegengehouden: het heeft geen auteur,
dus het start de review in de werkruimte die de repo al koppelt.
Wat je kunt verwachten
Sectie getiteld “Wat je kunt verwachten”| Onderdeel | Gedrag |
|---|---|
| Bevestiging | 👀 op een opmerking binnen ongeveer een minuut — het pollinterval. Het label ai-review heeft geen opmerking om op te reageren |
| Antwoorden | Geplaatst als de bot (de app), op de plek waar de vraag is gesteld |
| Attributie in de ruimte | De vraag is van jou; de agent draait namens jou, onder de autonomie-instellingen van de ruimte |
| Reviews | Bevindingen belanden in de reviewruimte; publiceren naar GitHub is handmatig |
De latentie van ongeveer een minuut is de prijs voor het feit dat er helemaal geen inkomende netwerktoegang nodig is. Niets aan de pollronde is dringend, en er gaat niets verloren terwijl de server offline is — een opmerking die tijdens downtime binnenkomt, wordt bij de volgende pollronde opgepikt.
Problemen oplossen
Sectie getiteld “Problemen oplossen”Er gebeurt niets bij een opmerking die de bot vermeldt.
- Is de app geïnstalleerd op het account dat eigenaar is van de repo, en is de repo gekoppeld aan een werkruimte? Een niet-gekoppelde repo wordt overgeslagen voordat er iets wordt vastgelegd, dus later koppelen levert alsnog
- Is je GitHub-account gekoppeld, en ben je lid met een schrijfrol? Kijk op de PR naar het weigeringsantwoord van de bot — dat zegt welk geval het is
- Nog steeds niets? Het serverlogboek noemt de pollronde en de PR wanneer er iets
misgaat; zoek naar
pr_conversation:(de poller) engithub_pr_conversation:(de brug)
Het label start geen review.
Het vuurt één keer per PR. Als er al een review is gelopen, of het label is
toegevoegd voordat de server de PR ooit zag (de eerste pollronde registreert de
achterstand stil, in plaats van er een storm van te maken), vermeld dan in plaats
daarvan de bot — @myapp review start er altijd een, tenzij er al een review
onderweg is.
Het antwoord van de bot is nooit op GitHub aangekomen.
Het antwoord zelf gaat nooit verloren — het staat in de reviewruimte van de PR in Control Center. Een fout bij het plaatsen (GitHub plat, machtigingen gewijzigd) wordt gelogd en het antwoord wordt niet opnieuw geprobeerd; vraag het opnieuw in de thread als het belangrijk is.
Gerelateerde gidsen
Sectie getiteld “Gerelateerde gidsen”- De GitHub App maken: de registratie waaruit de bot voortkomt
- AI-gestuurde review gebruiken: de bevindingen lezen die een door een vermelding gestarte review oplevert
- GitHub-integratie instellen: je eigen GitHub-account koppelen, wat de bot gebruikt om jou te herleiden
- Ruimtes gebruiken: de ruimte waar dit allemaal terechtkomt