Bạn đã bao giờ giao cho AI agent một việc chẩn đoán sự cố, rồi nhìn nó lần lượt mở từng file log, đọc từng file cấu hình, chạy hết lệnh grep này tới lệnh grep khác chưa? Cách làm đó vừa chậm, vừa đốt token, mà kết quả trả về nhiều khi vẫn thiếu đoạn quan trọng nhất. Vấn đề không nằm ở model yếu, mà ở chỗ agent không có một “bộ nhớ tìm kiếm” tử tế cho dữ liệu của bạn. XERJ sinh ra để lấp đúng chỗ trống đó.

XERJ là gì?
XERJ là công cụ tìm kiếm local-first mã nguồn mở, đồng thời là MCP server cho AI agent. Toàn bộ công cụ chỉ là một binary Rust duy nhất: nó index code, tài liệu, log, file JSONL/CSV và PDF trên máy của bạn, rồi trả về đáp án kèm trích dẫn tới đúng file và dòng.
Về mặt kỹ thuật, XERJ kết hợp tìm kiếm toàn văn BM25 với tìm kiếm vector và tìm kiếm hybrid, phía sau là API tương thích Elasticsearch. Nó làm việc với Claude Code, Cursor và bất kỳ MCP client nào, nên agent có thể gọi tìm kiếm trực tiếp thay vì tự mò file. Dự án dùng giấy phép Apache-2.0, đang được duy trì tích cực và tại thời điểm viết bài đã có hơn 15.000 star trên GitHub, nằm trong nhóm repo tăng sao nhanh trên GitHub Trending trong tuần qua.
Một tính năng đáng chú ý là “reference coding”: agent có thể index các repo mã nguồn mở liên quan tới bài toán đang làm, xem người ta đã giải quyết vấn đề tương tự ra sao, rồi mới viết code. Theo case study của chính dự án, cách này giúp agent trong thử nghiệm có kiểm soát dùng ít token đầu ra hơn tới 2,7 lần mà vẫn giữ nguyên tỉ lệ giải quyết bài toán. Đây là con số do dự án tự công bố, bạn nên coi nó là gợi ý để thử nghiệm chứ không phải cam kết hiệu năng.
Vì sao sysadmin nên quan tâm?
Chẩn đoán sự cố nhanh hơn
Log hệ thống, log ứng dụng và runbook khắc phục sự cố thường nằm rải rác ở nhiều thư mục. Khi đã index xong, bạn chỉ cần hỏi agent một câu kiểu “lỗi này từng xuất hiện ở đâu, và lần trước xử lý ra sao”, thay vì để nó quét cả cây thư mục. Kết quả trả về có trích dẫn file và dòng, nên bạn kiểm chứng lại rất nhanh.
Tra cứu tài liệu nội bộ mà không đưa dữ liệu lên cloud
Điểm quan trọng nhất với sysadmin là XERJ chạy local-first: dữ liệu index nằm trên máy của bạn, không cần gửi code hay log nội bộ lên dịch vụ bên ngoài. Bộ embedder mặc định chạy offline theo phương pháp lexical; bộ embedder neural chỉ là tùy chọn và cần tải thêm khoảng 90 MB. Với môi trường có dữ liệu nhạy cảm, đây là khác biệt lớn so với các công cụ tìm kiếm AI chạy trên cloud.
Làm bộ nhớ cho agent giữa các phiên
Ngoài tìm kiếm code, XERJ còn hỗ trợ agent memory: những ghi chú, quyết định vận hành và ngữ cảnh đã index sẽ được agent gọi lại ở phiên sau. Thêm vào đó, Corpus Hub của dự án cung cấp sẵn hàng trăm bộ corpus tham khảo, hữu ích khi bạn muốn agent có thêm ngữ cảnh về một công nghệ phổ biến mà không phải tự sưu tầm tài liệu.
Cài đặt và dùng thử
Theo README chính thức của dự án, cách nhanh nhất là dùng script cài đặt của XERJ:
curl -fsSL https://xerj.org/get | sh
xerj --insecure --data-dir ~/xerj-data &
xerj init # nối XERJ vào Claude Code/Cursor (MCP + skill), một lệnh duy nhất
xerj autoindex ~/my-project
xerj search "how do we rotate the WAL segment" # kết quả xếp hạng kèm file và dòng
xerj def "euler_to_rotationmatrix" # tìm định nghĩa: file, dòng và chữ ký hàm
xerj gain # thống kê những gì XERJ đã giúp bạn, bằng số liệu đếm được
Nếu bạn không muốn chạy script cài đặt từ Internet, dự án cũng hỗ trợ build từ source với toolchain Rust ổn định:
git clone https://github.com/xerj-org/xerj
cd xerj/engine
cargo build --release -p xerj-server
./target/release/xerj --insecure --data-dir ~/xerj-data
Sau khi index xong, hãy thử một câu hỏi thật từ công việc hàng ngày, ví dụ tìm đoạn cấu hình từng gây lỗi. So sánh số token và thời gian agent tiêu tốn trước và sau khi có XERJ, đó mới là thước đo đáng tin nhất cho môi trường của bạn.
Lưu ý khi chạy trên server
XERJ là công cụ mạnh, nhưng càng mạnh thì càng phải đặt đúng chỗ. Một số lưu ý trước khi bạn đưa nó vào máy chủ thật:
- Chỉ chạy trên máy local hoặc mạng tin cậy. Lệnh khởi động mẫu của dự án dùng cờ
--insecure, vì vậy tuyệt đối không mở XERJ ra Internet hay mạng không tin cậy. - Giữ thư mục dữ liệu ngoài thư mục được autoindex. README cảnh báo rõ: thư mục
datakhông nằm trong danh sách bỏ qua mặc định, nên nếu đặt--data-dirbên trong thư mục bạn index, chính dữ liệu index sẽ bị index lại. - Coi chừng dữ liệu nhạy cảm trong phạm vi index. Trước khi index một thư mục, kiểm tra xem trong đó có credential, khóa riêng hay dữ liệu khách hàng không. Tìm kiếm chỉ hữu ích khi phạm vi index được kiểm soát chặt.
- Đừng tin mù kết quả của agent. Trích dẫn file và dòng giúp bạn kiểm chứng nhanh, hãy dùng nó: mở đúng đoạn code, đọc đúng dòng log rồi mới hành động.
Nếu bạn đang cho AI agent chạy trên server, bài toán đi kèm với XERJ là bài toán kiểm soát quyền truy cập: agent nhìn thấy gì, chạm tới khóa nào. Tôi đã viết về công cụ kiểm tra việc này trong bài Heldkeys: kiểm tra xem AI agent bị chiếm quyền sẽ chạm tới những khóa nào trên server của bạn, bạn nên đọc kèm trước khi mở rộng quyền cho agent.
Kết luận
XERJ không phải một chatbot mới, mà là hạ tầng tìm kiếm cho AI agent: local-first, một binary duy nhất, tìm kiếm hybrid kèm trích dẫn, nối thẳng vào Claude Code, Cursor và các MCP client. Với sysadmin, giá trị lớn nhất của nó rất thực tế: agent hết phải đọc file kiểu mò mẫm, bạn giữ dữ liệu ở lại máy mình, và mọi kết quả đều kiểm chứng được tới từng dòng.
Hãy bắt đầu từ một repo nhỏ, đo token và thời gian thực tế rồi mới quyết định. Repo chính thức của dự án tại github.com/xerj-org/xerj, tài liệu đầy đủ tại xerj.org.
Bình luận
Bình luận được duyệt trước khi hiển thị.Đang tải bình luận…
Để lại bình luận