Sari la conținut

Configurează integrarea GitHub

Acest ghid acoperă părțile specifice GitHub ale configurării. GitHub este unul dintre cele trei hosturi de cod acceptate — vezi Conectează un host de cod pentru conectarea GitLab sau Bitbucket și pentru modul în care un spațiu de lucru le combină.

  • Un cont GitHub cu acces la repo-urile pe care vrei să lucrezi
  • Fie un GitHub App înregistrat pentru serverul tău (vezi Creează GitHub App) ca să te poți autentifica, fie un token de acces personal cu repo și read:org de lipit

Un flux de dispozitiv: GitHub îți arată un cod scurt, îl aprobi pe github.com, iar serverul primește credențialul — fără URL de callback, fără port, nimic de expus. Disponibil oricând serverul are un client id, pe care o versiune oficială îl include deja.

  1. Mergi la Setări → Spațiu de lucru → Profil și identitate → Găzduire de cod (sau la primul pas al onboardingului)
  2. Pe rândul GitHub, apasă Autentifică-te cu GitHub
  3. Un dialog afișează un cod de opt caractere și deschide github.com/login/device în browser. Codul este deja în clipboard
  4. Lipește-l, aprobă aplicația și revino. Rândul trece singur la „Autentificat ca numele-tău-de-utilizator”

Dialogul poate fi închis cât timp termini în browser — serverul continuă să interogheze până când codul expiră (aproximativ 15 minute), așa că autentificarea se finalizează oricum.

Soluția de rezervă pentru când serverul nu are nicio aplicație, când aplicația nu este instalată pe un cont de care ai nevoie sau când preferi pur și simplu să folosești un PAT.

  1. Mergi la Setări → Spațiu de lucru → Profil și identitate → Găzduire de cod
  2. Pe rândul GitHub, apasă Adaugă token
  3. Lipește un token cu repo și read:org (clasic) și salvează. Un token fine-grained are nevoie de Contents și Pull requests la nivel de repository (citire și scriere), plus Checks și Actions (citire).

Tokenul este verificat pe măsură ce este stocat, așa că rândul poate indica contul căruia îi aparține. Apasă Deconectează pentru a-l elimina.

Punct de control: rândul GitHub afișează „Autentificat ca numele-tău-de-utilizator“. Un sufix indică sursa atunci când credențialul care răspunde nu este al tău — „prin aplicația acestui server” sau „din mediu”.

Funcție Cum
Lista și detaliile PR-urilor API-ul GitHub REST, de pe server, cu identitatea aplicației sau cu propriul tău credențial
Rulările de verificare API-ul GitHub Checks
Publicarea revizuirilor Un pas care necesită aprobarea utilizatorului și care publică revizuirea ta pe PR
Înregistrarea repo-urilor Un checkout este acceptat dacă remote-ul său origin indică spre github.com — sau spre gitlab.com / bitbucket.org
Accesul agenților la GitHub Brokerul de credențiale injectează un token doar pentru citire ca GH_TOKEN / GITHUB_TOKEN; push-urile trec prin Control Center
Notificări O interogare pe server a inbox-ului tău de notificări GitHub generează „menționat într-un pull request” și „revizuire solicitată”
Profilurile utilizatorilor Carduri de profil la hover și filtrarea PR-urilor după autor

Unele căi folosesc API-ul GraphQL în loc de REST acolo unde este mai ieftin — activitatea de ramuri pentru selectorul de compunere a PR-urilor și starea de revizuire în timp real care decide dacă o notificare de revizuire solicitată mai este în așteptare.

Bara de titlu afișează un indicator de stare când un furnizor este degradat, acoperind GitHub, Claude, OpenAI și Kimi. Este ascuns cât timp totul este în regulă — prezența semnalează o problemă, nu absența ei.

