Parla con Control Center da una PR GitHub
Questa guida mostra come lavorare con Control Center senza uscire da GitHub: richiedi una revisione IA dalla pagina della PR, fai una domanda al bot in un commento e continua la conversazione nei suoi thread di revisione.
Il bot è la GitHub App del tuo server — la stessa che già fa accedere le persone ed esegue il lavoro in background. Non viene registrato nulla di nuovo e nulla deve essere raggiungibile da internet: il server scopre cosa è stato detto su GitHub tramite polling, quindi un portatile dietro NAT si comporta esattamente come un deployment pubblico.
Prerequisiti
Sezione intitolata “Prerequisiti”- Il server ha la sua GitHub App registrata e installata, con Pull requests: read and write (per commenti, thread e reazioni) e Issues: read (per la ricerca dei commenti). Entrambe figurano già nell’elenco dei permessi di quella guida
- Il repository è collegato a uno spazio di lavoro in Control Center
- Nessun URL di webhook, nessun tunnel, nessun callback — non c’è nulla da configurare sul lato rete
Trova il nome del bot
Sezione intitolata “Trova il nome del bot”Il login del bot è <appslug>[bot], dove appslug è il nome che hai dato
all’app al momento della registrazione.
- Vai su Impostazioni → Server → Accesso single sign-on e scorri fino alla scheda App del fornitore
- Apri il blocco GitHub e fai clic su Test
- Copia Login del bot quando viene compilato. Se mostra ancora il
suggerimento vuoto, il login è sempre
<appslug>[bot]— digita quello, oppure la forma breve@appslug
GitHub non offre gli account app nel suo completamento automatico @, quindi
il login va digitato — è per questo che la scheda delle impostazioni lo rende
copiabile con un clic. Il suffisso [bot] è facoltativo: sia @myapp sia
@myapp[bot] si rivolgono al bot.
Richiedi una revisione da GitHub
Sezione intitolata “Richiedi una revisione da GitHub”Due modi, entrambi avviano la stessa pipeline pr_review preconfigurata che
avvia il pulsante Ask AI:
- Aggiungi l’etichetta
ai-reviewalla PR. È la cosa più vicina che GitHub offra ad assegnare il bot come revisore — gli account app non possono occupare lo slot nativo di revisore richiesto. Non c’è alcun commento a cui reagire, quindi nulla viene pubblicato su GitHub; la revisione inizia in Control Center - Commenta
@myapp review(oppure solo@myapp) nella conversazione della PR. Il bot reagisce con 👀, poi risponde quando la revisione è iniziata (o avverte che una è già in esecuzione)
I revisori lavorano nello spazio di revisione della PR; leggi e pubblica i rilievi come in Usa la revisione basata sull’IA. La pubblicazione di nuovo su GitHub resta una decisione che prendi tu in Control Center — avviare una revisione da GitHub non pubblica nulla su GitHub da solo.
L’etichetta scatta una volta per PR: aggiungerla è la richiesta, e non viene riarmata quando la rimuovi e la riaggiungi. Per eseguire di nuovo una revisione — dopo un push, ad esempio — menziona il bot.
Fai una domanda
Sezione intitolata “Fai una domanda”Commenta nella conversazione della PR:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Cosa succede, in ordine:
- Il bot reagisce con 👀 così sai che il commento è stato visto
- La domanda viene pubblicata nello spazio di revisione della PR a tuo nome — la stessa attribuzione che avresti se l’avessi digitata in Control Center
- Un agente risponde nello spazio e la risposta viene pubblicata di nuovo sulla PR come commento che ti @-menziona
Una domanda su una PR che non ha ancora una revisione risveglia l’agente lead (CEO) dello spazio di lavoro; dopo che una revisione è stata eseguita, risponde l’agente che ha parlato per ultimo, quindi i seguiti arrivano a chi ha il contesto.
Continua in un thread di revisione
Sezione intitolata “Continua in un thread di revisione”Rispondi all’interno di un thread di revisione inline di cui il bot fa parte — un commento sul diff che ha lasciato, o una risposta che ha pubblicato in quel thread. Non serve alcuna menzione; il thread è l’indirizzamento:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Il multi-turno funziona allo stesso modo: ogni risposta è un’altra domanda nella stessa conversazione, con lo spazio di revisione come contesto, e la risposta torna nel thread.
Un seguito sulla timeline della conversazione della PR è un nuovo commento di primo livello, quindi richiede comunque una @menzione.
Con chi parla il bot
Sezione intitolata “Con chi parla il bot”Un commento GitHub arriva con poco più di un login, quindi il bot risolve l’autore prima di fare qualsiasi cosa:
- Il tuo account GitHub deve essere collegato alla tua identità in Control Center — accedi con GitHub, oppure incolla un token, da Impostazioni → Spazio di lavoro → Profilo e identità → Hosting del codice
- Devi essere un membro con un ruolo di scrittura (
member,adminoowner) nello spazio di lavoro che collega il repository
Chiunque altro riceve una sola risposta cortese che spiega cosa manca — un
login sconosciuto (non collegato, oppure collegato ma non membro qui) e un
ruolo in sola lettura sono i due casi — e le sue parole non entrano mai nello
spazio di lavoro. L’etichetta ai-review non è vincolata in questo modo: non
ha un autore, quindi avvia la revisione nello spazio di lavoro che già collega
il repo.
Cosa aspettarsi
Sezione intitolata “Cosa aspettarsi”| Elemento | Comportamento |
|---|---|
| Conferma | 👀 su un commento entro circa un minuto — l’intervallo di scansione. L’etichetta ai-review non ha alcun commento a cui reagire |
| Risposte | Pubblicate come il bot (l’app), nella corsia in cui è stata posta la domanda |
| Attribuzione nello spazio | La domanda è tua; l’agente viene eseguito per tuo conto, secondo le impostazioni di autonomia dello spazio |
| Revisioni | I rilievi arrivano nello spazio di revisione; la pubblicazione su GitHub è manuale |
La latenza di circa un minuto è il prezzo da pagare per non aver bisogno di alcun accesso di rete in ingresso. Nulla della scansione è urgente e nulla va perso mentre il server è offline — un commento che arriva durante un’interruzione viene recuperato alla scansione successiva.
Risoluzione dei problemi
Sezione intitolata “Risoluzione dei problemi”Non succede nulla per un commento che menziona il bot.
- L’app è installata sull’account che possiede il repo e il repo è collegato a uno spazio di lavoro? Un repo non collegato viene ignorato prima che qualsiasi cosa venga registrata, quindi collegarlo in seguito lo consegna comunque
- Il tuo account GitHub è collegato e sei un membro con un ruolo di scrittura? Controlla la PR per la risposta di rifiuto del bot — dice quale delle due manca
- Ancora nulla? Il log del server indica la scansione e la PR quando qualcosa
fallisce; cerca
pr_conversation:(il poller) egithub_pr_conversation:(il bridge)
L’etichetta non avvia una revisione.
Scatta una volta per PR. Se una revisione è già stata eseguita, o l’etichetta è
stata aggiunta prima che il server vedesse mai la PR (la prima scansione
registra l’arretrato in silenzio invece di scatenarlo), menziona il bot —
@myapp review ne avvia sempre una, a meno che una revisione sia già in corso.
La risposta del bot non è mai arrivata su GitHub.
La risposta in sé non va mai persa — è nello spazio di revisione della PR in Control Center. Un errore di pubblicazione (GitHub non raggiungibile, permessi cambiati) viene registrato e la risposta non viene ritentata; chiedi di nuovo nel thread se è importante.
Guide correlate
Sezione intitolata “Guide correlate”- Crea la GitHub App: la registrazione da cui nasce il bot
- Usa la revisione basata sull’IA: leggere i rilievi che produce una revisione avviata da una menzione
- Configura l’integrazione GitHub: collegare il tuo account GitHub, che è ciò con cui il bot ti risolve
- Usa gli spazi: la stanza in cui arriva tutto questo