Autopilot
Übergib einen Pull Request an HeyDeer. Autopilot behebt, was offen ist, pusht in den Branch des PR und prüft jede Änderung, bis der PR gemergt werden kann oder dich braucht.
Voraussetzungen
- Der Pull Request ist offen, und sein Branch liegt im selben Repository, nicht in einem Fork.
- Du hast Schreibzugriff auf das Repository, und die Einstellung Wer Prüfungen anfordern kann schließt dich ein.
- Der Arbeitsbereich hat einen kostenpflichtigen Tarif. Siehe Tarife.
- HeyDeer hat Lese- und Schreibzugriff auf Contents und Pull requests. Siehe GitHub App und Berechtigungen.
Autopilot starten und stoppen
Du kannst Autopilot auf einem dieser Wege starten:
- Wähle auf der Prüfungsseite in HeyDeer Autopilot und dann Autopilot starten.
- Wähle in HeyDeers Prüfkommentar auf GitHub die Schaltfläche Autopilot und dann in HeyDeer Autopilot starten.
- Kommentiere
@heydeer autopilotim PR.
Zum Stoppen wählst du auf seiner Seite in HeyDeer Autopilot stoppen oder kommentierst @heydeer autopilot stop. Ein erneuter Start setzt die Rundenzahl zurück und berücksichtigt neue Antworten und Kommentare.
Solange Autopilot läuft, kannst du für den PR keine Behebung starten und keine Prüfung anfordern; stoppe Autopilot zuerst. Während eine Behebung läuft, kann Autopilot nicht starten.
Was Autopilot behebt
| Punkt | Was dazu zählt |
|---|---|
| Befunde | Befunde innerhalb des Feedback-Umfangs des Repositorys und noch offene frühere Bedenken von HeyDeer, so wie der Check HeyDeer Review sie zählt. |
| Anfragen | Offene Unterhaltungen, die eine Person begonnen hat und in denen zuletzt jemand mit Schreibzugriff geschrieben hat, sowie Kommentare und Texte von Prüfungen, die solche Personen nach der Prüfung, mit der Autopilot begonnen hat, im PR veröffentlicht haben. Während Autopilot läuft, geht eine Erwähnung von @heydeer im PR, auch in HeyDeers eigenen Prüfungsunterhaltungen, an Autopilot, statt eine eigene Anfrage zu starten. |
| Fehlgeschlagene Checks | Erforderliche Checks, wenn deine Branch-Regeln welche festlegen; sonst alle Checks außer HeyDeer Review. |
| Merge-Konflikte | HeyDeer mergt den Basis-Branch und löst die Konflikte. Es führt nie ein Rebase oder einen Force-Push durch und aktualisiert einen Branch nicht nur deshalb, weil er zurückliegt. |
Autopilot ignoriert Kommentare von Bots und von Personen ohne Schreibzugriff. HeyDeer antwortet in jeder Unterhaltung, die es bearbeitet hat, und fragt dort nach, wenn eine Anfrage die Entscheidung eines Menschen braucht.
HeyDeer liest Titel, Zusammenfassung und Anmerkungen jedes fehlgeschlagenen Checks und bei einem GitHub-Actions-Job das Log des fehlgeschlagenen Schritts. Es reproduziert den Fehler in einer isolierten Sandbox, in der es Code bearbeitet und deine Tests ausführt. Fehler, die es nicht reproduzieren kann, bleiben auf der Liste dessen, was noch offen ist. Zum Lesen von Logs ist die Actions-Berechtigung nötig; ohne sie arbeitet HeyDeer mit dem Rest. Wie die Codeausführung isoliert ist, erfährst du unter Sicherheit.
Commits von Autopilot können keine Dateien in .github/workflows/ ändern. Ein geänderter Workflow würde mit den Secrets deines Repositorys laufen, bevor jemand ihn gelesen hat.
Wann Autopilot stoppt
| Grund | Was passiert ist |
|---|---|
| Bereit | Es gibt nichts mehr zu beheben. |
| Braucht deine Antwort | HeyDeer hat in einer Unterhaltung oder in seiner Prüfung eine Frage gestellt oder braucht deine Bestätigung, ob ein früheres Bedenken behoben ist, und hat alles andere behoben. Antworte dort und starte Autopilot dann erneut. |
| Jemand anderes hat gepusht | Jeder Push, der nicht von HeyDeer stammt, auch über die GitHub-Schaltfläche Update branch. HeyDeer verwirft die laufende Runde und die zurückgehaltenen Prüfungen. |
| Rundenlimit | Autopilot hat 5 Runden durchlaufen. |
| Kein Fortschritt | Eine Runde hat nichts geändert und dieselben Punkte sind noch offen, zwei Runden hintereinander haben nichts erledigt, oder alles Offene ist etwas, wofür eine Runde einen Menschen braucht. Der Kommentar sagt, was eine Person bei jedem Punkt tun muss, etwa ein Secret hinzufügen oder einen Workflow ändern. |
| Checks nicht abgeschlossen | Die Checks liefen nach einer Stunde noch. |
| Merge-Queue | Der PR ist in der Merge-Queue, und ein Push würde ihn daraus entfernen. |
| Push abgelehnt | GitHub hat den Push von HeyDeer abgelehnt, zum Beispiel weil eine Branch-Regel einschränkt, wer auf den Branch pushen darf. |
| Credits oder Tarif | Der Arbeitsbereich hat keine Credits oder keinen kostenpflichtigen Tarif mehr. |
| Von jemandem gestoppt | Alle mit Schreibzugriff auf das Repository können ihn stoppen. |
| Zugriff entzogen | Die Person, die Autopilot gestartet hat, kann im Repository keine Prüfungen mehr anfordern. |
| GitHub hat den Zugriff verweigert | GitHub hat HeyDeer daran gehindert, den PR zu lesen oder zu aktualisieren, etwa nachdem HeyDeer den Zugriff auf das Repository verloren hat. |
| PR geändert | Der PR wurde geschlossen oder gemergt, oder sein Basis-Branch hat sich geändert. |
| Unvollständig | HeyDeer konnte eine Runde oder die Prüfung des neuesten Commits nicht abschließen. |
Was HeyDeer auf GitHub veröffentlicht
- Ein Autopilot-Kommentar im PR, der während der Arbeit aktualisiert wird: was Autopilot gerade tut und was er behebt, mit den Commits jeder abgeschlossenen Runde und ihren Punkten unter Verlauf. HeyDeer blendet ältere Autopilot-Kommentare als veraltet aus.
- Commits im Branch des PR und Antworten in den Unterhaltungen, die es bearbeitet hat.
- Der Check HeyDeer Review, der in Bearbeitung bleibt, solange Autopilot läuft.
- Wenn Autopilot stoppt, seine Prüfung des neuesten Commits, außer jemand anderes hat gepusht oder der PR hat sich geändert, und das Ergebnis in seinem Kommentar: warum er gestoppt hat und wofür er dich noch braucht. Wenn er dich braucht, für eine Antwort oder ein Problem, das er nicht lösen konnte, postet er einen neuen Kommentar, der die Person erwähnt, die Autopilot gestartet hat.
Pushes von Autopilot starten keine automatischen Prüfungen, und HeyDeer fordert bei niemandem Prüfungen an. Während Autopilot läuft, zeigen die Prüfkommentare von HeyDeer die Schaltflächen Mit HeyDeer beheben und Autopilot nicht an.
Die automatische Genehmigung funktioniert bei der Prüfung, die HeyDeer veröffentlicht, wie gewohnt. Um nach Pushes von HeyDeer die Genehmigung eines Menschen zu verlangen, aktiviere in deinen Branch-Regeln Require approval of the most recent reviewable push. Siehe Automatische Genehmigung.
Autopilot in HeyDeer listet alle Läufe in den Repositorys auf, die du sehen kannst. Die Seite eines Laufs zeigt seinen Status, was noch offen ist und die verbrauchten Credits sowie jede Runde mit dem, was sie bearbeitet hat, ihren Commits und Antworten und der Zusammenfassung des Agenten.
Credits
Behebung und Prüfung jeder Runde verbrauchen Credits des Arbeitsbereichs wie jede andere Behebung und Prüfung. Für Autopilot selbst fallen keine zusätzlichen Kosten an. Siehe So funktionieren Credits.