如何自托管 Khoj:你的私人 AI 第二大脑

一个你自行运行的开源 AI 第二大脑——在你的硬件上使用本地或云端模型,与自己的文档和网页聊天。

Aquila 团队 更新于 2026年6月19日

Khoj 是一个开源、可自托管的“AI 第二大脑”——一个个人 AI 助手,能从网络和你自己的文档中给出答案,支持任何本地或云端 LLM,并可通过浏览器、Obsidian、Emacs、桌面端和手机访问。Vane 是一个面向实时网络的 Perplexity 风格引擎,而 Khoj 则围绕你的资料构建:你的 PDF、Markdown 笔记、Word 文档、Notion 页面等。本指南涵盖 Khoj 是什么、如何用 Docker 自托管、如何连接你的文档和本地模型,以及何时选择 Khoj 而非 Vane。

官方仓库是 github.com/khoj-ai/khoj。关于更广泛的 AI 答案引擎领域,请参阅我们的汇总:开源 Perplexity 替代方案

Khoj 是什么

Khoj 自称是一个 AI 第二大脑。实际上,它完成了托管助手通常让你三选一的三种功能:

  1. 来自你自己文档的答案。 你将 Khoj 指向你的文件——PDF、Markdown、Word、Notion、org-mode,甚至图片——它会为语义搜索建立索引,这样你就可以提问,并从自己的知识中获得有依据、带引用的答案。
  2. 来自网络的答案。 它也可以在线搜索来回答你文档中没有的问题。
  3. 充当助手。 除了搜索,它还支持自定义代理、自动化以及按计划运行的定时或“深度”研究。

无论你在哪里工作,它都能触及你:网页应用、Obsidian 插件、Emacs 包、桌面应用、手机应用,甚至 WhatsApp。这种多客户端覆盖是其标志性特性——你的第二大脑跟随你跨越各种工具。

Khoj
是什么可自托管的 AI 第二大脑 / 个人助手
许可证AGPL-3.0
GitHub 星标~35.2k (截至 2026 年 6 月)
背景Y Combinator (W24)
向量存储pgvector (PostgreSQL + pgvector 扩展)
文档类型PDF, Markdown, Word, Notion, org-mode, 图片
本地 LLM是——Ollama (llama3, qwen, gemma, mistral)
云端 LLMgpt, claude, gemini, deepseek
客户端浏览器, Obsidian, Emacs, 桌面, 手机, WhatsApp

有两个事实影响你对 Khoj 的看法。首先,它采用 AGPL-3.0 许可证——强 Copyleft,这在你打算将 Khoj 嵌入到你分发的产品中时很重要(与 Vane 宽松的 MIT 许可证 相比)。对于自己或团队使用,AGPL 完全不是障碍。其次,它使用 pgvector——PostgreSQL 扩展——作为向量存储,这意味着文档的语义搜索运行在普通、久经考验的 Postgres 上,而不是一个独立的向量数据库。如果你想了解这一层,请参阅我们的自托管向量数据库汇总以及什么是嵌入

Khoj 的工作原理

当你向 Khoj 询问关于你的文档的问题时,它运行的是检索增强生成(RAG)——尽管你无需用这些术语来思考。流程如下:

  1. 摄取。 你的文件被分块并转换为嵌入——捕捉语义的数字向量。
  2. 存储。 这些向量存放在 PostgreSQL 内的 pgvector 中。
  3. 检索。 你的问题以相同方式嵌入,pgvector 通过语义搜索找到最语义相似的分块。
  4. 生成。 检索到的分块被交给所选 LLM,它写出带有引用回源文件的有依据的答案。

因此,一个典型的自托管 Khoj 部署会同时启动几个服务——Khoj 应用、一个 PostgreSQL + pgvector 数据库,以及支持组件(一个用于网络搜索的 SearXNG 实例,以及一个供某些高级功能使用的沙盒代码执行环境)。Docker Compose 将它们整合在一起,你无需手动组装。

为什么要自托管 Khoj

