Khi kho ghi chú trở thành “nghĩa địa” dữ liệu
Sau hơn 5 năm làm việc trong ngành IT, mình tích lũy được hơn 3.000 file Markdown trong Obsidian. Từ snippet code Python đến tài liệu system design phức tạp, cái gì mình cũng lưu lại. Thế nhưng, tìm lại thông tin cũ là một cực hình. Tính năng search theo từ khóa (keyword-based) của Obsidian thường trả về hàng chục kết quả không liên quan, khiến mình mất cả tiếng đồng hồ chỉ để tìm một giải pháp đã từng viết.
Mình từng thử copy dữ liệu sang ChatGPT để hỏi. Tuy nhiên, việc này vi phạm nghiêm trọng chính sách bảo mật của công ty. Sau 6 tháng dùng Khoj trên Linux, mình nhận ra đây là giải pháp thực tế nhất. Nó giúp “hồi sinh” đống ghi chú cũ thành một trợ lý ảo hiểu rõ mọi thứ bạn từng viết, hoạt động 100% offline.
So sánh các phương pháp tiếp cận AI cho ghi chú
Dưới đây là bảng so sánh nhanh để bạn thấy tại sao Khoj lại đáng để cài đặt trên môi trường Linux.
| Tiêu chí | Search truyền thống | Cloud AI (ChatGPT) | Khoj (Self-hosted) |
|---|---|---|---|
| Cơ chế | Khớp từ khóa chính xác | Hiểu ngữ cảnh (Semantic) | RAG trên dữ liệu riêng |
| Bảo mật | An toàn | Rủi ro rò rỉ dữ liệu | Dữ liệu không rời khỏi máy |
| Chi phí | 0đ | ~20 USD/tháng | Miễn phí (Tốn RAM) |
| Offline | Có | Không | Hoàn toàn có thể |
Tại sao mình chọn Khoj thay vì tự build RAG bằng LangChain?
Nhiều bạn dev sẽ nghĩ: “Sao không dùng Ollama + LangChain + ChromaDB cho nhanh?”. Thực tế, mình đã thử làm vậy. Tuy nhiên, việc duy trì pipeline để đồng bộ file mới rất mệt mỏi. Bạn còn phải tự xử lý định dạng Markdown và code giao diện chat.
Khoj giải quyết mọi việc tự động:
- Indexing tự động: Cập nhật vector database ngay khi bạn nhấn Save file.
- Hỗ trợ đa nền tảng: Có sẵn Plugin cho Obsidian, giao diện Web và Desktop app.
- Linh hoạt: Chạy được cả model local (Ollama) lẫn API ngoài nếu máy yếu.
Triển khai Khoj trên Linux bằng Docker
Cài đặt qua Docker là cách sạch sẽ nhất để tránh lỗi xung đột thư viện Python. Mình thực hiện trên Ubuntu 22.04, nhưng các distro khác như Fedora hay Arch cũng làm tương tự.
Bước 1: Chuẩn bị
Kiểm tra xem máy đã có Docker chưa. Nếu dùng card đồ họa NVIDIA, hãy cài thêm nvidia-container-toolkit để AI phản hồi nhanh hơn gấp 5-10 lần so với dùng CPU.
Bước 2: Cấu hình Docker Compose
Tạo thư mục làm việc và file cấu hình:
mkdir ~/khoj-ai && cd ~/khoj-ai
nano docker-compose.yml
Dán nội dung sau vào file. Lưu ý thay đường dẫn đến thư mục Obsidian của bạn:
version: '3.8'
services:
khoj:
image: khoj/khoj:latest
container_name: khoj-server
volumes:
- ./khoj_data:/home/khoj/.khoj
- /home/user/Documents/MyObsidianVault:/home/khoj/data
ports:
- "42110:42110"
restart: unless-stopped
environment:
- KHOJ_DOMAIN=http://localhost:42110
- OFFLINE=true
Bước 3: Khởi chạy
Kích hoạt server bằng lệnh:
docker compose up -d
Truy cập http://localhost:42110 để tạo tài khoản admin. Vì chạy offline, thông tin này chỉ nằm trên ổ cứng của bạn.
Biến Obsidian thành trợ lý thông minh
Đây là lúc phép màu xảy ra. Bạn có thể chat trực tiếp với dữ liệu ngay trong giao diện soạn thảo.
- Vào Settings > Community Plugins trong Obsidian và cài đặt plugin “Khoj”.
- Trong phần cài đặt plugin, chọn Self-hosted.
- Điền URL:
http://localhost:42110. - Nhấn Index để bắt đầu quá trình quét dữ liệu.
Kinh nghiệm thực tế: Với khoảng 2.000 file, máy mình (Core i7, 16GB RAM) mất 10 phút để index xong. Lúc này CPU sẽ nhảy lên khoảng 80-90%, bạn cứ để máy chạy, đừng tắt ngang.
Kết nối Ollama để chat 100% Offline
Để có câu trả lời chất lượng như ChatGPT mà không cần internet, hãy dùng Ollama. Trong Web UI của Khoj, vào Settings > Models và thêm cấu hình:
- Model Name:
llama3(hoặcmistral) - API Endpoint:
http://host.docker.internal:11434/v1
Đánh giá thực tế sau nửa năm
Ưu điểm
- Tìm kiếm theo ý nghĩa: Mình hỏi “Cách fix lỗi Nginx 502 năm ngoái”, Khoj tìm đúng đoạn note cũ dù tiêu đề file mình đặt rất vớ vẩn.
- An toàn: Toàn bộ source code dự án nhạy cảm đều được index local. Không một byte dữ liệu nào gửi lên mây.
Nhược điểm
- Ngốn tài nguyên: Chạy cả Khoj và Llama 3 sẽ chiếm khoảng 8-10GB RAM. Bạn nên có ít nhất 16GB RAM để máy chạy mượt.
- Tốc độ: Nếu không có GPU, AI trả lời hơi chậm, tầm 2-4 từ mỗi giây.
Khoj không chỉ là công cụ tìm kiếm. Nó là một cộng sự hiểu rõ tư duy của bạn qua những gì bạn đã viết. Nếu bạn ưu tiên sự riêng tư và đang dùng Linux, hãy thử cài đặt ngay hôm nay.

