autopilot : un desarrollador de inteligencia artificial
autopilot es una herramienta de inteligencia artificial que utiliza GPT para leer un código base, crear contexto y resolver las tareas que usted solicite.
Demostración de piloto automático" width="800" data-animated-image="" style="max-width: 100%;">
Únete a nuestra discordia
Únase a la conversación en https://discord.gg/r72ykfvyx7
como funciona
- Apuntas autopilot a una base de código con una tarea.
- autopilot genera y mantiene una base de datos con metadatos en los archivos del código base. (dentro del directorio base de código)
- autopilot decide qué archivos existentes necesita para la tarea utilizando la base de datos de metadatos.
- autopilot intenta implementar la tarea solicitada en cada archivo relevante.
autopilot como una aplicación GitHub
Puede utilizar este proyecto instalando la aplicación GitHub disponible en el sitio web de Code autopilot . Esta aplicación utiliza autopilot para resolver automáticamente los problemas que abre en GitHub y también tiene funciones para Pull Request. Proporciona una interfaz fácil de usar e integración directa con Github.
Características
- - Preprocesa archivos de código base.
- ? - Implementa cambios de código para usted.
- - Llamadas paralelas a agentes cuando sea posible.
- - Te muestra lo que se actualizó. (También se produce un registro de proceso completo con cada interacción de IA)
- ?️ - Modo interactivo: vea el proceso con las opciones de reintentar, continuar y cancelar.
Expectativas de tareas
- Haciendo referencia al código actual:
- ✅ Hacer referencia a un archivo específico por ruta relativa del proyecto.
- ✅ Hacer referencia a un archivo específico solo por el nombre del archivo, ignorando la ruta de los subdirectorios.
- ✅ Hacer referencia a una función específica dentro de un archivo sin el nombre del archivo.
- ✅ Hacer referencia a un concepto empresarial importante que se utiliza exclusivamente en un archivo.
- ✅ Hacer referencia a todos los archivos del proyecto.
- ? Solicitudes lógicas generales. Su kilometraje diferirá según el modelo, la base de código y la tarea. Algo de trabajo. (Debería introducir la puntuación de tareas)
- Cambios ejecutados:
- ✅Cree un nuevo archivo basado en un archivo existente.
- Inicie un nuevo archivo desde cero.
- ✅Actualizar un archivo existente.
- ✅Actualice varios archivos existentes.
- Eliminar archivos existentes. (Podría vaciarlos, pero no eliminarlos actualmente)
- Comience a utilizar nuevas bibliotecas de terceros. (Necesita ejecución de código arbitrario para instalar la biblioteca)
- Actualización en cascada de archivos relacionados, como pruebas. (Muy pronto)
- Pruebe el código que escribió y corríjalo usted mismo.
Requisitos previos
nodejs v18 o superior.
Instalación
- Clona el repositorio:
git clone https://github.com/fjrdomingues/autopilot.git
- Haga
cd autopilot
para instalar dependencias: npm ci
- Cree el archivo
.env
y configure las variables de entorno:- Copie el archivo .env.template a .env:
cp .env.template .env
- Configure una clave API de OpenAI y un archivo con la clave:
OPENAI_API_KEY=<your-api-key>
. Crear clave API openAI - Establezca la ruta a su código
CODE_DIR=<path-to-your-code>
(o use -d path-to-your-code
más adelante) - Actualizar
IGNORE_LIST=node_modules,coverage,public,__tests__
- Actualizar
FILE_EXTENSIONS_TO_PROCESS=.js,.tsx,.ts,.jsx
Correr
-
node ui -t "YOUR_TASK"
- es la forma más sencilla de comenzar.- Las soluciones se aplicarán automáticamente en su código y, si es posible, se mostrará un git diff.
- Alternativamente, puede especificar
--auto-apply=false
.
-
node ui -h
- le mostrará todas las opciones.
Modo interactivo
Utilice node ui -i
para un modo interactivo; aquí puede revisar el resultado de cada paso antes de continuar.
? Contribuyendo
Estamos ejecutando autopilot en un servidor conectado al repositorio https://github.com/fjrdomingues/autopilot. Los nuevos problemas creados activarán autopilot y crearán una nueva solicitud de extracción con una propuesta. Corriendo con gpt-4
¡Agradecemos las contribuciones! Envíe solicitudes de extracción al repositorio y asegúrese de que sus cambios se alineen con los objetivos y pautas del proyecto. ¡Juntos podemos hacer autopilot una herramienta aún más poderosa y eficiente para los desarrolladores!
Ejecución de pruebas: todas
npm run test
: ejecuta todas las pruebas
Pruebas en ejecución: prueba unitaria
npm run unit-test
: ejecuta las pruebas unitarias
Pruebas en ejecución: puntos de referencia
npm run e2e-test
: ejecuta las pruebas de un extremo a otro
Estructura del código
- agentes: interacciones con modelos de lenguaje.
- módulos: la mayoría de las otras bibliotecas internas.
- ui.js - El principal().
- registros: documenta la ejecución de una tarea.