
信息过载是一个老问题,但 AI 时代让这个问题有了新的解法维度。我的 [[Obsidian]] 笔记库里存着几千篇笔记,有读书摘录、技术研究、项目记录,但很多时候我自己都找不到想要的东西,更别说让这些知识产生关联和洞见了。用过 [[ChatGPT]] 和 [[Claude]],它们的对话能力很强,但没法触碰我的私人笔记。用过向量搜索工具,可以语义检索,但没有对话能力。直到发现 Khoj,才意识到这两者可以被优雅地整合在一起。
Khoj 是什么
Khoj 把自己定位为”AI 第二大脑”(Your AI second brain),这个说法很准确地抓住了它的本质。它是一个开源的、可自托管的个人 AI 助手,目前在 GitHub 上积累了超过 35000 颗星,用 AGPL-3.0 协议发布。和普通的 AI 聊天工具最大的不同在于:Khoj 可以接入你自己的知识库,让 AI 在回答问题时不只依赖通用训练数据,还能从你的 PDF、Markdown 笔记、Notion 页面、Word 文档、图片里检索相关内容,给出有根据、有来源的回答。
从架构上看,Khoj 是 Python 和 TypeScript 混合构建的,Python 占约 51% 承载后端逻辑和 AI 能力,TypeScript 占约 36% 负责前端和部分业务逻辑。它既有云端版本(直接访问 app.khoj.dev 就能用),也可以完全自托管在本地服务器或 NAS 上,还可以在个人电脑上以桌面模式运行。三种部署形态覆盖了从”想立刻试用”到”完全数据自主”的不同需求。
核心能力解析
Khoj 的能力矩阵相当宽,把几个通常分散在不同工具里的功能集中在了一起。
个人知识库的接入是它最核心的差异化能力。Khoj 支持索引 PDF、Markdown、Word 文档、[[Notion]] 页面、Org-mode 文件和图片,通过语义向量搜索实现智能检索。当你提问时,它不只是在互联网上找答案,还会先在你的个人知识库里搜索相关内容,优先使用你自己记录过的信息,找不到再联网补充。这对于积累了大量笔记的人来说,意味着你的知识资产真正”活”了起来。
多模型支持是 Khoj 的另一个亮点。它同时支持本地模型(通过 llama.cpp 运行 Llama 3、Qwen、Mistral、Gemma、DeepSeek 等)和云端模型(OpenAI GPT、Anthropic Claude、Google Gemini),可以根据任务的性质和资源情况灵活切换。隐私敏感的内容用本地模型处理,需要高质量推理时换上云端模型,这种灵活性是固定订阅某一家服务做不到的。
深度研究(Deep Research)功能让 Khoj 可以做多步骤的自主研究工作流。你给出一个研究课题,它会自己拆解成子问题、分步检索、综合信息、生成带引用的研究报告,类似于一个能帮你做初步资料整理的研究助理。这不是简单的”问一个问题得一个答案”,而是把多轮研究过程自动化了。
自定义 Agent 让你可以构建专门针对某个场景的 AI 助手:给它指定知识库、设置人设、选择使用的工具。比如可以创建一个专门读懂你技术笔记的工程师助手,或者一个只在你读书摘录里工作的阅读助手。不同场景的 Agent 之间互不干扰,各自有自己的上下文。
自动化任务是个容易被忽视的功能。Khoj 可以定时执行研究任务,比如每天早上整理你关注的某个领域的最新进展,生成个人简报,通过 WhatsApp 或邮件推送给你。这相当于有了一个每天在跑的信息过滤器,而且是按你的兴趣定制的。
集成方式与接入途径
Khoj 提供了相当丰富的客户端接入方式,覆盖了主流的使用场景。
[[Obsidian]] 插件是我最感兴趣的集成。Khoj 有专门的 Obsidian 插件,安装后可以直接在 Obsidian 界面里与 Khoj 对话,同时把整个 vault 作为知识库的一部分。对于把 Obsidian 当主力知识管理工具的人来说,这个集成几乎是无缝的——问题、记录、笔记都在一个环境里。
除此之外还有 Emacs 客户端(针对 Emacs 用户的集成),桌面应用(跨平台,方便在本地 Mac/Windows/Linux 上使用),以及手机 App。最有趣的是 WhatsApp 集成——你可以直接在 WhatsApp 里发消息给你的 Khoj,随时随地查询自己的知识库或让它帮你做搜索,门槛极低。
安装部署
Docker 是最推荐的自托管方式,官方提供了 docker-compose.yml 配置文件,拉取后直接启动即可:
git clone https://github.com/khoj-ai/khoj.git
cd khoj
docker compose up -d
服务默认在 http://localhost:42110 上运行。首次启动后需要在 Web 界面里配置 LLM 提供商,可以填入 OpenAI、Anthropic 等云端 API Key,或者配置本地的 Ollama 地址。
如果只是想快速试用,不需要自托管,直接访问 app.khoj.dev 就能创建账号使用云端版本,数据存在 Khoj 的服务器上,适合体验功能。确认适合之后再考虑迁移到自托管。
用 Python 直接安装也是一个选项:
pip install khoj
khoj --anonymous-mode
--anonymous-mode 跳过账号创建,直接在本地起服务。
上传知识库文件可以通过 Web 界面拖拽,也可以通过 API 批量导入。Obsidian vault 的接入通过 Obsidian 插件完成,插件安装后配置好 Khoj 的地址,它会自动同步指定的笔记目录。
几点值得注意的地方
Khoj 的能力边界和实际体验很大程度上取决于你用哪个 LLM。本地模型在较弱的机器上推理速度可能让人等得焦虑;云端模型体验流畅但存在隐私顾虑。对于个人知识库里确实包含敏感内容的人,需要想清楚这个权衡。
知识库索引的质量也影响最终效果。笔记写得越结构化、关键信息越清晰,Khoj 检索出来的内容就越准确。如果你的笔记本来就比较凌乱,Khoj 能做的也有限。这不是工具的缺陷,而是”垃圾进垃圾出”的基本道理。
AGPL-3.0 协议意味着如果你基于 Khoj 开发并对外提供服务,需要开放源代码。纯粹自用不涉及这个限制,个人使用完全没有问题。
最后
Khoj 代表的是一类我认为值得长期关注的工具方向:不是通用 AI 助手,而是与个人知识深度结合的专属助手。把几千篇笔记、几年的阅读记录、工作中积累的文档喂给一个 AI,让它成为你自己知识的”检索和推理层”,这个想象空间很大。目前 Khoj 的功能已经相当完整,Obsidian 插件、WhatsApp 集成、深度研究、自动化简报这些加在一起,已经可以构成一个有实用价值的个人 AI 工作流。如果你本来就在用 Obsidian 管理知识,Khoj 是一个非常值得尝试的扩展。