Chuyển đến nội dung chính
Hướng dẫn AI

Sử dụng Jev Review để Đánh giá Chất lượng Mã liên tục với Hỗ trợ của AI

Tìm hiểu cách cài đặt Jev Review dưới dạng máy chủ MCP cục bộ, kết nối với các tác nhân lập trình được hỗ trợ, gửi các thay đổi tập trung để đánh giá, so sánh điểm số qua từng lần lặp và bảo vệ dữ liệu nhạy cảm trong kho mã khi sử dụng API Jev.

Sử dụng Jev Review để Đánh giá Chất lượng Mã liên tục với AI

Jev Review là gì?

Jev Review là một máy chủ Model Context Protocol chạy cục bộ, cung cấp các tín hiệu chất lượng phần mềm có cấu trúc cho các tác nhân lập trình AI trong quá trình làm việc. Công cụ này hỗ trợ Claude Code, Codex, Cursor và OpenCode, đồng thời cung cấp một công cụ MCP chuyên biệt có tên jev_review.

Công cụ đánh giá mã theo các khía cạnh độc lập như tính đúng đắn, độ phức tạp, khả năng đọc hiểu, tính mô-đun, chất lượng kiểm thử, độ tin cậy, bảo mật và khả năng bảo trì. Công cụ trả về điểm số, giá trị độ tin cậy, chỉ báo khả năng áp dụng và các gợi ý rubric được xác định trước, thay vì một bài đánh giá mã dạng văn xuôi.

Jev cung cấp tín hiệu chất lượng, nhưng tác nhân lập trình chính của bạn vẫn chịu trách nhiệm chẩn đoán điểm yếu, thay đổi mã và xác thực kết quả.

Jev Review chạy dưới dạng một tiến trình Node.js cục bộ thông qua MCP stdio. Công cụ không có backend lưu trữ, cơ sở dữ liệu, dịch vụ đo lường từ xa hay proxy do tác giả vận hành. Các yêu cầu chứa ngữ cảnh đánh giá được cung cấp rõ ràng sẽ được gửi trực tiếp đến API Jev đã cấu hình.

Tính năng chính

  • Đánh giá liên tục: Đánh giá một thay đổi sau mỗi phần triển khai hoàn chỉnh, thay vì chờ đến khi nhiệm vụ kết thúc.
  • Các khía cạnh chất lượng độc lập: Mỗi chỉ số áp dụng nhận một điểm từ 1 đến 10 và một giá trị độ tin cậy từ 0 đến 1.
  • So sánh giữa các lần lặp: Cung cấp kết quả đánh giá trước đó để xác định các cải tiến, hồi quy và điểm yếu chưa được giải quyết.
  • Ngữ cảnh tập trung: Gửi nhiệm vụ, diff, các tệp đã chọn, ngữ cảnh kho lưu trữ hoặc tổ hợp phù hợp của chúng.
  • Thực thi cục bộ: Mỗi ứng dụng khách được hỗ trợ khởi chạy cùng một tiến trình dist/server.js đi kèm thông qua stdio.
  • Không tự động truy cập kho lưu trữ: Máy chủ chỉ xử lý ngữ cảnh được truyền rõ ràng cho công cụ.
  • Không có điểm tổng thể nhân tạo: Jev Review giữ nguyên kết quả theo từng khía cạnh thay vì gộp chúng thành một phần trăm có thể gây hiểu lầm.

Điều kiện tiên quyết

Trước khi cài đặt Jev Review, hãy đảm bảo bạn có:

Cài đặt nhanh

1. Xuất khóa API

Đặt khóa trong môi trường trước khi khởi chạy ứng dụng khách lập trình:

export JEV_API_KEY="your-key"

Không đặt khóa thật trong prompt, tệp mã nguồn, diff hoặc cấu hình đã commit.

2. Cài đặt plugin từ GitHub

Jev Review được phân phối trực tiếp từ kho GitHub thay vì thông qua một gói npm:

npx plugins add NiazMorshed2007/jev-review

Chọn ứng dụng khách lập trình khi được nhắc, khởi động lại ứng dụng khách và xác nhận rằng máy chủ MCP đã kết nối.

3. Yêu cầu đánh giá

Sau khi triển khai và kiểm thử một thay đổi đáng kể, hãy yêu cầu tác nhân lập trình sử dụng Jev Review. Ví dụ:

