autopilot – Ein KI-Entwickler
autopilot ist ein KI-Tool, das GPT nutzt, um eine Codebasis zu lesen, Kontext zu erstellen und von Ihnen angeforderte Aufgaben zu lösen.
Autopilot-Demo" width="800" data-animated-image="" style="max-width: 100%;">
Treten Sie unserem Discord bei
Beteiligen Sie sich an der Unterhaltung unter https://discord.gg/r72ykfvyx7
Wie es funktioniert
- Sie richten autopilot mit einer Aufgabe auf eine Codebasis.
- autopilot generiert und verwaltet eine Datenbank mit Metadaten zu den Codebasisdateien. (im Codebase-Verzeichnis)
- autopilot entscheidet anhand der Metadaten-Datenbank, welche vorhandenen Dateien er für die Aufgabe benötigt.
- autopilot versucht, die angeforderte Aufgabe für jede relevante Datei umzusetzen.
autopilot als GitHub-App
Sie können dieses Projekt verwenden, indem Sie die GitHub-App installieren, die auf der Code- autopilot -Website verfügbar ist. Diese App verwendet autopilot , um Probleme, die Sie auf GitHub öffnen, automatisch zu lösen, und verfügt außerdem über Funktionen für Pull Request. Es bietet eine benutzerfreundliche Oberfläche und eine direkte Integration mit Github.
Merkmale
- - Verarbeitet Codebasisdateien vor.
- ? - Implementiert Codeänderungen für Sie.
- - Parallele Anrufe an Agenten, sofern möglich.
- - Zeigt Ihnen, was aktualisiert wurde. (Vollständiges Prozessprotokoll mit jeder KI-Interaktion wird ebenfalls erstellt)
- ?️ – Interaktiver Modus – Sehen Sie sich den Vorgang mit den Optionen „Wiederholen“, „Fortfahren“ und „Abbrechen“ an.
Aufgabenerwartungen
- Referenzierung des aktuellen Codes:
- ✅ Verweisen auf eine bestimmte Datei anhand des relativen Projektpfads.
- ✅ Referenzieren einer bestimmten Datei nur anhand des Dateinamens, Ignorieren des Unterverzeichnispfads.
- ✅ Verweisen auf eine bestimmte Funktion innerhalb einer Datei ohne den Dateinamen.
- ✅ Verweis auf ein wichtiges Geschäftskonzept, das ausschließlich in einer Datei verwendet wird.
- ✅ Referenzierung aller Projektdateien.
- ? Allgemeine logische Anfragen. Ihre Laufleistung würde je nach Modell, Codebasis und Aufgabe unterschiedlich sein. Einige arbeiten. (Sollte Aufgabenbewertung einführen)
- Durchgeführte Änderungen:
- ✅Erstellen Sie eine neue Datei basierend auf einer vorhandenen Datei.
- Beginnen Sie eine neue Datei von Grund auf.
- ✅Aktualisieren Sie eine vorhandene Datei.
- ✅Aktualisieren Sie mehrere vorhandene Dateien.
- Vorhandene Dateien löschen. (Sie werden möglicherweise geleert, aber derzeit nicht gelöscht.)
- Beginnen Sie mit der Verwendung neuer Bibliotheken von Drittanbietern. (Benötigt die Ausführung willkürlichen Codes, um die Bibliothek zu installieren)
- Kaskadenaktualisierung verwandter Dateien wie Tests. (Kommt bald)
- Testen Sie den geschriebenen Code und reparieren Sie ihn selbst.
Voraussetzungen
nodejs v18 oder höher.
Installation
- Klonen Sie das Repository:
git clone https://github.com/fjrdomingues/autopilot.git
- Führen Sie
cd autopilot
aus, um Abhängigkeiten zu installieren: npm ci
- Erstellen Sie die
.env
Datei und richten Sie die Umgebungsvariablen ein:- Kopieren Sie die Datei .env.template nach .env:
cp .env.template .env
- Richten Sie einen OpenAI-API-Schlüssel und eine Datei mit dem Schlüssel ein:
OPENAI_API_KEY=<your-api-key>
. Erstellen Sie einen openAI-API-Schlüssel - Legen Sie den Pfad zu Ihrem Code fest:
CODE_DIR=<path-to-your-code>
(oder verwenden Sie später -d path-to-your-code
) -
IGNORE_LIST=node_modules,coverage,public,__tests__
aktualisieren - Aktualisieren Sie
FILE_EXTENSIONS_TO_PROCESS=.js,.tsx,.ts,.jsx
Läuft
-
node ui -t "YOUR_TASK"
– ist der einfachste Weg, um zu beginnen.- Lösungen werden automatisch auf Ihren Code angewendet und, wenn möglich, ein Git-Diff angezeigt.
- Alternativ können Sie
--auto-apply=false
angeben.
-
node ui -h
– zeigt Ihnen alle Optionen.
Interaktiver Modus
Verwenden Sie node ui -i
für einen interaktiven Modus. Hier können Sie die Ausgabe jedes Schritts überprüfen, bevor Sie fortfahren.
? Mitwirken
Wir führen autopilot auf einem Server aus, der mit dem Repository https://github.com/fjrdomingues/autopilot verbunden ist. Neu erstellte Issues lösen autopilot aus und erstellen einen neuen Pull Request mit einem Vorschlag. Läuft mit gpt-4
Wir freuen uns über Beiträge! Bitte senden Sie Pull-Anfragen an das Repository und stellen Sie sicher, dass Ihre Änderungen mit den Zielen und Richtlinien des Projekts übereinstimmen. Gemeinsam können wir autopilot zu einem noch leistungsfähigeren und effizienteren Tool für Entwickler machen!
Lauftests – alles
npm run test
– führt alle Tests aus
Ausführen von Tests – Unit-Test
npm run unit-test
– führt die Unit-Tests aus
Durchführung von Tests – Benchmarks
npm run e2e-test
– führt die End-to-End-Tests aus
Codestruktur
- Agenten – Interaktionen mit Sprachmodellen.
- Module - die meisten anderen internen Bibliotheken.
- ui.js – Die main().
- Protokolle – Dokumentieren Sie die Ausführung einer Aufgabe.