你可以使用 Khoj 的托管云版本,但如果你在乎所有权,自托管才是重点:

  • 你的文档仍然归你所有。 使用本地模型时,你的文件、它们的嵌入以及由此生成的答案永远不会离开你的基础设施——没有任何内容发送给第三方,也不会训练别人的模型。
  • 模型选择。 通过 Ollama 运行本地 LLM 以获得完全的隐私,或者在你需要更多推理能力时接入云端模型(GPT、Claude、Gemini、DeepSeek)。
  • 无订阅、无限制。 只要你的硬件允许,可以索引任意多的文档;在你自己的机器上没有按席位或按文档计费。
  • 它是你的助手。 自定义代理和自动化按照你的条件、你的计划、针对你的数据运行。

代价是通常自托管的代价:你需要配置它、打补丁,并保持 Postgres 健康。Khoj 比单纯的元搜索引擎运行起来更重,因为它带着一个数据库和文档索引——但这正是你获得私有文档问答的代价。

自托管 Khoj:设置概览

这是 Khoj 部署的大致形式。请始终遵循项目自身的文档和 README 以获取准确的最新命令——Khoj 附带一个 Docker Compose 设置,它会在版本之间维护和更新。

1. 前提条件

你需要一台装有 Docker 和 Docker Compose 的主机。由于 Khoj 运行 PostgreSQL 加一个文档索引(以及可选的本地 LLM),因此比元搜索引擎需要更多资源——一台 4 GB+ 内存 的机器是合理的起点,如果你索引大型语料库或在同一台机器上运行本地模型,则需要更多内存。如果要做本地推理,GPU 会有很大帮助。

2. 获取 Docker Compose 设置

Khoj 发布了一个 docker-compose.yml,定义了整个技术栈——Khoj 服务器、PostgreSQL + pgvector 数据库,以及支持服务。标准流程是下载那个 compose 文件(或克隆仓库),设置几个环境变量,然后启动所有服务:

docker compose up -d

首次运行时,数据库会初始化,Khoj 服务器启动。稍等片刻,然后在 compose 文件中显示的地址(通常是一个本地端口)打开 Web UI。

3. 创建账户并选择模型

首次启动时,你通过 Web UI 设置一个管理员账户。然后配置你的 LLM:

  • 本地 (Ollama): 运行 Ollama,拉取模型(ollama pull llama3.1),并将 Khoj 指向你的 Ollama 端点。这样生成过程完全在你的硬件上完成。
  • 云端: 当你想要前沿级别的答案时,添加 GPT、Claude、Gemini 或 DeepSeek 的 API 密钥。

4. 连接你的文档

这一步让 Khoj 成为第二大脑,而不是一个网络搜索框。你连接你的知识来源:

  • 通过 Web UI 直接上传 PDF、Word、Markdown 和其他文件。
  • Obsidian 或 Emacs 插件,自动将你现有的笔记库同步到 Khoj。
  • Notion 和其他支持的来源。

Khoj 将你连接的内容索引到 pgvector。从那时起,你的问题会跨你自己的知识进行搜索,答案会引用来源文件。首次索引大型笔记库需要一段时间(它必须嵌入所有内容);后续更新是增量的。

5. 在你喜欢的客户端中使用

安装适合你工作流程的任何客户端——浏览器应用、Obsidian 插件、桌面或手机应用——它们都连接到同一个自托管服务器。你的索引和对话保留在你的硬件上;客户端只是前端。

连接本地模型以实现完全隐私

与任何自托管 AI 工具一样,Khoj 在模型层提供了一个隐私与质量的权衡:

本地 (Ollama)云端 LLM
数据去向停留在你的硬件上提示词 + 检索到的分块发送给提供商
隐私性完全可能私有提供商能看到你的文档摘录
答案质量良好,受硬件限制前沿水平
成本仅硬件成本按 token 的 API 费用
最佳适用敏感的个人/工作文档最难的问题,最佳措辞

对于一个第二大脑,隐私风险比网络搜索更高——你喂给它的是你实际的笔记、合同和研究资料。如果这些内容敏感,就全程本地运行:Ollama 用于生成,本地嵌入模型用于索引,pgvector 放在你自己的机器上。整个循环留在你的网络内部。只有当某个特别难的问题值得把那些摘录发送出去时,才考虑使用云端模型,并且要审慎做出这个选择。

何时选择 Khoj 与 Vane