Implement the requested authentication change, run the relevant tests, and use jev-review on the focused diff. Inspect the weakest important dimensions, make only justified improvements, and rescore before the final handoff.

Thiết lập theo ứng dụng khách

Claude Code

Cài đặt rõ ràng mục tiêu Claude Code:

npx plugins add NiazMorshed2007/jev-review --target claude-code

Khởi động lại Claude Code và chạy /mcp để xác nhận jev-review đã kết nối.

Để chỉ cấu hình MCP thủ công, trỏ Claude Code đến máy chủ đi kèm:

claude mcp add --scope user jev-review -- node /absolute/path/to/jev-review/dist/server.js

Khi phát triển từ một bản sao cục bộ, bạn có thể tải trực tiếp thư mục plugin:

claude --plugin-dir /absolute/path/to/jev-review

Codex

Cài đặt mục tiêu Codex và khởi động lại ứng dụng khách:

npx plugins add NiazMorshed2007/jev-review --target codex

Chạy /mcp để xác minh kết nối. Để cấu hình thủ công, thêm định nghĩa máy chủ sau vào ~/.codex/config.toml:

[mcp_servers.jev-review]
command = "node"
args = ["/absolute/path/to/jev-review/dist/server.js"]
env_vars = ["JEV_API_KEY"]

Cursor

Cài đặt mục tiêu Cursor:

npx plugins add NiazMorshed2007/jev-review --target cursor

Khởi động lại Cursor và kiểm tra Settings → MCP. Skill đi kèm có tên jev-review. Bạn có thể gọi skill bằng /jev-review hoặc để ở chế độ Agent Decides.

Để thiết lập thủ công, tạo hoặc cập nhật ~/.cursor/mcp.json:

{
  "mcpServers": {
    "jev-review": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/jev-review/dist/server.js"],
      "env": {
        "JEV_API_KEY": "${env:JEV_API_KEY}"
      }
    }
  }
}

Trên macOS, Cursor được khởi chạy từ Dock có thể không kế thừa các biến từ profile shell. Hãy cung cấp khóa đã xuất cho các ứng dụng GUI trước khi khởi động Cursor:

launchctl setenv JEV_API_KEY "$JEV_API_KEY"

Xác minh biến tồn tại mà không in giá trị của biến:

test -n "$(launchctl getenv JEV_API_KEY)" && echo "JEV_API_KEY is configured"

OpenCode

OpenCode hiện chưa được liệt kê là mục tiêu cài đặt portable. Hãy sao chép kho lưu trữ và đăng ký thủ công máy chủ đi kèm:

git clone https://github.com/NiazMorshed2007/jev-review.git
cd jev-review
opencode mcp add jev-review --global -- node "$PWD/dist/server.js"

Đối với cả skill và máy chủ MCP, hãy thêm cấu hình như sau vào ~/.config/opencode/opencode.json, thay thế các đường dẫn tuyệt đối:

{
  "$schema": "https://opencode.ai/config.json",
  "skills": ["/absolute/path/to/jev-review/skills"],
  "mcp": {
    "servers": {
      "jev-review": {
        "type": "local",
        "command": ["node", "/absolute/path/to/jev-review/dist/server.js"],
        "environment": {
          "JEV_API_KEY": "{env:JEV_API_KEY}"
        }
      }
    }
  }
}

Chạy opencode mcp list để xác minh kết nối. OpenCode có thể hiển thị công cụ với tên jev-review_jev_review, mặc dù tên MCP bên dưới vẫn là jev_review.

Tìm hiểu đầu vào của công cụ

Công cụ jev_review chấp nhận cấu trúc sau:

{
  task?: string;
  diff?: string;
  files?: Array<{
    path: string;
    content: string;
  }>;
  repositoryContext?: string;
  previousEvaluation?: Evaluation;
}

Ít nhất một trường ngữ cảnh hiện tại là bắt buộc. Trong hầu hết trường hợp, hãy gửi task và một diff tập trung. Chỉ thêm các tệp hoàn chỉnh khi cần chi tiết triển khai xung quanh để hiểu thay đổi.

Một yêu cầu mang tính khái niệm có thể chứa:

{
  "task": "Add input validation to the account creation endpoint",
  "diff": "<focused version-control diff>",
  "repositoryContext": "Node.js service using the repository's existing validation conventions"
}

