autopilot - นักพัฒนา AI
autopilot คือเครื่องมือ AI ที่ใช้ GPT เพื่ออ่านโค้ดเบส สร้างบริบท และแก้ไขงานที่คุณร้องขอ
สาธิตอัตโนมัติ" width="800" data-animated-image="" style="max-width: 100%;">
เข้าร่วมความไม่ลงรอยกันของเรา
เข้าร่วมการสนทนาได้ที่ https://discord.gg/r72ykfvyx7
มันทำงานอย่างไร
- คุณชี้ autopilot ไปที่โค้ดเบสพร้อมกับงาน
- autopilot สร้างและบำรุงรักษาฐานข้อมูลด้วยข้อมูลเมตาในไฟล์ codebase (ภายในไดเร็กทอรี codebase)
- autopilot จะตัดสินใจว่าไฟล์ใดที่มีอยู่ที่จำเป็นสำหรับงานนี้โดยใช้ฐานข้อมูลเมตาดาต้า
- autopilot พยายามใช้งานที่ร้องขอกับไฟล์ที่เกี่ยวข้องแต่ละไฟล์
autopilot เป็นแอป GitHub
คุณสามารถใช้โปรเจ็กต์นี้ได้โดยติดตั้งแอป GitHub ที่มีอยู่ในเว็บไซต์ Code autopilot แอปนี้ใช้ autopilot เพื่อแก้ไขปัญหาที่คุณเปิดบน GitHub โดยอัตโนมัติ และยังมีคุณสมบัติสำหรับ Pull Request อีกด้วย มีอินเทอร์เฟซที่ใช้งานง่ายและบูรณาการโดยตรงกับ Github
คุณสมบัติ
- - ประมวลผลไฟล์ codebase ล่วงหน้า
- - - ใช้การเปลี่ยนแปลงรหัสสำหรับคุณ
- - การโทรแบบขนานไปยังตัวแทนหากเป็นไปได้
- - แสดงให้คุณเห็นว่ามีอะไรอัปเดตบ้าง (บันทึกกระบวนการทั้งหมดพร้อมกับการโต้ตอบของ AI แต่ละครั้งด้วย)
- ️ - โหมดโต้ตอบ - ดูกระบวนการด้วยการลองอีกครั้ง ดำเนินการต่อ ยกเลิกตัวเลือก
ความคาดหวังของงาน
- อ้างอิงรหัสปัจจุบัน:
- ✅ การอ้างอิงไฟล์เฉพาะตามเส้นทางสัมพัทธ์ของโปรเจ็กต์
- ✅ อ้างอิงไฟล์เฉพาะด้วยชื่อไฟล์เท่านั้น โดยไม่สนใจเส้นทางไดเรกทอรีย่อย
- ✅ อ้างอิงฟังก์ชันเฉพาะภายในไฟล์โดยไม่มีชื่อไฟล์
- ✅ อ้างอิงแนวคิดทางธุรกิจที่สำคัญที่ใช้ในไฟล์เดียวเท่านั้น
- ✅อ้างอิงไฟล์โครงการทั้งหมด
- - คำขอเชิงตรรกะทั่วไป ระยะทางของคุณจะแตกต่างกันไปตามรุ่น รหัสฐาน และงาน งานบ้าง. (ควรแนะนำการให้คะแนนงาน)
- การเปลี่ยนแปลงที่ดำเนินการ:
- ✅สร้างไฟล์ใหม่ตามไฟล์ที่มีอยู่
- เริ่มไฟล์ใหม่ตั้งแต่ต้น
- ✅อัปเดตไฟล์ที่มีอยู่
- ✅อัปเดตไฟล์ที่มีอยู่หลายไฟล์
- ลบไฟล์ที่มีอยู่ (อาจจะล้างข้อมูลออก แต่ยังไม่ลบออกในขณะนี้)
- เริ่มใช้ไลบรารีบุคคลที่สามใหม่ (จำเป็นต้องดำเนินการโค้ดโดยพลการเพื่อติดตั้งไลบรารี)
- เรียงซ้อนการอัปเดตไฟล์ที่เกี่ยวข้องเช่นการทดสอบ (เร็วๆ นี้)
- ทดสอบโค้ดที่เขียนและแก้ไขด้วยตนเอง
ข้อกำหนดเบื้องต้น
nodejs v18 หรือสูงกว่า
การติดตั้ง
- โคลนพื้นที่เก็บข้อมูล:
git clone https://github.com/fjrdomingues/autopilot.git
- ทำ
cd autopilot
เพื่อติดตั้งการพึ่งพา: npm ci
- สร้างไฟล์
.env
และตั้งค่าตัวแปรสภาพแวดล้อม:- คัดลอกไฟล์ .env.template ไปที่ .env:
cp .env.template .env
- ตั้งค่าคีย์ OpenAI API และไฟล์ด้วยคีย์:
OPENAI_API_KEY=<your-api-key>
สร้างคีย์ openAI API - กำหนดเส้นทางไปยังรหัสของคุณ
CODE_DIR=<path-to-your-code>
(หรือใช้ -d path-to-your-code
ในภายหลัง) - อัปเดต
IGNORE_LIST=node_modules,coverage,public,__tests__
- อัปเดต
FILE_EXTENSIONS_TO_PROCESS=.js,.tsx,.ts,.jsx
วิ่ง
-
node ui -t "YOUR_TASK"
- เป็นวิธีที่ง่ายที่สุดในการเริ่มต้น- โซลูชันจะถูกนำไปใช้กับโค้ดของคุณโดยอัตโนมัติ และ git diff จะแสดงหากเป็นไปได้
- หรือคุณสามารถระบุ
--auto-apply=false
-
node ui -h
- จะแสดงตัวเลือกทั้งหมดให้คุณเห็น
โหมดโต้ตอบ
ใช้ node ui -i
สำหรับโหมดโต้ตอบ ที่นี่คุณสามารถตรวจสอบผลลัพธ์ของแต่ละขั้นตอนก่อนดำเนินการต่อ
- มีส่วนร่วม
เรากำลังเรียกใช้ autopilot บนเซิร์ฟเวอร์ที่เชื่อมต่อกับที่เก็บ https://github.com/fjrdomingues/autopilot ปัญหาใหม่ที่สร้างขึ้นจะทริก autopilot และสร้างคำขอดึงใหม่พร้อมข้อเสนอ ทำงานด้วย gpt-4
เรายินดีรับการมีส่วนร่วม! โปรดส่งคำขอดึงไปยังพื้นที่เก็บข้อมูล และตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงของคุณสอดคล้องกับเป้าหมายและแนวทางของโครงการ เมื่อร่วมมือกัน เราจะทำให้ autopilot เป็นเครื่องมือที่ทรงพลังและมีประสิทธิภาพยิ่งขึ้นสำหรับนักพัฒนาได้!
กำลังทดสอบ - ทั้งหมด
npm run test
- รันการทดสอบทั้งหมด
กำลังทดสอบ - การทดสอบหน่วย
npm run unit-test
- รันการทดสอบหน่วย
กำลังทดสอบ - เกณฑ์มาตรฐาน
npm run e2e-test
- รันการทดสอบตั้งแต่ต้นจนจบ
โครงสร้างรหัส
- ตัวแทน - การโต้ตอบกับโมเดลภาษา
- โมดูล - libs ภายในอื่น ๆ ส่วนใหญ่
- ui.js - หลัก ()
- บันทึก - บันทึกการรันงาน