Exo は、ファイル システムにアクセスできる Electron アプリを使用して、LLM を使用した一般的なソフトウェア開発タスクをサポートする実験的なプロジェクトです。
つまり、Exo は、コードベースで直接コードの読み取り、書き込み、リファクタリングを支援できるアプリです。上記の私の Twitter ページでたくさんのデモを見つけることができます。
Exo サーバーは Exo Electron アプリのバックエンドです。
Exo Electron アプリのリポジトリは次のとおりです。これは Exo サーバー リポジトリです。アプリをローカルで動作させるには、両方のクローンを作成する必要があります。
vscode の隣にある Exo アプリのスクリーンショット:
Exoは現在製作中です!
私はこれを、製品化の準備が整うずっと前に公開しました。ご自身の責任でご使用ください。
https://www.loom.com/share/5f34499ccfb54bfdae32ee50f454b365
Exo アプリの目標は、Tony Stark の Jarvis/FRIDAY、つまりコードを書いたり構築したりするために対話できるチャットまたは音声インターフェイスを作成することです。
これは他のコード生成ツールとどう違うのでしょうか? Exo はデスクトップ上にある自立型アプリです。今はまだそこには程遠いですが、将来的には (IDE ではなく) Exo を使用してソフトウェアを構築できるようになるでしょう。
Exo は独立したアプリケーションであるため、LLM 以降の世界でのコーディングの実践により沿った UI ツールを採用しています。
ai_create_code
エンドポイントを使用してコードをアプリに戻し、コードベースに書き込まれます。 https://www.loom.com/share/d2ec3f01140746e6ae1d47507f24e5ec
git clone https://github.com/kmgrassi/exo-server
yarn install
始めるには 2 つのアカウントが必要です。
これらのアカウントなしで Exo の使用を開始したい場合は、ここでサインアップしてアプリを使用できます: https://www.getexo.dev/auth/signup
アカウントを作成した後に資格情報を取得し、 .env-example
ファイルに貼り付けます。
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
.env-example
名前を.env
に変更します
資格情報を追加したら、次を実行します。
yarn run create-db-schema
これにより、 schema.sql
ファイルにあるスキーマで Supabase データベースが更新されます。
yarn run dev
導入の詳細については近日公開予定です。私はHerokuを使っています。 Procfile があるので Heroku に簡単にデプロイできるはずです。 TODO - 「Heraku にデプロイ」ボタンを追加します
Exoはチャットアプリです。チャット インターフェイスを介して UI と対話します。 「スクラッチ パッドの文字列内の文字を数える ts 関数を作成できますか?」のような質問をすることができます。
リポジトリにインデックスを付けるには:
Click on "Select repo"
Then "Save Repo"
Then click on the paper icon with the up arrow
これにより、リポジトリ内のすべてのファイルがサーバーに送信され、インデックスが作成されます。サーバーは LLM を使用してコードの説明を取得し、コードと説明を埋め込み、すべてをデータベースに保存します。
リポジトリにインデックスを付けると、そのリポジトリ内のコードを検索できるようになります。例: 「ログイン コンポーネントをレンダリングするコンポーネントを検索する」
TODO - アプリを使用してコードを記述するいくつかの方法を説明します。
TODO - ロードマップを追加します
私の Twitter フィードで、これがどのように構築されたかを説明する多数のビデオを見つけることができます。
Twitter で私に気軽に dm するか、通常の電子メール クライアントを使用してkmgrassi
電子メールを送信してください。