โต้ตอบกับโมเดล GPT AI ในฐานะผู้ใช้ระดับสูง
รองรับผู้ให้บริการ AI หลายราย
การสนับสนุนด้านวิศวกรรมที่รวดเร็วทันใจ
UI ที่ยืดหยุ่น
ค้นหา Stack Overflow จากภายในตัวแก้ไข
เรียกใช้คำสั่ง CLI แบบกำหนดเองที่ปรุงไว้ล่วงหน้าจากภายในโปรแกรมแก้ไขของคุณ
ดาวน์โหลดจาก: VSCode Marketplace และปฏิบัติตามคำแนะนำ
หรือ
ขั้นตอน:
Ctrl
- Shift
- P
(Windows, Linux) หรือ Cmd
- Shift
- P
(macOS) ให้รัน > Extensions: Install Extension
FlexiGPT
โดย ppipada
Ctrl
/ Cmd
,
แป้นพิมพ์ลัด) และค้นหา flexigpt
ตัวเลือก:
// flexigpt basic configuration
"flexigpt.promptFiles" : " /home/me/my_prompt_files/myprompts.js " ,
"flexigpt.inBuiltPrompts" : " gobasic.js;gosql.js " ,
"flexigpt.defaultProvider" : " openai " ,
// openai provider configuration
"flexigpt.openai.apiKey" : " sk-mkey " ,
"flexigpt.openai.timeout" : " 120 " ,
"flexigpt.openai.defaultCompletionModel" : " gpt-3.5-turbo " ,
"flexigpt.openai.defaultChatCompletionModel" : " gpt-3.5-turbo " ,
"flexigpt.openai.defaultOrigin" : " https://api.openai.com " ,
// anthropic provider configuration
"flexigpt.anthropic.apiKey" : " sk-mkey " ,
"flexigpt.anthropic.timeout" : " 120 " ,
"flexigpt.anthropic.defaultCompletionModel" : " claude-3-haiku-20240307 " ,
"flexigpt.anthropic.defaultChatCompletionModel" : " claude-3-haiku-20240307 " ,
"flexigpt.anthropic.defaultOrigin" : " https://api.anthropic.com " ,
// huggingface provider configuration
"flexigpt.huggingface.apiKey" : " hf-mkey " ,
"flexigpt.huggingface.timeout" : " 120 " ,
"flexigpt.huggingface.defaultCompletionModel" : " bigcode/starcoder2-15b " ,
"flexigpt.huggingface.defaultChatCompletionModel" : " deepseek-ai/deepseek-coder-1.3b-instruct " ,
"flexigpt.huggingface.defaultOrigin" : " https://api-inference.huggingface.co " ,
// googlegl provider configuration
"flexigpt.googlegl.apiKey" : " gl-mkey " ,
"flexigpt.googlegl.timeout" : " 120 " ,
"flexigpt.googlegl.defaultCompletionModel" : " gemini-1.0-pro " ,
"flexigpt.googlegl.defaultChatCompletionModel" : " gemini-1.0-pro " ,
"flexigpt.googlegl.defaultOrigin" : " https://generativelanguage.googleapis.com " ,
// llamacpp provider configuration
"flexigpt.llamacpp.apiKey" : " " ,
"flexigpt.llamacpp.timeout" : " 120 " ,
"flexigpt.llamacpp.defaultOrigin" : " 127.0.0.1:8080 " ,
ผู้ให้บริการ OpenAI ต้องใช้คีย์ API ในการทำงาน คุณสามารถรับได้จากการตั้งค่าบัญชี openAI ของคุณที่นี่
API ที่รองรับ
รุ่นที่รองรับ - ทุกรุ่นรองรับโดย API สองตัวข้างต้น
gpt-4
gpt-4-*
gpt-3.5-turbo
gpt-3.5-turbo-*
FlexiGPT ใช้ defaultChatCompletionModel: gpt-3.5-turbo
เว้นแต่ว่าข้อความแจ้งจะลบล้าง
สำหรับตัวอย่างการใช้ฟีเจอร์ Function calling
ของ OpenAI ดูที่ไฟล์พร้อมท์นี้ ที่นี่
ตัวเลือกการกำหนดค่า:
gpt-3.5-turbo
โปรดทราบว่าการใช้งาน gpt-3.5-turbo
จะรวมอยู่ในการเรียกเก็บเงินของ OpenAI เฉพาะรุ่นฟรีที่อยู่ในรุ่นเบต้า ณ เดือนกุมภาพันธ์ 2023 เท่านั้นคือ codex ( code-davinci-002
)https://api.openai.com
ผู้ให้บริการ Anthropic ต้องใช้คีย์ API จึงจะทำงานได้ คุณสามารถขอรับได้จากเว็บไซต์ Anthropic ที่นี่
API ที่รองรับ
claude-3-*
, claude-2*
FlexiGPT ใช้ defaultChatCompletionModel: claude-3-haiku-20240307
เว้นแต่ว่าข้อความแจ้งจะแทนที่
ตัวเลือกการกำหนดค่า:
claude-3-haiku-20240307
https://api.anthropic.com
ผู้ให้บริการ Huggingface ต้องใช้คีย์ API เพื่อให้ทำงานได้ คุณสามารถขอรับได้จากเว็บไซต์ Huggingface ที่นี่
API ที่รองรับ
รุ่นที่รองรับ - ทุกรุ่นรองรับโดย API ข้างต้น
FlexiGPT ใช้ defaultChatCompletionModel: deepseek-ai/deepseek-coder-1.3b-instruct
เว้นแต่ว่าข้อความแจ้งจะแทนที่
ตัวเลือกการกำหนดค่า:
deepseek-ai/deepseek-coder-1.3b-instruct
bigcode/starcoder2-15b
https://api-inference.huggingface.co
ผู้ให้บริการ Googlegl ต้องใช้คีย์ API ในการทำงาน คุณสามารถขอรับได้จากเว็บไซต์ที่นี่
API ที่รองรับ: https://ai.google.dev/api/rest/v1/models/generateContent
gemini-1.0-pro
chat-bison-001
(ดั้งเดิม)text-bison-001
(ดั้งเดิม) FlexiGPT ใช้ defaultChatCompletionModel: gemini-1.0-pro
เว้นแต่ว่าข้อความแจ้งจะแทนที่
ตัวเลือกการกำหนดค่า:
gemini-1.0-pro
gemini-1.0-pro
https://generativelanguage.googleapis.com
ตั้งค่าเซิร์ฟเวอร์ llama.cpp ตามที่ระบุไว้ที่นี่
API ที่รองรับ
your host:port of the llama server
/completionรุ่นที่รองรับ - ทุกรุ่นรองรับโดย API ข้างต้น โปรดทราบว่าจำเป็นต้องระบุโมเดลใน llama.cpp เมื่อเรียกใช้เซิร์ฟเวอร์ และไม่สามารถมอบให้ในแต่ละระดับคำขอได้
ตัวเลือกการกำหนดค่า:
http://127.0.0.1:8080
รับโค้ดโดยใช้ความคิดเห็นในตัวแก้ไข
Ctrl
+ Alt
+ G
FlexiGPT: Get Code
เพื่อคลิก/ป้อนขั้นตอนในการรับฟังก์ชันด้านล่างทั้งหมด (คล้ายกับพรอมต์ที่กำหนดค่าไว้ทั้งหมด แบบฝังหรือกำหนดเอง):
Ctrl
+ Alt
+ A
แก้ไขและปรับโครงสร้างโค้ดที่เลือกใหม่
สร้างการทดสอบหน่วยสำหรับรหัสที่เลือก
ทำการเลือกให้เสร็จสิ้น
อธิบายการเลือก
สร้างเอกสารสำหรับรหัสที่เลือก
ค้นหาปัญหากับสิ่งที่เลือก แก้ไขและอธิบายสิ่งผิดปกติ
ปรับรหัสที่เลือกให้เหมาะสม
{selection}
หรือ {readfile}
เพื่อปรับปรุงการแชทของคุณด้วย AI (ความสามารถเช่นเดียวกับไฟล์พร้อมท์)แถบกิจกรรมการแชทสามารถเปิดได้ด้วยวิธีต่อไปนี้:
FlexiGPT: Ask
เพื่อคลิก/ป้อนCtrl
/ Cmd
+ Shift
+ P
): คุณควรได้รับ FlexiGPT: Ask
option เพื่อคลิก/เข้าCtrl
+ Alt
+ A
ค้นหาคำถามเกี่ยวกับ Stack Overflow จากบรรณาธิการของคุณ
Ctrl
+ Alt
+ S
FlexiGPT: Stackoverflow Search
เพื่อคลิก/ป้อนCtrl
/ Cmd
+ Shift
+ P
): คุณควรได้รับตัวเลือก FlexiGPT: Stackoverflow Search
เพื่อคลิก/ป้อนcliCommands
ในไฟล์พร้อมท์ของคุณCtrl
+ Alt
+ C
FlexiGPT: Run CLI Command
เพื่อคลิก/ป้อนCtrl
/ Cmd
+ Shift
+ P
): คุณควรได้รับตัวเลือก FlexiGPT: Run CLI Command
เพื่อคลิก/ป้อนวิศวกรและปรับแต่งพร้อมท์ บันทึก และใช้โดยตรงภายใน VSCode
รองรับการแก้ไขพารามิเตอร์คำขอสำหรับ GPT API
ตัวแปรระบบที่กำหนดไว้ล่วงหน้าสามารถใช้เพื่อปรับปรุงคำถามของคุณได้
{system.selection}
หรือเพียง {selection}
เพื่อส่งต่อข้อความที่เลือกในตัวแก้ไข (โค้ดหรืออย่างอื่น){system.readfile}
หรือเพียง {readfile}
เพื่อส่งต่อไฟล์ที่เปิดอยู่{system.readfile <your file path>}
เพื่อส่งต่อไฟล์ไปยังเส้นทางที่กำหนดsystem.
คำนำหน้าสำหรับตัวแปรระบบเป็นทางเลือก ดังนั้น คุณสามารถใช้เพียง {selection}
เพื่อใช้ข้อความที่เลือก หรือใช้ {language}
แทน {system.language}
สำหรับภาษาของไฟล์ของคุณรองรับการตอบสนองหลังการประมวลผลผ่าน responseHandlers ในพร้อมต์ มีตัวจัดการการตอบสนองที่กำหนดไว้ล่วงหน้าในตัวหลายตัวพร้อมใช้งาน ยังรองรับ ResponseHandlers แบบกำหนดเองอีกด้วย ตัวอย่างสามารถพบได้ที่นี่
รองรับฟีเจอร์การเรียกใช้ฟังก์ชันของรุ่น GPT3.5/4 ด้วยเช่นกัน ตัวอย่างสามารถพบได้ในไฟล์พร้อมท์นี้
เมื่อคลิกที่กล่องข้อความอินพุต พรอมต์พื้นฐานที่ FlexiGPT จัดเตรียมไว้ให้ พรอมต์ใดๆ ที่กำหนดไว้ใน flexigpt.promptFiles
และพรอมต์ inbuilt ใดๆ ที่เปิดใช้งานโดยใช้ flexigpt.inBuiltPrompts
ตามที่กำหนดไว้ในการกำหนดค่าควรถูกโหลด (หากการคลิกกล่องข้อความครั้งแรกไม่โหลดพรอมต์ที่กำหนดค่าไว้ล่วงหน้า ให้ลอง Escape ตัวเลือกแล้วคลิกอีกครั้ง VSCode อาจใช้เวลาสักครู่ในการโหลดรายการไดนามิกจากไฟล์)
หากคุณเลือกพร้อมท์ที่กำหนดค่าไว้ล่วงหน้า เทมเพลตคำถามที่กำหนดไว้ในคำสั่งพร้อมท์จะถูกใช้หลังจากการแทนที่ตัวแปรระบบ/ผู้ใช้ที่กำหนดไว้ ตัวเลือกคำสั่งอื่น ๆ ก็จะถูกนำมาจากคำจำกัดความเช่นกัน
หากคุณพิมพ์คำถามลอยตัวอิสระในกล่องข้อความ ข้อความนั้นจะถูกใช้เป็นข้อความแจ้งโดยตรง คุณสามารถใช้ตัวแปรระบบที่กำหนดไว้ล่วงหน้าเพื่อปรับปรุงคำถามลอยตัวฟรีของคุณได้เช่นกัน
{selection}
เพื่อส่งต่อข้อความที่เลือกในตัวแก้ไข{readfile}
เพื่อส่งต่อไฟล์ที่เปิดอยู่ ข้อความแจ้งพื้นฐานของ FlexiGPT (ค่าเริ่มต้น: เปิดใช้งาน)
ไปที่พรอมต์พื้นฐาน (ค่าเริ่มต้น: ปิดใช้งาน เปิดใช้งานในการกำหนดค่า)
ไปที่พรอมต์ sqlx + กระรอก (ค่าเริ่มต้น: ปิดการใช้งาน, เปิดใช้งานในการกำหนดค่า)
module . exports = {
namespace : "myprompts" ,
commands : [
{
name : "Refactor" ,
template : `Refactor following function.
function:
{system.selection}` ,
} ,
] ,
} ;
module . exports = {
namespace : "MyComplexPrompts" ,
commands : [
{
name : "Create unit test." ,
template : `Create unit test in {user.unitTestFramework} framework for following function.
code:
{system.selection}` ,
responseHandler : {
func : "writeFile" ,
args : {
filePath : "user.testFileName" ,
} ,
} ,
requestparams : {
model : "gpt-3.5-turbo" ,
stop : [ "##" , "func Test" , "package main" , "func main" ] ,
} ,
} ,
{
name : "Write godoc" ,
template : `Write godoc for following functions.
code:
{system.selection}` ,
responseHandler : {
func : "append" ,
args : {
position : "start" ,
} ,
} ,
requestparams : {
model : "code-davinci-002" ,
stop : [ "##" , "func Test" , "package main" , "func main" ] ,
} ,
} ,
] ,
functions : [
// you could also write your own responseHandler.
// Note that it takes a single object as input.
function myHandler ( { system , user } ) {
console . table ( { system } ) ;
console . table ( { user } ) ;
} ,
] ,
variables : [
{
name : "unitTestFramework" ,
value : "testing" ,
} ,
{
name : "testFileName" ,
value : ( { baseFolder , fileName , fileExtension } ) =>
` ${ baseFolder } \ ${ fileName } _test ${ fileExtension } ` ,
} ,
] ,
cliCommands : [
{
name : "Go generate all" ,
command : `go generate ./...` ,
description : "Run go generate in the workspace" ,
} ,
] ,
} ;
ชื่อ: จำเป็น
คำอธิบาย: ไม่จำเป็น
แม่แบบ: จำเป็น
{system.*variableName*}
โดยที่ VariableName สามารถเป็นหนึ่งในตัวแปรระบบที่กำหนดไว้ล่วงหน้าได้ คุณยังสามารถส่งพารามิเตอร์ไปยังฟังก์ชันต่างๆ เช่น readFile ได้ เช่น: {readfile user.testFile}
เป็นตัวแปรเทมเพลตที่ถูกต้อง โดยที่อินพุตไปยัง readfile คือไฟล์ที่ชี้โดยตัวแปร testfile ที่ผู้ใช้กำหนด{user.*variableName*}
ตัวแปรชื่อจะต้องอยู่ในฟิลด์ตัวแปรในไฟล์พร้อมท์พารามิเตอร์คำขอ: ไม่จำเป็น
{ [key: string]: any }
responseHandler: ทางเลือก
responseHandler ใช้เพื่อจัดการกับการตอบสนอง ตามค่าเริ่มต้น ฟังก์ชันแทนที่จะถูกใช้ ฟังก์ชันการจัดการสามารถเป็นหนึ่งในฟังก์ชันระบบที่กำหนดไว้ล่วงหน้าหรือฟังก์ชันที่ผู้ใช้กำหนด
คุณสามารถตั้งค่า responseHandler ได้ด้วยวิธีต่อไปนี้:
responseHandler: "replace" ;
responseHandler: {
func : 'replace' ,
args : {
textToReplace : 'user.answerModified'
}
}
รายการ variables
ใดๆ สามารถใช้ในเทมเพลตคำสั่งได้ ค่าที่ผู้ใช้กำหนดต้องมีคำนำหน้า "ผู้ใช้" ตัวอย่างเช่น หากมีการกำหนด "testFileName" ในตัวแปร ก็สามารถใช้เป็น "user.TestFileName" ในไฟล์เทมเพลตหรือส่งผ่านไปยังฟังก์ชันได้
ค่าตัวแปรอาจเป็นค่าคงที่หรือไดนามิก สำหรับค่าไดนามิก คุณควรสร้างเมธอด getter เมื่อเรียกตัวแปร getter ออบเจ็กต์เดี่ยวที่มีตัวแปรระบบ (ดูตัวแปรระบบที่กำหนดไว้ล่วงหน้า) จะถูกส่งเป็นอาร์กิวเมนต์แรก ส่วน vars อื่นๆ สามารถใช้เป็นอาร์กิวเมนต์ถัดไปได้
module . exports = {
variables : [
{
//static
name : "testingFramework" ,
value : "xUnit"
} ,
{
//dynamic
name : "typeNameInResponse" ,
value : ( { answer /*system variable*/ } , myTestFile /*user defined var*/ ) => { }
} ,
]
functions : [
function extractTypeName ( { code , system } ) { /**/ } ,
function myOtherFunc ( ) { } ,
] ,
commands : [
{
name : "Create DTO" ,
template : `Create unit test with {user.testingFramework} for following class.
class:
{system.selection}` ,
responseHandler : {
func : 'writeFile' ,
args : {
filePath : 'user.typeNameInResponse' /*usage for function arg*/
}
}
}
]
}
ตัวเลือกทั้งหมดไม่คำนึงถึงขนาดตัวพิมพ์
ชื่อตัวแปร | คำอธิบาย |
---|---|
ระบบ.การเลือก | ข้อความที่เลือกในตัวแก้ไข |
ระบบคำถาม | คำถาม OpenAI |
ระบบคำตอบ | คำตอบ OpenAI |
ระบบภาษา | ภาษาการเขียนโปรแกรมของไฟล์ที่ใช้งานอยู่ |
system.baseFolder | เส้นทางฐานโครงการ |
system.fileFolder | เส้นทางโฟลเดอร์หลักของไฟล์ที่ใช้งานอยู่ |
system.fileName | ชื่อของไฟล์ที่ใช้งานอยู่ |
system.filePath | เส้นทางแบบเต็มของไฟล์ที่ใช้งานอยู่ |
system.fileExtension | ส่วนขยายของไฟล์ที่ใช้งานอยู่ |
system.commitAndTagList | การกระทำ 25 รายการล่าสุดและแท็กที่เกี่ยวข้อง |
system.readFile | อ่านไฟล์ตัวแก้ไขแบบเปิดแบบเต็ม เลือกที่จะส่งเส้นทางไฟล์เป็นอาร์กิวเมนต์ที่สอง |
โปรดทราบว่า system.
คำนำหน้าสำหรับตัวแปรระบบเป็นทางเลือก ดังนั้น คุณสามารถใช้เพียง {selection}
เพื่อใช้ข้อความที่เลือก หรือใช้ {language}
แทน {system.language}
สำหรับภาษาของไฟล์ของคุณ
functions
ชื่อฟังก์ชัน | คำอธิบาย | พารามิเตอร์ (ค่าเริ่มต้น) |
---|---|---|
ผนวก | ผนวกข้อความ | textToAppend(system.answer),ตำแหน่ง('end') |
แทนที่ | แทนที่ข้อความที่เลือก | textToReplace (ระบบคำตอบ) |
writeFile | เขียนข้อความลงในไฟล์ ผนวกหากมีไฟล์อยู่ | filePath(),เนื้อหา(system.answer) |
แทนที่
แทนที่ข้อความด้วยการเลือก ใช้พารามิเตอร์เสริม textToReplace
ในค่าเริ่มต้นเท่ากับคำตอบ API
การใช้งานเริ่มต้น
...
commands : [
{
name : "Refactor" ,
template : `Refactor following function.
function:
{system.selection}`
responseHandler : 'replace'
} ,
] ,
การใช้งานกับพารามิเตอร์
...
commands : [
{
name : "Refactor" ,
template : `Refactor following function.
function:
{system.selection}`
responseHandler : {
func : 'replace' ,
args : {
textToReplace : 'user.answerModified'
}
}
} ,
] ,
variables : [
{
name : "answerModified" ,
value : ( { answer } ) => `/*n ${ anwer } n*/`
} ,
] ,
ผนวก
เพิ่มข้อความต่อท้ายด้วยการเลือก ใช้พารามิเตอร์เสริม textToAppend
และ postion
postion
สามารถ start
หรือ end
ในค่าเริ่มต้น textToAppend
เท่ากับ postion
OpenAI คือจุดสิ้นสุดของการเลือก
ตัวอย่างการใช้งาน
...
commands : [
{
name : "Append" ,
template : `Write jsdoc for following function.
function:
{system.selection}`
responseHandler : {
func : 'append' ,
args : {
position : 'start'
}
}
} ,
] ,
ชื่อ: จำเป็น
คำอธิบาย: ไม่จำเป็น
คำสั่ง: จำเป็น
พื้นที่ใช้งาน | คุณสมบัติและการนำไปใช้งาน | สถานะ |
ความยืดหยุ่นในการพูดคุยกับ AI ใด ๆ | บูรณาการกับผู้ให้บริการ AI หลายรายผ่าน API | เสร็จแล้ว |
รองรับการเลือกพารามิเตอร์และจัดการโครงสร้างการตอบสนองที่แตกต่างกัน | เสร็จแล้ว | |
ความยืดหยุ่นในการใช้พรอมต์ที่กำหนดเอง | รองรับวิศวกรรมพร้อมท์ที่ช่วยให้สามารถสร้างและแก้ไขพร้อมท์ผ่านโครงสร้างมาตรฐาน | เสร็จแล้ว |
อนุญาตให้แก้ไขพารามิเตอร์คำขอ | เสร็จแล้ว | |
อนุญาตให้เพิ่มตัวจัดการการตอบสนองแบบกำหนดเองเพื่อนวดการตอบสนองจาก AI | เสร็จแล้ว | |
จัดเตรียมตัวแปรที่กำหนดไว้ล่วงหน้าทั่วไปที่สามารถใช้เพื่อปรับปรุงพร้อมท์ได้ | เสร็จแล้ว | |
จัดเตรียมการปรับปรุงพร้อมต์เพิ่มเติมโดยใช้ตัวแปรที่กำหนดเองซึ่งอาจเป็นแบบคงที่หรือตัวรับฟังก์ชัน สิ่งนี้ควรอนุญาตคำจำกัดความของฟังก์ชันในโครงสร้างพร้อมท์และรวมผลลัพธ์เข้ากับพร้อมท์ อนุญาตให้ส่งผ่าน vars ของระบบหรือ vars ผู้ใช้หรือสตริงคงที่เป็นอินพุต | เสร็จแล้ว | |
ให้ความสามารถในการประเมินการแจ้งเตือนต่างๆ กำหนดคะแนน ELO เลือกและบันทึกการแจ้งเตือนที่แข็งแกร่งที่สุด | ระยะยาว | |
บูรณาการ UI ได้อย่างราบรื่น | ออกแบบ UI ที่ยืดหยุ่น ซึ่งเป็นอินเทอร์เฟซการแชทที่รวมอยู่ในแถบกิจกรรม VSCode | เสร็จแล้ว |
UI ต้องรองรับการบันทึก การโหลด และการส่งออกการสนทนา | เสร็จแล้ว | |
ใช้การพิมพ์แบบสตรีมมิ่งใน UI สร้างความรู้สึกว่าบอท AI กำลังพิมพ์เอง | ระยะยาว | |
ข้อความค้นหา/งานเฉพาะกิจ | ช่วยนักพัฒนาถามคำถามเฉพาะกิจกับ AI ซึ่งเขาสามารถอธิบายคำถามหรือปัญหาได้โดยใช้อินเทอร์เฟซการแชท ซึ่งสามารถใช้เพื่อแก้ปัญหา ทำความเข้าใจพฤติกรรม รับคำแนะนำเกี่ยวกับสิ่งที่ต้องระวัง ฯลฯ นักพัฒนาควรจะสามารถแนบโค้ดหรือไฟล์ไปกับคำถามของเขาได้ | เสร็จแล้ว |
จัดเตรียมวิธีการกำหนดคำสั่ง CLI ที่ปรุงไว้ล่วงหน้าและสั่งการตามความจำเป็น อินเทอร์เฟซสำหรับกำหนดคำสั่ง CLI ควรคล้ายกับพร้อมท์ | เสร็จแล้ว | |
ระบุวิธีการค้นหาคำค้นหาบน StackOverflow | เสร็จแล้ว | |
จัดเตรียมวิธีรับผลลัพธ์สำหรับการสืบค้นจากคำตอบของ StackOverflow และคำตอบ AI ที่เกี่ยวข้อง | ระยะยาว | |
การกรอกโค้ดและความชาญฉลาด | ระบุวิธีการสร้างโค้ดจากความคิดเห็นของโค้ด | เสร็จแล้ว |
จัดเตรียมวิธีการทำให้สมบูรณ์ ปรับโครงสร้างใหม่ แก้ไข หรือเพิ่มประสิทธิภาพโค้ดผ่านทางอินเทอร์เฟซการแชท ควรอนุญาตให้เลือกโค้ดที่เกี่ยวข้องจากบรรณาธิการได้ตามต้องการ | เสร็จแล้ว | |
ใช้ระบบการจัดการบริบทที่บูรณาการกับ Language Server Protocol (LSP) ที่สามารถใช้เพื่อเพิ่มประสิทธิภาพการโต้ตอบของ AI | ระยะกลาง | |
สนับสนุนการสร้างการฝังโค้ดเพื่อทำความเข้าใจบริบทของโค้ดและรวมเข้ากับข้อความแจ้ง | ระยะกลาง | |
พัฒนาคุณสมบัติการเติมโค้ดอัจฉริยะที่คาดการณ์บรรทัดถัดไปของโค้ด ควรรวมบริบท (LSP หรือการฝัง) เข้ากับข้อความแจ้งการเติมข้อความอัตโนมัติ และจัดการการตอบกลับการเติมข้อความอัตโนมัติใน UI | ระยะกลาง | |
การตรวจสอบโค้ดและความฉลาด | ระบุวิธีการตรวจสอบผ่านอินเทอร์เฟซแชท ควรอนุญาตให้เลือกโค้ดที่เกี่ยวข้องจากบรรณาธิการได้ตามต้องการ | เสร็จแล้ว |
ความสามารถในการดึงคำขอ Merge/Pull จาก Github, Gitlab หรือผู้ให้บริการเวอร์ชันอื่นๆ วิเคราะห์และแสดงความคิดเห็นเกี่ยวกับรีวิว ควรให้ความยืดหยุ่นในการระบุพื้นที่การตรวจสอบและลำดับความสำคัญที่เกี่ยวข้องโดยขึ้นอยู่กับกรณีการใช้งาน | ระยะกลาง | |
ให้การตรวจสอบและคำแนะนำโค้ดอัตโนมัติ ควรให้ตัวบ่งชี้ที่ละเอียดอ่อนสำหรับการปรับปรุงโค้ดและจัดการการตอบสนองของ API การตรวจสอบโค้ดใน UI | ระยะยาว | |
ให้คำแนะนำการปรับโครงสร้างใหม่อัตโนมัติ สิ่งนี้ควรจัดการการตอบสนองของ API การปรับโครงสร้างใหม่และแสดงคำแนะนำใน UI | ระยะยาว | |
ให้คำแนะนำด้านความปลอดภัยอัตโนมัติ สิ่งนี้ควรจะสามารถระบุช่องโหว่ที่อาจเกิดขึ้นที่เพิ่มเข้ามาหรือการเบี่ยงเบนไปจากแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยที่ใช้ในโค้ด | ระยะยาว | |
ความช่วยเหลือด้านเอกสารรหัส | สร้างเอกสารสำหรับรหัสที่เลือกโดยใช้อินเทอร์เฟซการแชท ควรอนุญาตให้เลือกโค้ดที่เกี่ยวข้องจากบรรณาธิการได้ตามต้องการ | เสร็จแล้ว |
พัฒนาความช่วยเหลือด้านเอกสารอินไลน์ที่มีประสิทธิภาพ ควรสร้างและอัปเดตเอกสารประกอบโดยอัตโนมัติตามโค้ดและแสดงใน UI | ระยะยาว | |
ความเข้าใจโค้ดและการสนับสนุนการเรียนรู้ | ระบุวิธีอธิบายโค้ดผ่านอินเทอร์เฟซแชท ควรอนุญาตให้เลือกโค้ดที่เกี่ยวข้องจากบรรณาธิการได้ตามต้องการ | เสร็จแล้ว |
พัฒนา/บูรณาการกับกราฟความรู้แบบบูรณาการเพื่อให้คำอธิบายโดยละเอียดเกี่ยวกับบริการ, API, วิธีการ, อัลกอริธึม และแนวคิดที่นักพัฒนาซอฟต์แวร์ใช้หรืออาจต้องการใช้ | ระยะยาว | |
รวมการค้นหากราฟเข้ากับข้อความแจ้ง | ระยะยาว | |
การทดสอบ | จัดเตรียมวิธีสร้างการทดสอบหน่วยผ่านอินเทอร์เฟซการแชท ควรอนุญาตให้เลือกโค้ดที่เกี่ยวข้องจากบรรณาธิการได้ตามต้องการ ควรมีความสามารถในการแทรกการทดสอบในไฟล์ใหม่หรือไฟล์ปัจจุบันได้ตามต้องการ | เสร็จแล้ว |
จัดเตรียมวิธีสร้าง API และการทดสอบเวิร์กโฟลว์ที่เกี่ยวข้องผ่านทางอินเทอร์เฟซการแชท ควรอนุญาตให้เลือกคำจำกัดความของโค้ด/API ที่เกี่ยวข้องจากตัวแก้ไขตามต้องการ ควรมีความสามารถในการแทรกการทดสอบในไฟล์ใหม่หรือไฟล์ปัจจุบันได้ตามต้องการ | ระยะสั้น |
FlexiGPT เป็นซอฟต์แวร์โอเพ่นซอร์สเต็มรูปแบบที่ได้รับอนุญาตภายใต้ใบอนุญาต MIT
ยินดีบริจาค! อย่าลังเลที่จะส่งคำขอดึงบน GitHub
หากคุณมีคำถามหรือปัญหาใดๆ โปรดเปิดปัญหาบน GitHub ที่หน้าปัญหา