Exo — это экспериментальный проект, в котором используется электронное приложение с доступом к файловой системе для поддержки общих задач разработки программного обеспечения с использованием LLM.
Короче говоря, Exo — это приложение, которое поможет вам читать, писать и рефакторить код непосредственно в вашей кодовой базе. Вы можете найти кучу демонстраций на моей странице в Твиттере выше.
Сервер Exo — это серверная часть электронного приложения Exo.
Вот репозиторий приложения Exo Electron. Это репозиторий сервера Exo. Вам нужно будет клонировать оба, чтобы приложение работало локально.
Снимок экрана приложения Exo рядом с vscode:
Экзо находится в стадии разработки!
Я выпустил его в продажу задолго до того, как он был готов к производству. Используйте на свой страх и риск!
https://www.loom.com/share/5f34499ccfb54bfdae32ee50f454b365
Цель приложения Exo — создать Jarvis/FRIDAY Тони Старка — чат или голосовой интерфейс, с которым вы можете взаимодействовать, чтобы писать код и создавать вещи.
Чем это отличается от других инструментов генерации кода? Exo — это отдельно стоящее приложение, которое живет на вашем рабочем столе. Сейчас мы далеки от этого, но в будущем вы сможете использовать Exo для создания программного обеспечения (в отличие от IDE).
Будучи автономным приложением, Exo включает в себя инструменты пользовательского интерфейса, которые больше соответствуют практикам кодирования в мире после LLM.
ai_create_code
для передачи кода обратно в приложение, где он будет записан в вашу кодовую базу. https://www.loom.com/share/d2ec3f01140746e6ae1d47507f24e5ec
git clone https://github.com/kmgrassi/exo-server
yarn install
Для начала вам нужны две учетные записи:
Если вы просто хотите начать использовать 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
Это обновит вашу базу данных Supabase с использованием схемы, найденной в файле schema.sql
.
yarn run dev
Подробности развертывания появятся в ближайшее время. Я использую Хероку. Существует Procfile, поэтому вы сможете легко выполнить развертывание в Heroku. TODO — добавить кнопку «развернуть в Heroku»
Exo — это приложение для чата. Вы взаимодействуете с пользовательским интерфейсом через интерфейс чата. Вы можете задавать такие вопросы, как: «Можете ли вы написать функцию ts, которая подсчитывает буквы в строке и записывает их в блокнот?»
Чтобы проиндексировать репо:
Click on "Select repo"
Then "Save Repo"
Then click on the paper icon with the up arrow
Это отправит все файлы в репо на сервер для индексации. Сервер будет использовать LLM, чтобы получить объяснение кода, встроить код и объяснение и сохранить все в базе данных.
После индексации репозитория вы можете искать код в этом репозитории. Например: «Найдите компонент, который отображает компонент входа в систему».
TODO – объясните несколько способов использования приложения для написания кода.
TODO - добавить дорожную карту
Вы можете найти кучу видеороликов, описывающих, как это было построено, в моем твиттере.
Не стесняйтесь писать мне в Twitter или по электронной почте: kmgrassi
с помощью обычного почтового клиента.