把离线AI第二大脑装进家庭服务器:Khoj本地部署从零实操
【免费下载链接】khoj Your AI second brain. Self-hostable. Get answers from the web or your docs. Build custom agents, schedule automations, do deep research. Turn any online or local LLM into your personal, autonomous AI (gpt, claude, gemini, llama, qwen, mistral). Get started – free. 项目地址: https://gitcode.com/GitHub_Trending/kh/khoj
Khoj 是一款开源的"AI 第二大脑":把 PDF、笔记、文档喂给它,就能就自己的资料提问,还能上网查资料补答案。Khoj 本地部署则把这一切搬进你家的服务器——凌晨断网了,你照样掏出手机连上家里 Wi-Fi,问它"上个月租约续签写了什么",答案依旧来自你自己的机器。
跟着这篇教程,你会拿到:
- 一张部署前自检表,照着备齐硬件和软件
- 一条 Docker 化的启动路线,含四个关键动作
- 一套 Ollama 接本地大模型的做法,断网照样聊天
- 同网多设备打通 + 外网安全接入的完整配置
- 更新、调优、排障三件日常维护动作
它是什么:30 秒看懂
Khoj 的官方定位是"你的 AI 第二大脑"。它把 PDF、Word、Markdown、org-mode、Notion 乃至本地图片切成片段,建好语义索引存进数据库;你每次提问,先走检索命中相关片段,再交给大模型(云端在线模型或你自己跑的本地模型)组织回答,同时可以联网搜索、执行代码。数据怎么走,看这张架构图:

一句话抓重点:文档和对话记录都躺在你自己的硬盘里,你只需要决定"思考"由哪个模型完成。
部署前自检
| CPU | 4 核 | 6 核以上 |
| 内存 | 8GB | 16GB 以上(跑 7B 模型建议) |
| 磁盘 | 20GB 空闲(含模型体积) | 50GB |
| 系统 | Windows 10/11(WSL2)、macOS 12+ 或任意 Linux | 同左 |
| 软件 | Docker(含 compose)、Git、一个终端 | 同左 |
两条提醒:打算跑 7B 级本地模型的,内存按宽裕线准备;只接云端模型的,够用线就能开工。
把服务跑起来
第一步,拿代码。 建一个专用目录,把 Khoj 源码放进去:
mkdir -p ~/khoj-server && cd ~/khoj-server
git clone https://gitcode.com/GitHub_Trending/kh/khoj .
白话:这条命令把 Khoj 完整拉到当前目录。预期结果:终端跑完没有报错,目录里出现一堆项目文件。
第二步,改四处配置。 打开 docker-compose.yml,找到 server 服务的 environment 区块,补全下面几行:
– KHOJ_DJANGO_SECRET_KEY=<一段32位随机字符串>
– KHOJ_ADMIN_EMAIL=you@example.com
– KHOJ_ADMIN_PASSWORD=<强密码>
– KHOJ_DEBUG=False
白话:这是网站的"主密钥"和管理员账号,加上必须关掉的调试开关。预期结果:保存后文件结构没被改乱。
第三步,点火。
docker-compose up -d
docker-compose logs -f server
白话:前一条在后台把数据库、搜索、服务几个容器全部拉起来,后一条盯着服务日志。首次运行要下载镜像和基础模型,体积有好几个 GB,耐心等。预期结果:日志里出现"ready to engage"的提示,说明服务就绪。
第四步,验证。 浏览器打开 http://localhost:42110,应该看到这样的页面:

用刚设的邮箱和密码登录后,就能进设置页上传第一批文档,Docker 部署 Khoj 这条主线到此走完。
📡 断网也能用:接入本地大模型
默认配置下 Khoj 可以调云端模型;要做到断网也能用,就得接一个本地大模型。这里用 Ollama——一个在终端里管理开源模型、并以本地服务形式提供它们的工具。
装 Ollama(Linux/macOS):
curl -fsSL https://ollama.com/install.sh | sh
Windows 从 Ollama 官网下载安装包即可。预期结果:ollama -v 能打印版本号。
拉模型:
ollama pull qwen2:7b
# 内存吃紧就换小的
ollama pull phi3:3.8b
选型很简单:16GB 内存上 7B,回答更稳;8GB 内存上 3.8B,免得生成时疯狂换页卡死。
再告诉 Khoj 去哪找模型,给 compose 的 environment 加两行:
– OPENAI_BASE_URL=http://host.docker.internal:11434/v1/
– KHOJ_DEFAULT_CHAT_MODEL=qwen2:7b
白话:host.docker.internal 是容器内部"够到宿主机"的固定写法,11434 是 Ollama 默认端口。
重建服务:
docker-compose down && docker-compose up -d
预期结果:登录后设置页里默认模型就是你选的本地模型,拔掉网线也能聊。更多模型管理细节见 Ollama 接入文档。
设备与访问:从局域网到外网
同局域网。 先放行端口(以 UFW 为例):
sudo ufw allow 42110/tcp
sudo ufw reload
白话:只给 Khoj 这一个端口开通行,其余照旧。再让 Khoj 记住你实际访问用的域名,给 compose 的 environment 补两行:
– KHOJ_DOMAIN=192.168.1.100
– KHOJ_NO_HTTPS=True
白话:192.168.1.100 换成你服务器的内网 IP,第二行表示局域网内不强制 HTTPS。重启服务后,同网段的手机、平板打开 http://192.168.1.100:42110 就能用——这台 Khoj 家庭服务器,家里设备人人都能连。
外网访问。 不建议把端口直接暴露公网,推荐用 Tailscale——它把服务器、手机、笔记本拉进一个私有的虚拟局域网。在两端都装好应用,记下服务器的 Tailscale IP,启动时加上 –host <tailscale_ip> 参数,之后在任何地方打开 http://<tailscale_ip>:42110 都能安全访问。步骤与 HTTPS 证书的可选项,参考 Tailscale 文档。
把知识库搬进工作流
桌面端:仓库自带一套基于 Electron 的桌面应用,源码在 src/interface/desktop,安装后在设置里填服务器地址,即可把知识库同步到本地使用。
笔记软件:在 Obsidian 社区插件里搜 "Khoj" 装好,命令面板里 Khoj: Search、Khoj: Chat 两个动作就能在笔记里直接问你的知识库:

手机侧:手机浏览器打开服务器地址,选"添加到主屏幕",Khoj 就以 PWA(免应用商店安装、接近原生应用)的形态常驻桌面:

🔧 日常维护三件事
1. 保持更新
git pull
docker-compose pull
docker-compose up -d
白话:先拉新代码、再拉新镜像、最后换上新版本,三步走完就完成升级。
2. 资源调优
- 机器配置低:模型选 3B~4B 档位,并在 compose 的 server 服务下加资源上限(cpus、memory),防止 AI 吃满整机;
- 磁盘告急:用 docker system prune -a 清掉闲置镜像,但别动数据卷,知识库就在里面。
3. 三个常见故障(现象 → 原因 → 处理)
- 网页打不开 → 服务没起来或端口被占 → 跑 docker-compose logs server 看日志,停掉占用 42110 的进程,或把 ports 里的宿主机端口换掉;
- 后台管理页报 CSRF 错误 → 实际访问的域名/IP 和 KHOJ_DOMAIN 设置对不上 → 把 KHOJ_DOMAIN 改成你真正用来访问的地址,重启生效;
- 本地模型首次回复特别慢 → 模型还在下载或档位太大 → ollama list 确认下载完整,必要时换更小的模型。
收尾
服务跑稳之后,可以继续往三个方向延伸:接 Notion、GitHub 让资料自动同步(数据源文档)、开启语音对话(语音对话),或者直接进源码开发定制功能(开发指南)。
你的离线 AI 知识库已经在家庭服务器上运转了,接下来要做的只有一件事:把资料喂进去。
【免费下载链接】khoj Your AI second brain. Self-hostable. Get answers from the web or your docs. Build custom agents, schedule automations, do deep research. Turn any online or local LLM into your personal, autonomous AI (gpt, claude, gemini, llama, qwen, mistral). Get started – free. 项目地址: https://gitcode.com/GitHub_Trending/kh/khoj
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