Ví dụ này minh họa dạng đầu vào; thông thường ứng dụng khách lập trình sẽ gọi công cụ MCP thay bạn.

Quy trình đánh giá được đề xuất

  1. Hiểu task. Kiểm tra repository, yêu cầu, quy ước và các bài kiểm thử liên quan.
  2. Triển khai một phần hoàn chỉnh. Hoàn thành một phần thay đổi có ý nghĩa thay vì xem xét từng chỉnh sửa nhỏ.
  3. Chạy các bước kiểm tra liên quan. Xác thực hành vi trước khi yêu cầu điểm số để định hướng công việc tiếp theo.
  4. Thiết lập đường cơ sở. Gọi jev_review với task và diff tập trung.
  5. Điều tra các khía cạnh yếu. Yêu cầu coding agent kiểm tra triển khai và hình thành giả thuyết cụ thể về từng điểm yếu quan trọng.
  6. Thực hiện cải thiện nhỏ nhất có cơ sở. Tránh viết lại mang tính suy đoán hoặc bổ sung kiến trúc không cần thiết.
  7. Xác thực lại. Chạy lại các bài kiểm thử, kiểm tra kiểu, linter hoặc các bước kiểm tra phù hợp khác của dự án.
  8. Đánh giá lại kèm lịch sử. Truyền kết quả trước đó dưới dạng previousEvaluation để nhận so sánh theo từng chỉ số.
  9. Dừng đúng lúc. Kết thúc khi các yêu cầu và bước kiểm tra đều đạt, đồng thời việc tiếp tục tối ưu điểm số không còn mang lại nhiều giá trị thực tế.

Ví dụ, phần so sánh có thể cho thấy khả năng đọc hiểu thay đổi từ 6.3 → 8.1 trong khi bảo mật vẫn giữ ở 8.2 → 8.2. Điều này hữu ích hơn một điểm tổng hợp duy nhất vì cho thấy chính xác những khía cạnh chất lượng nào đã thay đổi.

Các khía cạnh chất lượng

Các khía cạnh cốt lõi

Khi ngữ cảnh được cung cấp đầy đủ, Jev Review đánh giá:

  • Tính đúng đắn và mức độ đáp ứng yêu cầu.
  • Độ phức tạp nhận thức.
  • Khả năng đọc hiểu và mục đích.
  • Tính mô-đun và tính gắn kết.
  • Mức độ liên kết và chất lượng dependency.
  • Khả năng thay đổi và mức độ khuếch đại thay đổi.
  • Thiết kế abstraction và API.
  • Cấu trúc dự án và tệp.
  • Trùng lặp và khả năng tái sử dụng.
  • Khả năng bảo trì.
  • Khả năng kiểm thử và chất lượng kiểm thử.
  • Độ tin cậy và xử lý lỗi.
  • Bảo mật.
  • Tính nhất quán và các quy ước.
  • Tài liệu và khả năng giải thích.

Các khía cạnh phụ thuộc ngữ cảnh

Các khía cạnh sau chỉ được đánh giá khi có bằng chứng liên quan:

  • Hiệu năng và hiệu quả sử dụng tài nguyên.
  • Khả năng mở rộng và tính linh hoạt.
  • Tính tương thích và độ ổn định của API.
  • Khả năng quan sát và vận hành.

Nếu ngữ cảnh được cung cấp không đủ để hỗ trợ một khía cạnh, kết quả sẽ sử dụng { "applicable": false }. Trình đánh giá không mặc định rằng hàm ngắn hơn, tệp nhỏ hơn, nhiều lớp hơn, nhiều chú thích hơn, không có trùng lặp hoặc nhiều bài kiểm thử hơn luôn tốt hơn.

Mẹo nâng cao

Giữ ngữ cảnh đánh giá tập trung

Gửi task và diff nhỏ nhất nhưng vẫn mạch lạc để thể hiện đầy đủ phần triển khai. Chỉ đưa các tệp hoàn chỉnh khi việc lược bỏ ngữ cảnh sẽ khiến đánh giá không đáng tin cậy. Nội dung gửi tập trung giúp coding agent diễn giải phản hồi dễ hơn.

