Selvage - CLI đánh giá mã bằng AI
(github.com/selvage-lab)Xin chào.
Có lẽ nhiều người đã thử dùng LLM cho việc review code, nhưng tôi nghĩ khi áp dụng thực tế vẫn có những điểm bất tiện.
Vì cần phải truyền cho LLM mã nguồn cần review cùng ngữ cảnh, đồng thời chỉ định chi tiết cả định dạng kết quả mong muốn.
selvage là một công cụ CLI giúp tự động hóa quá trình chuẩn bị này để nâng cao hiệu quả review code.
[Các tính năng chính]
- Là công cụ CLI nên có thể sử dụng độc lập với IDE hoặc tiện ích mở rộng cụ thể
- Hỗ trợ các mô hình SOTA chủ lực (GPT-5, Claude-Sonnet-4, Gemini, Qwen3-code)
- Có thể sử dụng theo mức dùng thực tế mà không cần đăng ký gói, thông qua OpenRouter API Key
- Tích hợp với quy trình làm việc Git
- Hỗ trợ phân tích thay đổi trong staged, unstaged, và khác biệt giữa commit/branch cụ thể
- Tính năng trích xuất Smart Context dựa trên AST (cây cú pháp trừu tượng)
- Chỉ trích xuất các khối mã tối thiểu và phụ thuộc liên quan đến thay đổi
- Chỉ truyền ngữ cảnh thật sự cần thiết để giảm lượng token sử dụng, đồng thời tối đa hóa chất lượng review
- Tính năng Large Context Review
- Có thể review ổn định cả những thay đổi quy mô lớn vượt quá Context Limit của mô hình (chủ yếu là PR để triển khai một tính năng cụ thể)
6 bình luận
Xin chào.
Lần này chúng tôi có một bản cập nhật lớn nên muốn chia sẻ tin này.
Rất mong nhận được nhiều sự quan tâm!
Liên kết GitHub: https://github.com/selvage-lab/selvage
🚀 Nội dung cập nhật tính năng chính
🤖 Bổ sung chế độ máy chủ MCP (Model Context Protocol) ⭐ NEW
Yêu cầu review code ngay trong cửa sổ chat của Cursor, Claude Code, v.v.!
Giờ đây bạn có thể đăng ký Selvage dưới dạng MCP trong Cursor, Claude Code, v.v. và yêu cầu review code bằng ngôn ngữ tự nhiên.
Kết quả review sẽ được AI assistant trực tiếp chuyển tải, sau khi kiểm tra feedback bạn cũng có thể yêu cầu cải thiện code ngay trong một lần.
Cách thiết lập:
💡 Kịch bản sử dụng
Ví dụ sử dụng đơn giản
Workflow cải thiện code theo từng bước
Xin chào, tôi muốn dùng thử, nhưng có bắt buộc phải dùng Openrounter không? Hiện tôi đang có API key đang sử dụng, nên tôi muốn hỏi liệu có thể tận dụng API key đó để sử dụng hay không.
Xin chào.
Bạn đang dùng API key nào vậy?
Thay vì OpenRouter KEY, bạn có thể thiết lập Provider API Key của từng model trong biến môi trường để sử dụng.
OPENAI_API_KEYhỗ trợ các model dòng GPTANTHROPIC_API_KEYhỗ trợ các model dòng ClaudeGEMINI_API_KEYhỗ trợ các model dòng Geminiđược hỗ trợ!
Liệu có thể che giấu thông tin nhạy cảm ngay ở cấp độ mã nguồn trước khi đưa vào đầu vào của LLM không?
Xin chào. Xin trả lời như sau.
Hiện tại, khi yêu cầu review code, các tệp kiểu
.envsẽ được loại trừ hoàn toàn, nhưng chưa có bước thay thế hoặc che đi các “giá trị” như API key/token/mật khẩu tồn tại trong mã nguồn.Nếu bạn muốn loại trừ thông tin nhạy cảm khi review,
hãy đưa phần mã cần review vào trạng thái git staged, sau đó
review bằng lệnh
selvage review --stagedđể có thể loại trừ thông tin nhạy cảm khỏi đầu vào của LLM.Chúng tôi cũng có kế hoạch cập nhật một tính năng tương tự như nội dung bạn hỏi. Dự kiến sẽ cho phép người dùng tự thêm vào tệp yml các phần mở rộng tệp cần loại trừ khi review và các mẫu cụ thể trong mã nguồn (biểu thức chính quy), để thông tin nhạy cảm có thể được lọc phù hợp cho từng dự án.
Ồ ồ...