Exo ist ein experimentelles Projekt, das eine Elektronen-App mit Zugriff auf das Dateisystem verwendet, um gängige Softwareentwicklungsaufgaben mithilfe von LLMs zu unterstützen.
Kurz gesagt, Exo ist eine App, die Ihnen helfen kann, Code direkt in Ihrer Codebasis zu lesen, zu schreiben und umzugestalten. Auf meiner Twitter-Seite oben finden Sie eine Reihe von Demos.
Der Exo-Server ist das Backend für die Exo-Elektronen-App.
Hier ist das Repo für die Exo-Elektronen-App. Dies ist das Exo-Server-Repo. Sie müssen beide klonen, damit die App lokal funktioniert.
Screenshot der Exo-App neben vscode:
Exo befindet sich im Aufbau!
Ich habe es weit vor der Produktionsreife in die Freiheit entlassen. Nutzung auf eigene Gefahr!
https://www.loom.com/share/5f34499ccfb54bfdae32ee50f454b365
Das Ziel der Exo-App besteht darin, Tony Starks Jarvis/FRIDAY zu erstellen – eine Chat- oder Sprachschnittstelle, mit der Sie interagieren können, um Code zu schreiben und Dinge zu erstellen.
Wie unterscheidet sich dies von anderen Tools zur Codegenerierung? Exo ist eine freistehende App, die auf Ihrem Desktop lebt. Wir sind jetzt noch weit davon entfernt, aber in Zukunft könnten Sie Exo zum Erstellen von Software verwenden (im Gegensatz zu einer IDE).
Als eigenständige Anwendung nutzt Exo UI-Tools, die besser auf die Codierungspraktiken in einer Post-LLM-Welt abgestimmt sind.
ai_create_code
um den Code zurück an die App weiterzuleiten, wo er in Ihre Codebasis geschrieben wird. https://www.loom.com/share/d2ec3f01140746e6ae1d47507f24e5ec
git clone https://github.com/kmgrassi/exo-server
yarn install
Um loszulegen, benötigen Sie zwei Konten:
Wenn Sie Exo ohne diese Konten nutzen möchten, können Sie sich hier für die Nutzung der App anmelden: https://www.getexo.dev/auth/signup
Besorgen Sie sich nach dem Erstellen Ihres Kontos Ihre Anmeldeinformationen und fügen Sie sie in die .env-example
ein:
SUPABASE_ANON=Your-supabase-anon-here
SUPABASE_URL=Your-supabase-url-here
SUPABASE_DB_ID=Your-supabase-id-here
SUPABASE_DATABASE_PASSWORD=Your-supabase-password-here
OPENAI_API_KEY=Your-openai-api-key-here
Benennen Sie .env-example
in .env
Nachdem Sie Ihre Anmeldeinformationen hinzugefügt haben, führen Sie Folgendes aus:
yarn run create-db-schema
Dadurch wird Ihre Supabase-Datenbank mit dem Schema aktualisiert, das in der Datei schema.sql
enthalten ist.
yarn run dev
Details zur Bereitstellung folgen in Kürze. Ich verwende Heroku. Es gibt eine Proc-Datei, sodass Sie die Bereitstellung problemlos auf Heroku durchführen können sollten. TODO – Schaltfläche „Auf Heroku bereitstellen“ hinzufügen
Exo ist eine Chat-App. Sie interagieren mit der Benutzeroberfläche über die Chat-Oberfläche. Sie können Fragen stellen wie: „Können Sie eine ts-Funktion schreiben, die die Buchstaben in einer Zeichenfolge auf dem Notizblock zählt?“
So indizieren Sie ein Repo:
Click on "Select repo"
Then "Save Repo"
Then click on the paper icon with the up arrow
Dadurch werden alle Dateien im Repo zur Indizierung an den Server gesendet. Der Server verwendet das LLM, um eine Codeerklärung abzurufen, den Code und die Erklärung einzubetten und alles in der Datenbank zu speichern.
Nachdem Sie ein Repo indiziert haben, können Sie in diesem Repo nach Code suchen. Beispiel: „Suchen Sie die Komponente, die die Anmeldekomponente rendert.“
TODO – Erklären Sie verschiedene Möglichkeiten, die App zum Schreiben von Code zu verwenden.
TODO – Straßenkarte hinzufügen
In meinem Twitter-Feed finden Sie eine Reihe von Videos, die beschreiben, wie dies erstellt wurde.
Fühlen Sie sich frei, mir eine DM auf Twitter oder per E-Mail an kmgrassi
mit dem üblichen E-Mail-Client zu senden