Khoj 项目介绍
Khoj 项目介绍
项目定位
Khoj 是你的个人 AI 第二大脑——一个开源、可自托管的个人 AI 助手,从本地文档到互联网信息,从语义搜索到多模型对话,再到自定义 Agent 与定时自动化,全面扩展个人知识工作能力。
核心能力
- 多模型对话:支持 OpenAI、Anthropic、Google 三大提供商的数十种 LLM,通过统一的 StreamingResponse / WebSocket 管道输出
- RAG 语义检索:bi-encoder + cross-encoder 双阶段检索,pgvector 向量存储,支持 PDF、Markdown、Notion、DOCX、图片等多模态文档解析
- 自定义 Agent 系统:用户可创建带有自定义 persona、工具集和模型的 Agent,包括浏览器/计算机操作型 Operator Agent
- MCP 协议集成:支持 stdio 和 SSE 两种传输方式的 MCP 服务器连接,动态发现并调用外部工具
- 自动化/Cron 任务:基于 APScheduler 的定时查询自动化,生成个人新闻简报和智能通知
- 多平台客户端:Web(Next.js)、Desktop(Electron)、Obsidian 插件、Emacs 包、Android TWA 五种界面统一接入同一 FastAPI 后端
技术栈
| 层级 | 技术选型 |
|---|---|
| 后端框架 | FastAPI + Django(ASGI) |
| 数据库 | PostgreSQL + pgvector |
| 嵌入模型 | sentence-transformers(本地) / HuggingFace API / OpenAI API(远程) |
| 重排序 | cross-encoder(mxbai-rerank-xsmall) |
| 前端 | Next.js + Radix UI + Tailwind CSS,Bun 构建 |
| 包管理 | uv(Python) / Bun(Node.js) |
| 调度器 | APScheduler + django-apscheduler |
| 沙箱 | Terrarium / E2B(代码执行) |
| 部署 | Docker 多阶段构建 + docker-compose |
架构概览
快速体验
最简单的方式(需要 Python 3.10+):
pip install khojkhoj# 浏览器访问 http://localhost:42110Docker Compose 全功能部署(含向量数据库、代码沙箱、搜索引擎):
git clone https://github.com/khoj-ai/khoj && cd khojdocker compose up# 浏览器访问 http://localhost:42110教程导读
本教程分为 AI 应用通用知识和编程核心技术两个部分:
AI 部分(ai/)
| 章节 | 知识点 | 引用 Common |
|---|---|---|
| 01 | Agent 核心循环:Event Generator 模式 | 补充 |
| 02 | 多阶段 RAG:Bi-encoder + Cross-encoder | 补充 |
| 03 | 多模型 Provider 路由 | 引用 |
| 04 | MCP Client 集成模式 | 补充 |
| 05 | 自定义 Agent 与工具编排 | 引用 |
| 06 | Operator Agent:视觉驱动的计算机交互 | 首次覆盖 |
Dev 部分(dev/)
| 章节 | 知识点 |
|---|---|
| 01 | FastAPI + Django 双框架架构 |
| 02 | 模板方法模式:多模态文档处理流水线 |
| 03 | 跨平台统一 API 与 CORS 白名单 |
| 04 | APScheduler 定时任务与分布式锁 |
| 05 | Next.js SSG + Django 静态服务混合部署 |
| 06 | uv + Hatchling 构建系统与 Docker 多阶段构建 |