Exo는 LLM을 사용하여 일반적인 소프트웨어 개발 작업을 지원하기 위해 파일 시스템에 액세스할 수 있는 전자 앱을 사용하는 실험 프로젝트입니다.
간단히 말해서 Exo는 코드베이스에서 직접 코드를 읽고, 쓰고, 리팩터링하는 데 도움을 주는 앱입니다. 위의 내 Twitter 페이지에서 다양한 데모를 찾을 수 있습니다.
Exo 서버는 Exo 전자 앱의 백엔드입니다.
다음은 Exo Electron 앱의 저장소입니다. 이것은 Exo 서버 저장소입니다. 앱이 로컬에서 작동하도록 하려면 두 가지를 모두 복제해야 합니다.
vscode 옆에 있는 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
시작하려면 두 개의 계정이 필요합니다.
이러한 계정 없이 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
배포 세부정보가 곧 제공될 예정입니다. 저는 헤로쿠를 사용합니다. Procfile이 있으므로 Heroku에 쉽게 배포할 수 있습니다. TODO - "Heroku에 배포" 버튼 추가
엑소(Exo)는 채팅 앱이다. 채팅 인터페이스를 통해 UI와 상호 작용합니다. 다음과 같은 질문을 할 수 있습니다. "스크래치 패드에 문자열의 문자 수를 세는 ts 함수를 작성할 수 있나요?"
저장소를 색인화하려면 다음을 수행하십시오.
Click on "Select repo"
Then "Save Repo"
Then click on the paper icon with the up arrow
그러면 리포지토리의 모든 파일이 인덱싱될 서버로 전송됩니다. 서버는 LLM을 사용하여 코드 설명을 얻고 코드와 설명을 삽입하고 모든 것을 db에 저장합니다.
저장소를 색인화한 후 해당 저장소에서 코드를 검색할 수 있습니다. 예: "로그인 구성 요소를 렌더링하는 구성 요소 찾기"
TODO - 앱을 사용하여 코드를 작성하는 여러 가지 방법을 설명합니다.
TODO - 로드맵 추가
내 트위터 피드에서 이것이 어떻게 구축되었는지 설명하는 여러 비디오를 찾을 수 있습니다.
트위터로 DM을 보내주시거나 일반 이메일 클라이언트를 사용하여 kmgrassi
이메일을 보내주세요.