Bercakap dengan Control Center dari PR GitHub
Panduan ini menunjukkan cara bekerja dengan Control Center tanpa meninggalkan GitHub: minta semakan AI dari halaman PR, tanya bot sesuatu soalan dalam komen, dan teruskan perbualan dalam benang semakannya.
Bot itu ialah GitHub App pelayan anda sendiri — yang sama yang sudah membenarkan orang daftar masuk dan menjalankan kerja latar belakang. Tiada apa-apa baharu didaftarkan, dan tiada apa-apa perlu boleh dicapai dari internet: pelayan menemui apa yang diperkatakan di GitHub melalui pengundian, jadi komputer riba di belakang NAT berkelakuan sama seperti penerapan awam.
Prasyarat
Bahagian bertajuk “Prasyarat”- Pelayan mempunyai GitHub App-nya didaftarkan dan dipasang, dengan Pull requests: read and write (untuk komen, benang dan reaksi) dan Issues: read (untuk carian komen). Kedua-duanya sudah ada dalam senarai kebenaran panduan itu
- Repositori itu dipautkan ke ruang kerja dalam Control Center
- Tiada URL webhook, tiada terowong, tiada callback — tiada apa-apa untuk dikonfigurasikan di sisi rangkaian
Cari nama bot anda
Bahagian bertajuk “Cari nama bot anda”Log masuk bot itu ialah <appslug>[bot], dengan appslug ialah nama yang anda
berikan kepada aplikasi itu semasa mendaftarkannya.
- Pergi ke Tetapan → Pelayan → Daftar masuk tunggal dan tatal ke kad Apl penyedia
- Buka blok GitHub dan klik Uji
- Salin Log masuk bot apabila nilainya terisi. Jika ia masih memaparkan
petunjuk kosong, log masuk itu sentiasa
<appslug>[bot]— taip nilai itu, atau bentuk pendek@appslug
GitHub tidak menawarkan akaun aplikasi dalam autolengkap @-nya, jadi log
masuk itu perlu ditaip — sebab itulah kad tetapan menjadikannya boleh disalin
dengan satu klik. Akhiran [bot] adalah pilihan: @myapp dan @myapp[bot]
kedua-duanya menujukan bot itu.
Minta semakan dari GitHub
Bahagian bertajuk “Minta semakan dari GitHub”Dua cara, kedua-duanya memulakan pipeline pr_review yang dibenihkan yang sama
seperti yang dimulakan oleh butang Tanya AI:
- Tambahkan label
ai-reviewpada PR. Inilah cara paling hampir yang ditawarkan GitHub untuk menetapkan bot sebagai penyemak — akaun aplikasi tidak boleh memegang slot penyemak yang diminta secara asli. Tiada komen untuk diberi reaksi, jadi tiada apa-apa disiarkan di GitHub; semakan itu bermula dalam Control Center - Komen
@myapp review(atau hanya@myapp) pada perbualan PR. Bot itu memberi reaksi 👀, kemudian membalas apabila semakan telah bermula (atau bahawa satu semakan sedang berjalan)
Penyemak bekerja dalam ruang semakan PR itu; baca dan terbitkan penemuan seperti dalam Gunakan semakan berkuasa AI. Menerbitkan semula ke GitHub kekal sebagai keputusan yang anda buat dalam Control Center — memulakan semakan dari GitHub tidak menerbitkan apa-apa ke GitHub dengan sendirinya.
Label itu tercetus sekali sahaja bagi setiap PR: menambahnya ialah permintaannya, dan ia tidak dipasang semula apabila dibuang dan ditambah semula. Untuk menjalankan semakan sekali lagi — selepas push, misalnya — sebut bot itu.
Tanya soalan
Bahagian bertajuk “Tanya soalan”Komen pada perbualan PR:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Apa yang berlaku, mengikut urutan:
- Bot itu memberi reaksi 👀 supaya anda tahu komen itu telah dilihat
- Soalan itu disiarkan ke dalam ruang semakan PR sebagai anda — atribusi yang sama seperti jika anda menaipnya dalam Control Center
- Seorang ejen menjawab dalam ruang itu, dan jawapan itu disiarkan semula pada PR sebagai komen yang @-menyebut anda
Soalan pada PR yang belum mempunyai semakan akan membangunkan ejen ketua (CEO) ruang kerja itu; apabila sesuatu semakan telah dijalankan, ejen yang bercakap terakhir akan menjawab, jadi susulan sampai kepada sesiapa yang mempunyai konteksnya.
Susuli dalam benang semakan
Bahagian bertajuk “Susuli dalam benang semakan”Balas di dalam benang semakan sebaris yang bot itu sertai — komen diff yang ditinggalkannya, atau jawapan yang disiarkannya dalam benang itu. Tiada sebutan diperlukan; benang itu ialah penujukannya:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Perbualan berbilang giliran berfungsi dengan cara yang sama: setiap balasan ialah satu lagi soalan dalam perbualan yang sama, dengan ruang semakan sebagai konteks, dan jawapan itu kembali dalam benang itu.
Susulan pada garis masa perbualan PR ialah komen peringkat atas yang baharu, jadi ia masih memerlukan @sebutan.
Kepada siapa bot itu bercakap
Bahagian bertajuk “Kepada siapa bot itu bercakap”Komen GitHub tiba dengan tidak lebih daripada satu log masuk, jadi bot itu menyelesaikan penulisnya sebelum melakukan apa-apa:
- Akaun GitHub anda mesti dipautkan kepada identiti anda dalam Control Center — daftar masuk dengan GitHub, atau tampal token, dari Tetapan → Ruang kerja → Profil & identiti → Hos kod
- Anda mesti ahli dengan peranan tulis (
member,admin, atauowner) dalam ruang kerja yang memautkan repositori itu
Sesiapa yang lain menerima satu balasan sopan yang menerangkan apa yang tiada —
log masuk yang tidak dikenali (tidak dipautkan, atau dipautkan tetapi bukan
ahli di sini) dan peranan baca sahaja ialah dua kesnya — dan kata-kata mereka
tidak pernah memasuki ruang kerja itu. Label ai-review tidak dikawal dengan
cara ini: ia tiada penulis, jadi ia memulakan semakan dalam ruang kerja yang
sudah memautkan repositori itu.
Apa yang dijangka
Bahagian bertajuk “Apa yang dijangka”| Perkara | Tingkah laku |
|---|---|
| Pengakuan | 👀 pada komen dalam masa kira-kira satu minit — selang sapuan. Label ai-review tiada komen untuk diberi reaksi |
| Jawapan | Disiarkan sebagai bot (aplikasi itu), dalam lorong tempat soalan itu ditanya |
| Atribusi dalam ruang | Soalan itu milik anda; ejen berjalan bagi pihak anda, di bawah tetapan autonomi ruang itu |
| Semakan | Penemuan mendarat dalam ruang semakan; penerbitan ke GitHub adalah manual |
Kependaman kira-kira satu minit itulah harganya kerana tidak memerlukan sebarang akses rangkaian masuk. Tiada apa-apa tentang sapuan itu yang mendesak, dan tiada apa-apa hilang semasa pelayan di luar talian — komen yang tiba semasa waktu henti akan ditangkap pada sapuan berikutnya.
Penyelesaian masalah
Bahagian bertajuk “Penyelesaian masalah”Tiada apa-apa berlaku bagi komen yang menyebut bot.
- Adakah aplikasi itu dipasang pada akaun yang memiliki repositori itu, dan repositori itu dipautkan ke ruang kerja? Repositori yang tidak dipautkan dilangkau sebelum apa-apa direkodkan, jadi memautkannya kemudian tetap menyampaikannya
- Adakah akaun GitHub anda dipautkan, dan adakah anda ahli dengan peranan tulis? Semak PR untuk balasan penolakan bot itu — ia menyatakan yang mana
- Masih tiada apa-apa? Log pelayan menamakan sapuan dan PR itu apabila sesuatu
gagal; cari
pr_conversation:(pengundi) dangithub_pr_conversation:(jambatan)
Label itu tidak memulakan semakan.
Ia tercetus sekali sahaja bagi setiap PR. Jika semakan sudah dijalankan, atau
label itu ditambah sebelum pelayan pernah melihat PR itu (sapuan pertama
merekodkan tunggakan itu secara senyap dan bukannya mencetuskannya sekaligus),
sebut bot itu sebagai gantinya — @myapp review sentiasa memulakan satu
kecuali satu semakan sudah pun berjalan.
Jawapan bot itu tidak pernah sampai ke GitHub.
Jawapan itu sendiri tidak pernah hilang — ia ada dalam ruang semakan PR itu dalam Control Center. Kegagalan penyiaran (GitHub tidak beroperasi, kebenaran berubah) akan dilogkan dan balasan itu tidak dicuba semula; tanya lagi dalam benang itu jika ia penting.
Panduan berkaitan
Bahagian bertajuk “Panduan berkaitan”- Cipta GitHub App: pendaftaran yang melahirkan bot itu
- Gunakan semakan berkuasa AI: membaca penemuan yang dihasilkan oleh semakan yang dimulakan melalui sebutan
- Sediakan integrasi GitHub: memautkan akaun GitHub anda sendiri, yang menjadi asas bot menyelesaikan identiti anda
- Gunakan ruang: ruang tempat semua ini mendarat