两者都是优秀的自托管 AI 工具,但它们是为不同任务而构建的。

KhojVane (前身 Perplexica)
主要任务你自己的文档对话类 Perplexity 风格的网络答案
最佳比喻AI 第二大脑AI 搜索引擎
自己文档的问答核心功能 (pgvector RAG)有限
网络搜索支持支持(核心,通过内置 SearXNG)
客户端浏览器, Obsidian, Emacs, 桌面, 手机, WhatsAppWeb UI
许可证AGPL-3.0 (copyleft)MIT (宽松)
星标 (2026 年 6 月)~35.2k~35.4k

决策主要取决于你的问题来自哪里

  • 选择 Khoj 当你的目标是跨多个设备搜索和对话于你自己知识——笔记、文档、研究库——并以网络搜索作为额外功能。对于个人或团队知识助手来说,这是这里最强的选项。
  • 选择 Vane 当你的目标是来自实时网络的 Perplexity 风格答案,并且文档问答不是你的优先事项。
  • 注意许可证 如果你要将其嵌入到你将要分发的产品中:Vane 的 MIT 是宽松的;Khoj 的 AGPL-3.0 是 Copyleft。仅限内部使用时,两者都无关紧要。
  • 同时运行两者 如果你愿意——许多人将 Vane 用于开放网络,将 Khoj 用于自己的文件。它们并不冲突。

有关包括 SurfSense 和 SearXNG 在内的完整全景图,请参阅开源 Perplexity 替代方案

隐私与数据所有权

Khoj 的整个主张是你的第二大脑属于你。自托管、指向本地模型、pgvector 放在你自己的服务器上,整个循环——你的文档、它们的嵌入、你的问题和生成的答案——都留在你的网络内部。没有第三方索引你的文件,没有提供商在你的笔记上进行训练,而且你可以将其运行在气隙环境中。

唯一会改变的地方是模型层:如果你选择云端 LLM,提示词和检索到的文档摘录会发送给该提供商进行生成。鉴于这些摘录来自你的私人文件,请仔细权衡。对任何敏感内容保持本地生成,并将云端模型保留用那些质量值得暴露的问题。同样的数据所有权逻辑贯穿我们的自托管 RAG 指南

常见问题

Khoj 用于什么? Khoj 是一个可自托管的 AI “第二大脑”——一个个人助手,能够回答来自你自己的文档(PDF、Markdown、Word、Notion、org-mode、图片)和网络的问题。它支持自定义代理和定时研究,你可以通过浏览器、Obsidian、Emacs、桌面端、手机和 WhatsApp 访问它。

Khoj 免费且开源吗? 是的。Khoj 在 AGPL-3.0 许可证下开源,并且完全可自托管,因此没有软件成本。请注意 AGPL 是一个 Copyleft 许可证——仅在你计划将 Khoj 嵌入并分发到自己的产品中时相关,对于自己运行则无关紧要。

Khoj 能与本地 LLM 一起使用吗? 是的。Khoj 通过 Ollama 与本地模型一起工作(llama3、qwen、gemma、mistral 等),因此你可以在自己的硬件上完全运行它。当你需要更多推理能力时,它还支持云端模型(GPT、Claude、Gemini、DeepSeek)。

Khoj 使用什么数据库? Khoj 使用 pgvector——PostgreSQL 的向量扩展——作为对其文档进行语义搜索的向量存储。自托管部署在 Docker Compose 栈中运行带有 pgvector 的 PostgreSQL。

Khoj 与 Vane——哪个更好? 没有哪个“更好”;它们做不同的工作。Khoj 旨在跨多个客户端与你的文档聊天。Vane 旨在从实时网络获取 Perplexity 风格的答案。根据你的问题是关于自己的文件还是开放网络来选择——如果你两者都需要,可以同时运行。


Khoj 是在你自己的知识上自托管私有 AI 助手的最全功能方式。从这里开始,了解其背后的 RAG 流程,将其与 Vane 及其他答案引擎比较,或阅读它运行的向量数据库层。Aquila 是你拥有的 AI 搜索的独立家园。掌控你自己的搜索。

继续学习

更多关于自托管 AI 搜索、RAG 和向量数据库的指南。