Exo es un proyecto experimental que utiliza una aplicación electrónica con acceso al sistema de archivos para respaldar tareas comunes de desarrollo de software mediante LLM.
En resumen, Exo es una aplicación que puede ayudarte a leer, escribir y refactorizar código directamente en tu base de código. Puede encontrar un montón de demostraciones en mi página de Twitter arriba.
El servidor Exo es el backend de la aplicación Exo electron.
Aquí está el repositorio de la aplicación Exo electron. Este es el repositorio del servidor Exo. Tendrás que clonar ambos para que la aplicación funcione localmente.
Captura de pantalla de la aplicación Exo junto a vscode:
¡Exo está en construcción!
He liberado esto mucho antes de que esté listo para producción. ¡Úselo bajo su propio riesgo!
https://www.loom.com/share/5f34499ccfb54bfdae32ee50f454b365
El objetivo de la aplicación Exo es crear Jarvis/FRIDAY de Tony Stark, una interfaz de chat o voz con la que puedes interactuar para escribir código y construir cosas.
¿En qué se diferencia de otras herramientas de generación de código? Exo es una aplicación independiente que vive en tu escritorio. Estamos lejos de eso ahora, pero en el futuro se podría usar Exo para crear software (en lugar de un IDE).
Al ser una aplicación independiente, Exo adopta herramientas de interfaz de usuario que están más alineadas con las prácticas de codificación en un mundo posterior al LLM.
ai_create_code
para pasar el código a la aplicación donde se escribirá en su base de código. https://www.loom.com/share/d2ec3f01140746e6ae1d47507f24e5ec
git clone https://github.com/kmgrassi/exo-server
yarn install
Necesita dos cuentas para comenzar:
Si solo desea comenzar a usar Exo sin estas cuentas, puede registrarse para usar la aplicación aquí: https://www.getexo.dev/auth/signup
Obtenga sus credenciales después de crear su cuenta y péguelas en el archivo .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
Cambie el nombre .env-example
a .env
Después de haber agregado sus credenciales, ejecute:
yarn run create-db-schema
Esto actualizará su base de datos Supabase con el esquema que se encuentra en el archivo schema.sql
.
yarn run dev
Los detalles de la implementación estarán disponibles próximamente. Yo uso Heroku. Hay un Procfile, por lo que debería poder implementarlo fácilmente en Heroku. TODO: agregue el botón "implementar en Heroku"
Exo es una aplicación de chat. Interactúa con la interfaz de usuario a través de la interfaz de chat. Puedes hacer preguntas como: "¿Puedes escribir una función ts que cuente las letras de una cadena en el bloc de notas?"
Para indexar un repositorio:
Click on "Select repo"
Then "Save Repo"
Then click on the paper icon with the up arrow
Esto enviará todos los archivos del repositorio al servidor para su indexación. El servidor utilizará el LLM para obtener una explicación del código, incrustar el código y la explicación y almacenar todo en la base de datos.
Después de indexar un repositorio, puede buscar código en ese repositorio. Por ejemplo: "Busque el componente que representa el componente de inicio de sesión"
TODO: explica varias formas de utilizar la aplicación para escribir código.
TODO - agregar hoja de ruta
Puedes encontrar un montón de videos que describen cómo se creó esto en mi cuenta de Twitter.
No dudes en enviarme un mensaje privado en Twitter o correo electrónico: kmgrassi
con el cliente de correo electrónico habitual.