autopilot - Pengembang AI
autopilot adalah alat AI yang memanfaatkan GPT untuk membaca basis kode, membuat konteks, dan menyelesaikan tugas yang Anda minta.
Demo autopilot" width="800" data-animated-image="" style="max-width: 100%;">
Bergabunglah dengan perselisihan kami
Bergabunglah dalam percakapan di https://discord.gg/r72ykfvyx7
Bagaimana cara kerjanya
- Anda mengarahkan autopilot ke basis kode dengan tugas.
- autopilot menghasilkan dan memelihara DB dengan metadata pada file basis kode. (dalam direktori basis kode)
- autopilot memutuskan file mana yang diperlukan untuk tugas tersebut dengan menggunakan DB metadata.
- autopilot mencoba mengimplementasikan tugas yang diminta pada setiap file yang relevan.
autopilot sebagai aplikasi GitHub
Anda dapat menggunakan proyek ini dengan menginstal aplikasi GitHub yang tersedia di situs web Code autopilot . Aplikasi ini menggunakan autopilot untuk secara otomatis menyelesaikan masalah yang Anda buka di GitHub dan juga memiliki fitur untuk Permintaan Tarik. Ini menyediakan antarmuka yang mudah digunakan dan integrasi langsung dengan Github.
Fitur
- - Pra-proses file basis kode.
- ? - Menerapkan perubahan kode untuk Anda.
- - Panggilan paralel ke agen jika memungkinkan.
- - Menunjukkan apa yang telah diperbarui. (Log proses lengkap dengan setiap interaksi AI juga dihasilkan)
- ?️ - Mode interaktif - lihat proses dengan coba lagi, lanjutkan, batalkan opsi.
Harapan tugas
- Merujuk kode saat ini:
- ✅ Merujuk file tertentu berdasarkan jalur relatif proyek.
- ✅ Merujuk file tertentu berdasarkan nama file saja, mengabaikan jalur subdirektori.
- ✅ Merujuk fungsi tertentu dalam file tanpa nama file.
- ✅ Merujuk pada konsep bisnis utama yang digunakan secara eksklusif dalam satu file.
- ✅ Merujuk semua file proyek.
- ? Permintaan logis umum. Jarak tempuh Anda akan berbeda berdasarkan model, basis kode, dan tugas. Beberapa berhasil. (Harus memperkenalkan penilaian tugas)
- Perubahan dijalankan:
- ✅Buat file baru berdasarkan file yang sudah ada.
- Mulai file baru dari awal.
- ✅Perbarui file yang ada.
- ✅Perbarui beberapa file yang ada.
- Hapus file yang ada. (Ini mungkin mengosongkannya, tetapi tidak menghapusnya saat ini)
- Mulai gunakan perpustakaan pihak ketiga yang baru. (Membutuhkan eksekusi kode arbitrer untuk menginstal perpustakaan)
- Memperbarui file terkait secara bertingkat seperti pengujian. (Segera hadir)
- Uji kode yang ditulisnya dan perbaiki sendiri.
Prasyarat
nodejs v18 atau lebih tinggi.
Instalasi
- Kloning repositori:
git clone https://github.com/fjrdomingues/autopilot.git
- Lakukan
cd autopilot
untuk menginstal dependensi: npm ci
- Buat file
.env
dan atur variabel lingkungan:- Salin file .env.template ke .env:
cp .env.template .env
- Siapkan kunci dan file OpenAI API dengan kunci:
OPENAI_API_KEY=<your-api-key>
. Buat kunci API openAI - Tetapkan jalur ke kode Anda
CODE_DIR=<path-to-your-code>
(atau gunakan -d path-to-your-code
nanti) - Perbarui
IGNORE_LIST=node_modules,coverage,public,__tests__
- Perbarui
FILE_EXTENSIONS_TO_PROCESS=.js,.tsx,.ts,.jsx
Berlari
-
node ui -t "YOUR_TASK"
- adalah cara termudah untuk memulai.- Solusi akan diterapkan secara otomatis pada kode Anda dan git diff ditampilkan jika memungkinkan.
- Alternatifnya, Anda dapat menentukan
--auto-apply=false
.
-
node ui -h
- akan menampilkan semua opsi.
Modus interaktif
Gunakan node ui -i
untuk mode interaktif, di sini Anda dapat meninjau keluaran setiap langkah sebelum melanjutkan.
? Berkontribusi
Kami menjalankan autopilot di server yang terhubung ke repositori https://github.com/fjrdomingues/autopilot. Masalah baru yang dibuat akan memicu autopilot dan membuat Permintaan Tarik baru dengan proposal. Berjalan dengan gpt-4
Kami menyambut kontribusi! Silakan kirimkan permintaan penarikan ke repositori, dan pastikan perubahan Anda selaras dengan tujuan dan pedoman proyek. Bersama-sama, kita dapat menjadikan autopilot sebagai alat yang lebih canggih dan efisien bagi pengembang!
Menjalankan tes - semuanya
npm run test
- menjalankan semua tes
Tes berjalan - Tes unit
npm run unit-test
- menjalankan pengujian unit
Menjalankan tes - Tolok ukur
npm run e2e-test
- menjalankan pengujian ujung ke ujung
Struktur kode
- agen - interaksi dengan model bahasa.
- modul - sebagian besar lib internal lainnya.
- ui.js - Utama().
- logs - mendokumentasikan tugas yang dijalankan.