Apasă pe indicator pentru a deschide o fereastră glisantă cu starea fiecărui furnizor și un buton de reîmprospătare. Stările se reîmprospătează singure la fiecare două minute.

  • Un agent care lucrează într-un worktree GitHub primește întotdeauna un token GitHub doar pentru citire. Un push trece prin Control Center, care întreabă regula Push către un remote și apoi îl transmite cu un token de scriere pe care agentul nu îl deține niciodată. Vezi Configurează politicile de sandbox
  • Commit-urile făcute de un agent sunt atribuite agentului — numele afișat plus (agent), la o adresă sintetică indexată după id-ul agentului — niciodată unui om. Persoana care a cerut este creditată printr-un trailer Co-Authored-By
  • Cu un GitHub App configurat, brokerul emite la fiecare lansare tokenuri de instalare fine-grained, limitate la repo și valabile aproximativ o oră, în loc să predea un token larg. Instalarea este rezolvată pornind de la proprietarul repo-ului rulării, așa că o singură aplicație instalată pe mai multe conturi se limitează corect la contul pe care îl atinge rularea. Fără o aplicație, agenții primesc tokenul din mediu, care nu poate fi restrâns doar la citire: regula de push leagă atunci git push, dar nu și codul care folosește tokenul direct
  • Tokenul este întotdeauna al brokerului, niciodată al membrului care face cererea. Tokenul serverului este reținut de la o rulare care acționează pentru un membru care nu este proprietarul și nu a conectat GitHub

Lista de PR-uri este goală și spune că GitHub nu este conectat

Secțiune intitulată „Lista de PR-uri este goală și spune că GitHub nu este conectat”

Nu ai niciun credențial GitHub pe acest server. Autentifică-te sau lipește un token la Găzduire de cod. Repo-urile de pe alte forge-uri nu sunt afectate — doar cele de pe GitHub nu contribuie cu nimic.

Rândul oferă „Adaugă token”, dar nu și „Autentifică-te cu GitHub”

Secțiune intitulată „Rândul oferă „Adaugă token”, dar nu și „Autentifică-te cu GitHub””

Serverul nu are un client id — ceea ce este starea normală pentru o compilare din sursă, întrucât credențialele sunt incluse doar în versiunile oficiale. Vezi Creează GitHub App: durează aproximativ două minute și doar proprietarul serverului trebuie să o facă, o singură dată.

Dialogul de autentificare spune că furnizorul nu a returnat niciun cod de dispozitiv

Secțiune intitulată „Dialogul de autentificare spune că furnizorul nu a returnat niciun cod de dispozitiv”

GitHub App există, dar caseta de selectare Device flow este dezactivată. Activeaz-o în setările aplicației (General → Device flow) și încearcă din nou.

Rândul spune „prin aplicația acestui server” când mă așteptam la propriul cont

Secțiune intitulată „Rândul spune „prin aplicația acestui server” când mă așteptam la propriul cont”

Nu te-ai autentificat; ceea ce vezi este identitatea de aplicație a serverului care răspunde. Apasă Autentifică-te cu GitHub pe acel rând.

Un PAT fine-grained nu afișează buton de îmbinare sau starea verificărilor

Secțiune intitulată „Un PAT fine-grained nu afișează buton de îmbinare sau starea verificărilor”

Tokenul are nevoie de Contents și Pull requests (citire și scriere), plus Checks și Actions (citire). După ce îl modifici, lipește-l din nou la Găzduire de cod.

Înregistrarea le necesită pe toate trei: calea este în interiorul unui arbore de lucru git, are un remote origin, iar acel remote indică spre un forge acceptat (github.com, gitlab.com sau bitbucket.org). Vezi Adaugă repo-uri într-un spațiu de lucru.

Totul se oprește pentru o vreme după utilizare intensă

Secțiune intitulată „Totul se oprește pentru o vreme după utilizare intensă”

Acesta este întrerupătorul de circuit pentru limita de rată. GitHub își semnalează limita principală printr-un 403 care poartă x-ratelimit-remaining: 0 și un timp de resetare; când vede unul, clientul respinge local cererile ulterioare fără un apel de rețea până când fereastra se scurge, așa că o furtună de reîncercări nu poate adânci limita. Eșecurile tranzitorii sunt reîncercate de până la trei ori cu backoff exponențial, respectând retry-after.