Jev Review không tự đặt giới hạn về số ký tự, token hoặc số lượng tệp. Tuy nhiên, hành vi thực tế của API jev-latest cho thấy giới hạn trạng thái gửi vào khoảng 32,768 token. Giới hạn này chưa được công bố trong tài liệu API và có thể thay đổi. Nếu API trả về max_tokens_exceeded, hãy loại bỏ ngữ cảnh không liên quan hoặc chia công việc thành các phần đánh giá mạch lạc.

Sử dụng các lần đánh giá trước để lặp có kiểm soát

Khi đánh giá lại, hãy truyền toàn bộ kết quả trước đó trong previousEvaluation. Jev Review so sánh kết quả này cục bộ và báo cáo mức chênh lệch theo từng chỉ số, các cải thiện, hồi quy và điểm yếu chưa được giải quyết. Đánh giá trước đó không được đưa vào ngữ cảnh mã hiện tại gửi cho Jev.

Chẩn đoán trước khi chỉnh sửa

Điểm số thấp là một tín hiệu, không phải lời giải thích về nguyên nhân gốc. Hãy yêu cầu coding agent kiểm tra triển khai, xác định bằng chứng cho điểm yếu và đề xuất điều chỉnh tối thiểu. Đừng viết lại mã chỉ để thay đổi một con số.

Ưu tiên yêu cầu hơn điểm số

Hành vi đúng và yêu cầu của người dùng luôn được ưu tiên hơn việc cải thiện điểm số. Điểm cao hơn không biện minh cho việc phá vỡ hành vi, mở rộng phạm vi, thêm các bài kiểm thử vô nghĩa, đưa vào abstraction mang tính suy đoán hoặc tạo thêm các lớp không cần thiết.

Đồng thời sử dụng các công cụ bảo mật chuyên dụng

Bảo mật là một trong các khía cạnh được đánh giá, nhưng Jev Review bổ trợ chứ không thay thế các trình quét dependency, công cụ phát hiện secret, phân tích tĩnh, kiểm thử thâm nhập và các biện pháp kiểm soát bảo mật chuyên dụng khác.

Bảo mật và Quyền riêng tư

Quy trình MCP cục bộ đọc JEV_API_KEY và chỉ sử dụng khóa này trong tiêu đề Ủy quyền TLS được gửi trực tiếp đến https://api.typesafe.ai/v1/systemone. Jev Review không lưu trữ hoặc ghi nhật ký khóa.

Chỉ task, diff, files và repositoryContext được cung cấp rõ ràng cho công cụ mới được gửi đến Jev. Máy chủ không tự động phát hiện hoặc tải lên các tệp trong kho lưu trữ.

Ngữ cảnh đánh giá rời khỏi máy của bạn để được gửi đến API Jev của TypeSafe. Không gửi secret hoặc tài liệu độc quyền không liên quan.

Tham khảo chính sách quyền riêng tư của TypeSafe để biết cách dịch vụ từ xa xử lý dữ liệu được gửi.

Phát triển Jev Review cục bộ

Để làm việc trực tiếp trên dự án, hãy sao chép kho lưu trữ, cài đặt các dependency và chạy bước xác thực:

git clone https://github.com/NiazMorshed2007/jev-review.git
cd jev-review
npm install
npm run validate

Các lệnh phát triển hữu ích gồm:

npm run check
npm test
npm run build
npx plugins discover .
claude plugin validate . --strict

npm run build tạo bundle dist/server.js được đưa vào kho lưu trữ. Các bài kiểm thử đơn vị và giao thức MCP sử dụng các đối tượng giả lập cục bộ và không tiêu tốn hạn mức API Jev. Một yêu cầu Jev trực tiếp cần có JEV_API_KEY.

Kết luận

Jev Review bổ sung một vòng phản hồi chất lượng có phương pháp cho các ứng dụng khách lập trình AI được hỗ trợ mà không kiểm soát việc triển khai. Hãy cài đặt máy chủ MCP cục bộ, gửi ngữ cảnh tập trung sau những thay đổi đáng kể, sử dụng kết quả theo từng khía cạnh để định hướng các cải tiến cẩn trọng và so sánh các lần đánh giá qua từng phiên bản. Hãy xem điểm số là bằng chứng thay vì mục tiêu, và dừng lại khi các yêu cầu, bước kiểm tra cùng nhu cầu chất lượng thực tế đã được đáp ứng.