Khoj: Tự Cài Đặt Bộ Não AI Thứ Hai Liên Kết Obsidian Và Notion
Khoj là bộ não AI mã nguồn mở tự host trên máy: trò chuyện với LLM nội bộ, kết nối kho tài liệu Obsidian, Notion và tạo custom agent linh hoạt.

Tóm tắt (TL;DR)
Hộp Trả Lời Nhanh (Google Search Featured Snippet):
- Khoj (Khoj AI) là gì? Khoj là ứng dụng bộ não AI thứ hai mã nguồn mở (
khoj-ai/khoj) tự host 100% trên máy tính cá nhân, tự động lập chỉ mục vector kho ghi chú Obsidian, Notion, PDF và kết nối với các mô hình LLM nội bộ (qua Ollama) hoặc cloud API.- Điểm khác biệt của Khoj: Khác với chatbot thông thường vốn hoàn toàn stateless, Khoj có bộ nhớ stateful dài hạn và pipeline RAG tự động trích dẫn chính xác nguồn file gốc trong từng câu trả lời.
- Cách cài nhanh nhất: Chạy
pip install khoj && khoj runhoặc kéo Docker image chính thức:docker run -p 42110:42110 ghcr.io/khoj-ai/khoj.- Kho mã nguồn chính thức: khoj-ai/khoj trên GitHub.
Nếu bạn đang phát mệt vì ghi chú rải rác trong Obsidian, Notion và các file PDF trong khi phải copy paste ngữ cảnh thủ công vào ChatGPT hay Claude, Khoj là giải pháp xử lý triệt để. Đây là bộ não AI mã nguồn mở tự host, tự động lập chỉ mục tài liệu cá nhân, kết nối linh hoạt với LLM local hoặc cloud, và đóng vai trò như một trợ lý kiến thức tự chủ.
- Đối tượng phù hợp: Kỹ sư phần mềm, nhà nghiên cứu và người ghi chú chuyên sâu cần một AI ghi nhớ toàn bộ kho tài liệu riêng tư.
- Tại sao quan trọng: Không bị trói buộc nhà cung cấp. Chạy hoàn toàn offline với Ollama (Llama, DeepSeek) hoặc điều hướng sang OpenAI/Claude khi cần.
- Khi nào nên bỏ qua: Bạn chỉ cần hỏi đáp nhanh vài câu hỏi vụn vặt và không có kho tài liệu cá nhân nào cần tra cứu.
Bản Đồ Cho Người Mới
Hãy tiếp cận bài viết theo 4 chặng rõ ràng:
- Lượt 1: Phần 1: Nền tảng và mô hình tư duy bộ nhớ stateful.
- Lượt 2: Phần 2: Kiến trúc chuyên sâu, vector store và pipeline nạp dữ liệu đa nguồn.
- Lượt 3: Phần 3: Các trường hợp thực chiến (trợ lý nghiên cứu và agent tùy chỉnh).
- Lượt 4: Phần 4: Khởi chạy trong 5 phút bằng Docker hoặc pip.
| Thuật ngữ | Câu hỏi giải đáp |
|---|---|
| Second Brain | Làm sao AI ghi nhớ và liên kết hàng nghìn tài liệu rải rác? |
| FastAPI Backend | Thành phần nào điều phối chỉ mục, tìm kiếm và kết nối client? |
| Vector Index | Cơ chế nào giúp Khoj tìm kiếm ngữ nghĩa siêu tốc? |
| Local LLM | Làm sao chat với ghi chú offline 100% qua Ollama? |
| Custom Agent | Cách tạo một trợ lý chuyên biệt với kho tài liệu riêng? |
Thử thách thực hành
Khởi chạy Khoj trên máy trạm của bạn trong vòng dưới 30 phút:
- Chạy
pip install khojhoặc kéo image Docker về máy. - Lập chỉ mục một thư mục markdown mẫu chứa từ 5 đến 10 ghi chú thực tế.
- Đặt một câu hỏi yêu cầu Khoj tổng hợp dữ liệu chéo giữa hai tài liệu riêng biệt và quan sát các trích dẫn nguồn trả về.
Phần 1: Nền Tảng - Mô Hình Tư Duy
Bạn có hàng trăm note rải rác trong Obsidian, Notion, tập tin PDF nghiên cứu và các file Markdown. Bạn phải chuyển qua lại giữa ChatGPT, Claude, và Gemini, dán ngữ cảnh thủ công từng lần. Bạn muốn một AI đã đọc hết mọi thứ bạn biết: nhưng các nhà cung cấp lớn lại nhốt toàn bộ dữ liệu của bạn trên đám mây của họ.
Đó chính xác là khoảng trống mà Khoj được xây dựng để lấp đầy.
Mô Hình Tư Duy: Hãy nghĩ Khoj như một bộ não AI cá nhân: không phải chatbot đơn thuần, mà là một trợ lý kiến thức luôn hoạt động, đã đọc mọi tài liệu bạn từng viết, có thể tìm kiếm internet, tạo agent tự động, và làm tất cả điều này ngay trên máy bạn hoặc trên đám mây của Khoj, tùy lựa chọn.
Trong khi hầu hết các công cụ AI là stateless (mỗi cuộc trò chuyện bắt đầu từ đầu), Khoj là stateful và được lập chỉ mục kiến thức. Đây là AI nhớ được bạn.
Phần 2: Điều Tra - Kiến Trúc Chuyên Sâu
Bức Tranh Tổng Thể
Khoj là ứng dụng Python full-stack được xây dựng trên nền FastAPI ở lõi.
Mô hình kiến trúc điều phối RAG bộ não thứ hai và truy hồi ngữ nghĩa của Khoj:
Cấu Trúc Mã Nguồn
Codebase Khoj dưới src/khoj/ được tổ chức rõ ràng theo chức năng:
| Thư mục | Mục đích |
|---|---|
routers/ |
Các endpoint FastAPI REST & WebSocket (chat, agent, tìm kiếm, file) |
processor/conversation/ |
LLM adapter cho từng nhà cung cấp (OpenAI, Anthropic, Google, Ollama) |
processor/content/ |
Parser tài liệu (PDF, Markdown, Notion, Org-mode, Word) |
database/ |
Models Django ORM - cuộc trò chuyện, agent, file, người dùng |
search/ |
Pipeline tìm kiếm ngữ nghĩa dùng sentence-transformers |
routers/api_agents.py |
REST API đầy đủ để tạo và quản lý agent |
Mẫu LLM Adapter
Một trong những thiết kế thanh lịch nhất của Khoj là mẫu LLM adapter. Mỗi nhà cung cấp có module riêng với cùng interface:
# src/khoj/processor/conversation/anthropic/anthropic_chat.py
async def converse_anthropic(
messages: List[ChatMessage],
model: Optional[str] = "claude-3-7-sonnet-latest",
api_key: Optional[str] = None,
deepthought: Optional[bool] = False,
tracer: dict = {},
) -> AsyncGenerator[ResponseWithThought, None]:
"""Trò chuyện với người dùng dùng Claude của Anthropic"""
async for chunk in anthropic_chat_completion_with_backoff(
messages=messages,
model_name=model,
temperature=0.2,
...
):
yield chunk
Mẫu tương tự được áp dụng cho openai_chat.py, google_chat.py, và ollama_chat.py. Router chọn adapter phù hợp lúc runtime dựa trên model mà người dùng cấu hình - bạn chuyển từ GPT-4o sang Gemini sang Llama 3 mà không cần thay đổi bất kỳ dòng code nào.
Pipeline Nạp Tài Liệu
Khoj đọc kho kiến thức của bạn và lập chỉ mục vào vector store để truy hồi ngữ nghĩa:
- PDF → parser
pypdf - Markdown / Org-mode → trích xuất plain text
- Notion → tích hợp API chính thức
- Word → parser Office XML
- Ảnh → mô tả bằng Vision LLM
Tất cả đều vào chỉ mục vector embedding (sentence-transformers). Khi bạn đặt câu hỏi, Khoj thực hiện tìm kiếm tương đồng ngữ nghĩa trên corpus của bạn, lấy k phần liên quan nhất, và truyền chúng làm ngữ cảnh vào LLM - RAG cổ điển, nhưng tích hợp sâu sắc.
Phần 3: Chẩn Đoán - Khoj Làm Gì Cho Lập Trình Viên
Trường Hợp 1: Trợ Lý Nghiên Cứu Cá Nhân
Tải toàn bộ thư viện nghiên cứu - 300 PDF, 1.000 note Markdown, toàn bộ Notion - và trò chuyện với chúng:
# Đồng bộ thư mục tài liệu local
khoj --content-file /path/to/research/
# Hoặc qua web UI: Settings → Files → Upload
Hỏi: “Trong các bài báo của mình, bài nào đề cập kiến trúc Transformer cho dự báo chuỗi thời gian?” Khoj truy hồi các đoạn liên quan, trích dẫn chúng, và tổng hợp câu trả lời mạch lạc.
Trường Hợp 2: Agent AI Tùy Chỉnh
Hệ thống agent của Khoj cho phép bạn tạo nhân vật AI chuyên biệt với kho kiến thức, LLM, system prompt và công cụ riêng:
Settings → Agents → Create Agent
- Name: "Python Code Reviewer"
- Model: Llama 3.1 70B (local via Ollama)
- Knowledge Base: tài liệu codebase nội bộ của công ty
- Tools: Web Search, Code Execution
- Persona: "Bạn là senior engineer nghiêm khắc. Review code về bảo mật và độ chính xác."
Mỗi agent có endpoint chat riêng. Bạn có thể có agent “Nhà Phân Tích Nghiên Cứu” đọc PDF học thuật và agent “Copywriter Marketing” đọc tài liệu brand guidelines - cả hai chạy trên cùng một server Khoj.
Trường Hợp 3: Nghiên Cứu Tự Động (Scheduled Jobs)
Khoj có thể đóng vai trợ lý chủ động:
- Thiết lập task nghiên cứu hàng ngày: “Mỗi sáng, tìm kiếm tin tức về AI safety và gửi cho tôi một bản tóm tắt dạng newsletter”
- Nó duyệt web, tổng hợp thông tin, và giao đến kênh bạn cấu hình (email, webhook, v.v.)
Trường Hợp 4: Bảo Mật Dữ Liệu - Chạy Hoàn Toàn Local
Dành cho lập trình viên không muốn gửi dữ liệu lên đám mây bên thứ ba:
# Chạy Llama 3 local qua Ollama
ollama run llama3.1
# Trỏ Khoj vào đó
# Trong Khoj UI → Chat Models → Add Model → host: http://localhost:11434
Tài liệu của bạn ở trên ổ đĩa của bạn. Cuộc trò chuyện được xử lý local. Không có dữ liệu nào rời máy tính.
Các LLM Được Hỗ Trợ
| Loại | Nhà cung cấp | Model ví dụ |
|---|---|---|
| Cloud | OpenAI | GPT-4o, o3-mini |
| Cloud | Anthropic | Claude 3.7 Sonnet |
| Cloud | Gemini 1.5 Pro, Flash | |
| Cloud | Cohere, Mistral AI | Command R, Mistral Large |
| Local | Ollama | Llama 3.1, Qwen, Gemma, DeepSeek |
Phần 4: Giải Pháp - Cách Bắt Đầu
Lựa Chọn A: Cloud (Không Cần Cài Đặt)
Con đường nhanh nhất - truy cập app.khoj.dev và tạo tài khoản miễn phí. Không cần cài đặt gì.
Lựa Chọn B: Self-Host với Docker (Khuyên Dùng)
mkdir ~/.khoj && cd ~/.khoj
# Tải file compose chính thức
wget https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml
# Khởi động
docker-compose up -d
Truy cập http://localhost:42110 là xong.
Lựa Chọn C: Self-Host với pip (Dành Cho Python Developer)
# Cài đặt với hỗ trợ LLM local (llama-cpp-python)
python -m pip install 'khoj[local]'
# Khởi động server
khoj
Để tăng tốc bằng GPU:
# NVIDIA CUDA
CMAKE_ARGS="-DGGML_CUDA=on" FORCE_CMAKE=1 python -m pip install 'khoj[local]'
# Apple M1/M2/M3
CMAKE_ARGS="-DGGML_METAL=on" python -m pip install 'khoj[local]'
Thêm Kho Kiến Thức Của Bạn
Sau khi khởi động Khoj:
- Web App: Vào Settings → Files → kéo thả PDF, Markdown, hoặc kết nối Notion
- Obsidian Plugin: Cài plugin Khoj → nó lập chỉ mục vault của bạn tự động
- CLI đồng bộ:
khoj --content-file ~/notes/ --content-file ~/research/*.pdf
Kết Nối LLM Ưa Thích
Trong Settings → Chat Models:
- Thêm OpenAI key cho GPT-4o
- Thêm Anthropic key cho Claude
- Trỏ về
http://localhost:11434cho các model Ollama local
Khoj sẽ định tuyến tất cả cuộc trò chuyện qua model bạn chọn làm mặc định.
Lời Khuyên Cuối (Final Take)
┌────────────────────────────────────────────────────────────┐
│ Khoj │
│ │
│ "Bộ não AI thứ hai mã nguồn mở của bạn" │
│ │
│ Khoj LÀ: │
│ → Ứng dụng AI cá nhân tự cài được (FastAPI + Python) │
│ → Router LLM-agnostic (GPT, Claude, Gemini, Ollama) │
│ → Pipeline RAG trên TÀI LIỆU CỦA BẠN │
│ → Trình xây dựng agent với kiến thức + công cụ tùy chỉnh │
│ │
│ Khoj GIẢI QUYẾT: │
│ → Kiến thức rải rác qua file, app và công cụ │
│ → Phụ thuộc vào dịch vụ AI đóng, chỉ trên cloud │
│ → Quyền riêng tư: dữ liệu ở trên máy bạn nếu bạn muốn │
│ │
│ Khoj KÍCH HOẠT: │
│ → Chat với hàng ngàn tài liệu của riêng bạn │
│ → LLM local (Llama, Qwen, DeepSeek) qua Ollama │
│ → Agent tự động nghiên cứu và gửi newsletter │
│ → Đa nền tảng: Web, Obsidian, Emacs, Phone, WhatsApp │
│ │
│ Self-host: pip install khoj | docker-compose up │
│ Cloud: app.khoj.dev (có gói miễn phí) │
└────────────────────────────────────────────────────────────┘
Khoj xóa nhòa ranh giới giữa tri thức cá nhân ngoại tuyến và sức mạnh suy luận của LLM hiện đại. Nếu bạn muốn kho ghi chú của mình phục vụ đắc lực cho công việc hàng ngày thay vì nằm yên phủ bụi, tự host Khoj là một bước đầu tư mang lại ROI kỹ thuật rất cao.
GitHub: khoj-ai/khoj
Docs: docs.khoj.dev
Live App: app.khoj.dev
Bài Viết Kiến Trúc Liên Quan
- Pi Mono Explained: Kiến Trúc Coding Agent Đơn Luồng & Bộ Nhớ: Khám phá kiến trúc subagent, loop phản hồi và hệ thống tools thực chiến.
- Omniroute: Điều Phối Lưu Lượng & Dynamic LLM Routing: Quản lý hạn mức và chuyển đổi linh hoạt giữa các nhà cung cấp mô hình để tối ưu chi phí.
- ADHD Coding Agent: Kỷ Luật Tư Duy & Chống Phân Rã Ngữ Cảnh: Loại bỏ văn hoa rào đón, tối ưu token cho Claude Code và Cursor.
Bài viết liên quan
Project N.O.M.A.D.: Xây lô cốt tri thức cho ngày không có mạng
Khi đám mây bay đi mất, thứ còn lại trong ổ cứng mới là cứu cánh.
BitNet: Kỷ nguyên LLM 1-bit Cuối cùng đã Bắt đầu
Khám phá bitnet.cpp, framework chính thức của Microsoft dành cho các LLM 1-bit, giúp thay thế phép nhân bằng phép cộng để tăng tốc độ xử lý vượt trội.
Context Engineering: Kỹ Thuật Phân Tách AI Agent Giỏi Khỏi Agent Xuất Sắc
Agent Skills for Context Engineering - bộ công cụ mã nguồn mở dạy bạn pull đúng context, tránh ngợp cửa sổ ngữ cảnh như một kỹ sư AI thực thụ.
Bộ Sưu Tập 700+ AI System Prompt Bị Lộ: Phân Tích Kỹ Thuật
Khám phá bộ sưu tập 700+ system prompt AI rò rỉ: Cursor, Manus, Windsurf, Devin, Claude Code, v0 kèm phân tích kiến trúc agent và kỹ thuật chống hallucination.