VietTechiesHIỂU CÔNG NGHỆ. MỞ GÓC NHÌN.
☰ Chuyên mục

IssueRelay Kết Hợp Next.js Và Model TypeSafe Jev Để Định Tuyến Báo Lỗi Đến GitHub

03/10/2026 · VietTechies · Biên tập

Hình minh họa phong cách vector tối giản mô tả các khối dữ liệu đi qua một phễu thủy tinh trong suốt và biến đổi thành một viên cầu màu xanh lá cây bóng bẩy.
Ảnh minh họa do AI tạo.

Lập trình viên Andrew Baisden đã giới thiệu IssueRelay, một hệ thống tiếp nhận phản hồi mã nguồn mở dành cho các ứng dụng Next.js và React. Công cụ này thu thập yêu cầu từ người truy cập, sử dụng AI để tự động phân loại và chuyển đổi các sự cố đã xác nhận thành bài đăng GitHub issues. Hệ thống kết hợp widget React Shadow DOM, cơ sở dữ liệu PostgreSQL cùng mô hình Jev của TypeSafe nhằm phân loại vé hỗ trợ mà không làm lộ thông tin cá nhân ra các kho lưu trữ công khai.

Kiến Trúc Và Quy Trình Xử Lý Nhiều Giai Đoạn

IssueRelay xử lý báo cáo hỗ trợ qua các bước biệt lập. Dữ liệu gửi đến ban đầu được ghi trực tiếp vào cơ sở dữ liệu Neon PostgreSQL thông qua Drizzle ORM trước khi kích hoạt bất kỳ dịch vụ phụ nào. Việc lưu trữ dữ liệu thô trước giai đoạn phân loại giúp ngăn chặn nguy cơ mất tin nhắn khi gặp gián đoạn mạng, sự cố API từ bên thứ ba hoặc bị giới hạn lưu lượng.

Component giao diện dạng nhúng được phát hành trên npm dưới tên @issuerelay/widget. Đóng gói bên trong Shadow DOM, thành phần này ngăn ngừa xung đột kiểu dáng với ứng dụng gốc và hoạt động song song với các quy tắc Content Security Policy nghiêm ngặt. Việc xác thực phía máy chủ sẽ kiểm tra khóa dự án, quy tắc nguồn gốc cross-origin và mã định danh duy nhất để chặn các vé trùng lặp.

Phân Loại Yêu Cầu Bằng AI Qua TypeSafe Jev

Việc phân loại dựa trên Jev, một mô hình chuyên biệt từ TypeSafe hướng tới các tác vụ đưa ra quyết định cụ thể thay vì tạo văn bản mở. Thông qua SDK chính thức của TypeSafe, IssueRelay gửi nội dung tin nhắn và gợi ý danh mục đến Jev, đồng thời đã ẩn đi tên, địa chỉ email và mã định danh của phiếu hỗ trợ.

Jev đánh giá dữ liệu đầu vào dựa trên các lựa chọn rõ ràng để xếp loại (như lỗi hệ thống, yêu cầu tính năng, câu hỏi hoặc thư rác) và gán mức độ nghiêm trọng từ thấp đến mức nguy cấp. Kết quả trả về kèm theo điểm số tin cậy theo xác suất. Các hàm TypeScript tiêu chuẩn sẽ phân tích các chỉ số tin cậy này để điều hướng hàng đợi, chỉ cho phép đề xuất tự động đẩy lên GitHub đối với các báo cáo lỗi đạt ngưỡng tin cậy tối thiểu từ 0.9 trở lên.

Cổng Bảo Vệ Quyền Riêng Tư Và Đồng Bộ Với GitHub

Trước khi quản trị viên chuyển báo cáo thành sự cố trên GitHub, một bộ lọc riêng tư sẽ quét qua toàn bộ nội dung. Gói phần mềm này kiểm tra thông tin liên hệ, khóa API, JSON Web Token, khóa riêng tư, chi tiết thẻ tín dụng và tên người gửi nhằm giữ cho dữ liệu cá nhân hoàn toàn nằm trong bảng điều khiển nội bộ của IssueRelay.

Các GitHub issue chỉ được khởi tạo thông qua một GitHub App riêng biệt với quyền hạn kho lưu trữ được giới hạn rõ ràng. Một đoạn ghi chú HTML chứa mã đánh dấu duy nhất sẽ được nhúng vào mỗi issue tạo mới, giúp nền tảng xác minh sự tồn tại của bài đăng kể cả khi yêu cầu mạng bị hết giờ (timeout). Các webhook có chữ ký số sẽ đảm nhận việc đồng bộ hai chiều, đảm bảo rằng thao tác đóng hoặc mở lại sự cố trên GitHub sẽ tự động cập nhật trạng thái phiếu tương ứng trên bảng điều khiển.

Ảnh minh họa do AI tạo, không phải ảnh tư liệu.

Nguồn:
How to Build an AI Support System That Automatically Routes Bugs to GitHub with Next.js and Jev