Khoj 评测:自托管个人 AI 助手,把文档、搜索和自动化装进一个开源项目
你的人工智能第二大脑。可自行托管。从网络或文档中获取答案。构建自定义代理、安排自动化、进行深入研究。将任何在线或本地法学硕士转变为您个人的自主人工智能(gpt、claude、gemini、llama、qwen、mistral)。开始使用 - 免费。
秒懂
- 它是什么?
- Khoj 是一个用 Python 编写的自托管 AI 第二大脑,能接入本地或在线 LLM,处理你的文档、网页搜索和定时任务。本文基于仓库与文档,分析它的架构、部署方式和适用边界。
- 适合谁用?
- Khoj 适合那些已经熟悉 Docker 或 Python 环境、愿意自己维护服务的技术用户,尤其是 Obsidian 或 Emacs 的重度使用者。它不适合完全不懂部署、只想开箱即用的人,这类用户应直接使用 app.khoj.dev 的云版本。
- 能商用吗?
- 可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
- 还在维护吗?
- 在维护。仓库最近一次提交在 45 天前。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决什么问题,谁需要它
Khoj 把自己定义为「你的 AI 第二大脑」。它解决的是知识碎片化的问题:你的笔记散落在 Markdown、PDF、org-mode 文件里,网页上有你需要的信息,但每次都要手动搜索、复制、粘贴。Khoj 把这些来源统一索引,让你通过聊天界面直接提问,答案来自你自己的文档或互联网。目标用户很明确:知识工作者、研究人员、笔记重度用户,以及那些不想把私人笔记上传到闭源云服务的人。它支持从 Obsidian、Emacs、浏览器到手机和 WhatsApp 的多种访问方式,这意味着你可以在写作时直接调用,而不必切换应用。
核心机制:从文档到答案的管道
根据 README 和文档描述,Khoj 的工作流程大致是:先连接你的文档源(本地文件、Notion、PDF 等),然后建立语义索引。当你提问时,它先做检索,找到相关片段,再把这些片段作为上下文送给 LLM 生成答案。这个流程与 RAG(检索增强生成)的标准模式一致,但 Khoj 的特别之处在于它同时支持本地模型(如 llama3、qwen、gemma)和在线模型(如 GPT、Claude、Gemini)。这意味着你可以把索引和数据留在本地,只把查询发送给在线模型,或者完全离线运行。文档还提到它有「advanced semantic search」,不只是关键词匹配,而是基于向量或语义理解。这个机制决定了它的质量上限:如果索引不完整或检索不到正确片段,再强的 LLM 也答不好。
部署方式:从 pip 到 Docker 的路径
README 没有给出具体安装命令,但指向了官方文档的 setup 页面。根据仓库结构,Khoj 是一个 Python 项目,发布在 PyPI 上,所以你可以用 pip install khoj 来安装。它还提供了 Docker 镜像(在 GitHub Packages 中),这可能是最省事的自托管方式。文档建议从 docs.khoj.dev/get-started/setup 开始,那里应该有环境变量配置、模型选择步骤和首次索引的引导。一个关键配置点是选择 LLM:本地模型需要足够的 GPU 或 CPU 内存,在线模型需要 API 密钥。如果你只想快速试用,可以先用云版本 app.khoj.dev,无需任何设置。但自托管时,你需要准备一个持久化存储来保存索引数据,否则每次重启都要重新索引。
扩展能力:agent、自动化和多模态
Khoj 不止是问答机器人。它支持创建自定义 agent,你可以给 agent 设定特定的知识库、人设、聊天模型和工具。这意味着你可以做一个专门回答法律问题的 agent,或者一个根据你的笔记生成周报的 agent。它还支持自动化:定时任务可以生成个人新闻简报或智能通知,发送到你的邮箱。这相当于一个轻量的 AI 工作流引擎。多模态方面,它支持图片生成、语音朗读和消息播放,但 README 没有详细说明这些功能的实现方式。从设计上看,这些功能都围绕同一个核心索引,所以你的 agent 和自动化任务都能访问相同的文档库。这种一体化的设计减少了配置多个工具的麻烦,但也意味着如果核心索引出问题,所有功能都会受影响。
局限与失败模式:不是万能的
Khoj 的定位是个人助手,但有几个明显的限制。第一,自托管需要技术能力,不是普通用户能搞定的。你得处理 Python 环境、依赖、模型下载或 API 密钥,还要定期更新。第二,语义搜索的质量取决于你的文档格式和语言。如果文档是扫描版 PDF 或手写笔记,Khoj 可能无法正确索引,除非有 OCR 支持,但 README 没有提到。第三,本地模型的效果通常不如在线模型,尤其在中文或专业领域。如果你用 llama3 这类小模型,答案质量可能令人失望。第四,自动化功能依赖定时触发,如果你关闭了服务或电脑休眠,任务不会执行。最后,作为 beta 版本(2.0.0-beta.28),API 可能频繁变动,升级时可能破坏现有配置。
替代方案:与 Obsidian Copilot 和本地 RAG 工具对比
Khoj 的直接替代品是 Obsidian Copilot 或类似插件,它们也提供基于笔记的聊天功能。区别在于,Obsidian Copilot 通常只针对 Obsidian 库,而 Khoj 独立于任何编辑器,可以同时处理多个来源。另一个替代方案是使用 LangChain 或 LlamaIndex 自己搭建 RAG 管道,这样做灵活性更高,但你需要自己处理文档加载、向量存储、检索逻辑和 UI。Khoj 把这些打包成开箱即用的应用,还提供了多客户端支持。如果你只需要简单的文档问答,一个轻量工具可能更合适;如果你需要跨平台、多来源和自动化,Khoj 的集成度是优势。但请注意,自建方案没有 AGPL 许可约束,而 Khoj 是 AGPL-3.0,这会影响你修改后分发的义务。
维护成本与许可证考量
Khoj 的维护成本不低。从发布记录看,它几乎每天发布新 beta 版本,这意味着功能迭代快,但也意味着稳定性可能不足。你需要定期拉取更新,否则可能错过安全修复或新功能。同时,自托管需要你监控服务运行状况,包括索引完整性、模型响应时间和磁盘空间。许可证方面,Khoj 使用 AGPL-3.0,这是一个强 copyleft 许可。如果你修改了代码并部署为网络服务,你需要向用户提供源代码。对于个人使用,这通常没问题,但如果你在公司内部部署并修改了代码,可能需要咨询法律意见。好消息是,Khoj 也提供商业企业版(云或本地),这可能包含更宽松的条款,但具体内容需要联系官方。
编辑结论
Khoj 适合那些已经熟悉 Docker 或 Python 环境、愿意自己维护服务的技术用户,尤其是 Obsidian 或 Emacs 的重度使用者。它不适合完全不懂部署、只想开箱即用的人,这类用户应直接使用 app.khoj.dev 的云版本。在采用前,先确认你的硬件能否跑得动本地模型,或者你是否接受将 API 密钥交给自托管实例。另外,AGPL-3.0 许可意味着如果你修改代码并对外提供服务,需要开源你的改动,这一点对商业团队尤其重要。最后,检查当前 beta 版本(2.0.0-beta.28)的更新频率,它几乎每天发布,说明 API 可能还不稳定,生产环境使用前需要锁定版本。
社区笔记