Selvage - CLI สำหรับรีวิวโค้ดด้วย AI
(github.com/selvage-lab)สวัสดีครับ
หลายท่านคงเคยลองนำ LLM มาใช้ในการรีวิวโค้ดกันมาบ้างแล้ว แต่คิดว่าในการนำไปใช้จริงน่าจะมีจุดที่ยุ่งยากอยู่บ้าง
เพราะจำเป็นต้องมีขั้นตอนในการส่งโค้ดที่ต้องการรีวิวพร้อมบริบทที่เกี่ยวข้อง รวมถึงระบุรูปแบบผลลัพธ์ที่ต้องการอย่างละเอียดให้ LLM
selvage คือเครื่องมือ CLI ที่ช่วยทำกระบวนการเตรียมเหล่านี้ให้เป็นอัตโนมัติ เพื่อเพิ่มประสิทธิภาพของการรีวิวโค้ด
[ฟีเจอร์หลัก]
- เป็นเครื่องมือ CLI ที่ใช้งานได้อย่างอิสระ ไม่ผูกกับ IDE หรือส่วนขยายใดโดยเฉพาะ
- รองรับโมเดล SOTA หลัก ๆ (GPT-5, Claude-Sonnet-4, Gemini, Qwen3-code)
- ใช้งานผ่าน OpenRouter API Key ได้แบบคิดค่าบริการตามการใช้งาน โดยไม่ต้องสมัครสมาชิก
- ทำงานร่วมกับ Git workflow
- รองรับการวิเคราะห์ staged changes, unstaged changes และความเปลี่ยนแปลงระหว่าง commit/branch ที่กำหนด
- ฟีเจอร์ Smart Context extraction บนพื้นฐาน AST (Abstract Syntax Tree)
- ดึงเฉพาะบล็อกโค้ดขั้นต่ำที่เกี่ยวข้องกับการเปลี่ยนแปลงและ dependency เท่านั้น
- ส่งต่อเฉพาะบริบทที่จำเป็นจริง ช่วยลดการใช้โทเค็น และเพิ่มคุณภาพของการรีวิวไปพร้อมกัน
- ฟีเจอร์ Large Context Review
- สามารถรีวิวการเปลี่ยนแปลงขนาดใหญ่ที่เกิน Context Limit ของโมเดลได้อย่างเสถียร (โดยมากคือ PR เพื่อ deploy ฟีเจอร์ใดฟีเจอร์หนึ่ง)
6 ความคิดเห็น
สวัสดีครับ
ครั้งนี้มีการอัปเดตสำคัญ จึงขอมาแชร์ข่าวให้ทราบครับ
ฝากติดตามกันเยอะ ๆ ด้วยนะครับ!
ลิงก์ GitHub: https://github.com/selvage-lab/selvage
🚀 รายการอัปเดตฟีเจอร์หลัก
🤖 เพิ่มโหมดเซิร์ฟเวอร์ MCP (Model Context Protocol) ⭐ NEW
ขอรีวิวโค้ดจากหน้าต่างแชตใน Cursor, Claude Code และอื่น ๆ ได้เลย!
ตอนนี้สามารถลงทะเบียน Selvage เป็น MCP ใน Cursor, Claude Code และอื่น ๆ เพื่อขอรีวิวโค้ดด้วยภาษาธรรมชาติได้แล้ว
AI assistant จะส่งผลลัพธ์การรีวิวให้โดยตรง และหลังจากตรวจสอบฟีดแบ็กแล้ว ยังสามารถขอให้ปรับปรุงโค้ดต่อได้ในครั้งเดียว
วิธีตั้งค่า:
💡 สถานการณ์การใช้งาน
ตัวอย่างการใช้งานแบบง่าย
เวิร์กโฟลว์การปรับปรุงโค้ดทีละขั้น
สวัสดีครับ อยากลองใช้งานดู แต่จำเป็นต้องใช้ Openrounter เท่านั้นหรือเปล่าครับ? ตอนนี้ผมมี API key ที่ใช้อยู่แล้ว เลยอยากทราบว่าสามารถนำ API key นั้นมาใช้ได้หรือไม่ครับ
สวัสดีครับ
ไม่ทราบว่ากำลังใช้ API key ตัวไหนอยู่หรือครับ?
แทนที่จะใช้ OpenRouter KEY คุณสามารถตั้งค่า Provider API Key ของแต่ละโมเดลผ่านตัวแปรสภาพแวดล้อมเพื่อใช้งานได้
OPENAI_API_KEY รองรับโมเดลตระกูล GPT
ANTHROPIC_API_KEY รองรับโมเดลตระกูล Claude
GEMINI_API_KEY รองรับโมเดลตระกูล Gemini
รองรับครับ!
สามารถมาสก์ข้อมูลที่ละเอียดอ่อนในระดับซอร์สโค้ดก่อนจะถูกส่งเข้าไปเป็นอินพุตของ LLM ได้ไหม?
สวัสดีครับ/ค่ะ ขอตอบดังนี้
ปัจจุบันเมื่อขอรีวิวโค้ด ไฟล์ประเภท
.envจะถูกยกเว้นออกทั้งหมดอยู่แล้ว แต่ยังไม่มีขั้นตอนสำหรับแทนที่หรือปกปิด “ค่า” อย่าง API key / token / password ที่อยู่ภายในซอร์สโค้ดหากต้องการยกเว้นข้อมูลสำคัญออกจากการรีวิว
ให้เปลี่ยนโค้ดที่ต้องการรีวิวให้อยู่ในสถานะ git staged ก่อน
แล้วรีวิวด้วยคำสั่ง
selvage review --stagedก็จะสามารถยกเว้นข้อมูลสำคัญออกจากอินพุตของ LLM ได้มีแผนอัปเดตฟังก์ชันที่คล้ายกับสิ่งที่คุณถามมาอยู่เช่นกัน โดยจะให้ผู้ใช้สามารถระบุนามสกุลไฟล์ที่ต้องการยกเว้นระหว่างรีวิว และแพตเทิร์นเฉพาะในโค้ด (regular expression) ผ่านไฟล์ yml เพื่อให้สามารถกรองข้อมูลสำคัญได้อย่างเหมาะสมในแต่ละโปรเจกต์.
โอ้โห...