Perplexica:开源AI搜索引擎(Perplexity替代)安装与使用指南
官方信息
| 项目名称 | Perplexica |
| 仓库地址 | https://github.com/ItzCrazyKns/Perplexica |
| 官方文档 | https://docs.perplexica.ai/ |
| 最新更新 | 2026-09-01 |
| 项目定位 | 开源版 Perplexity AI,SearXNG + LLM 驱动的带引用 AI 搜索 |
| 开源协议 | MIT |
项目背景
Perplexity AI 这几年火得一塌糊涂:你问一个问题,它不是直接瞎编,而是先去网上搜一堆资料,再基于这些资料综合出答案,每句话都带引用链接。但 Perplexity 是闭源 SaaS,免费版广告多、Pro 版要 20 美元/月,搜索和聊天记录都在别人服务器上。
Perplexica 就是开源世界里最像 Perplexity 的替代品,由开发者 ItzCrazyKns 用 Next.js + Node.js 编写,在 GitHub 上收获 17k+ Star。它的架构很巧妙:搜索引擎用 SearXNG(一个开源元搜索引擎,并行查 Google/Bing/DuckDuckGo/Wikipedia 等 70+ 源),大模型用任意 OpenAI 兼容接口(OpenAI、Groq、Anthropic、Ollama 本地模型都行),中间用 embedding 模型做相关度重排。
整个栈可以完全私有化:搜索走自己的 SearXNG,模型走本地 Ollama,问题、搜索记录、答案全在你自己服务器上。是隐私敏感用户自建"ChatGPT Search"的最佳选择。
核心特性
- 带引用的答案:每个结论都标注来源链接,可点击核查。
- 多种搜索模式:网页搜索、学术搜索、YouTube、维基百科、RSS。
- 本地 LLM 支持:通过 Ollama 跑 Llama3、Qwen、Mistral,零 API 成本。
- 多 LLM 兼容:OpenAI、Groq(免费快)、Anthropic、OpenRouter。
- SearXNG 元搜索:聚合 70+ 搜索引擎,不依赖单一 Google。
- 相似性重排:用 embedding 模型对搜索结果做 cosine 相似度排序。
- 现代 UI:React/Next.js,深色模式,对话历史,相关问题推荐。
- MIT 协议:随便用、随便改。
环境要求
- Docker 与 Docker Compose v2。
- 2 核 2G 起步;如果用 Ollama 本地 7B 模型,至少 8G 内存。
- 一个 LLM API Key(Groq 免费;或用 Ollama 本地模型免 Key)。
- 开放端口 3000(前端)。
详细部署步骤
第一步:克隆仓库
git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica第二步:配置 config.toml
cp sample.config.toml config.toml
nano config.toml关键配置项:
[GENERAL]
PORT = 3001
SIMILARITY_MEASURE = "cosine"
[API_KEYS]
# 想用 OpenAI 就填;不想用就留空
OPENAI = ""
# Groq 有免费额度,速度快
GROQ = "你的groq key"
ANTHROPIC = ""
[API_ENDPOINTS]
SEARXNG = "http://searxng:8080"
# Ollama 在本机 Docker 里:
OLLAMA = "http://host.docker.internal:11434"Ollama 地址对照表:
- macOS / Windows + Docker:
http://host.docker.internal:11434 - Linux + Docker:
http://172.17.0.1:11434(compose 文件里已加 host-gateway) - Ollama 在另一台机器:
http://那台机器IP:11434
第三步:配置 SearXNG
Perplexica 自带的 SearXNG 容器需要允许 JSON 输出。项目已经预置了 searxng/settings.yml,关键是 limiter: false(否则 Perplexica 高频查询会被 SearXNG 限流):
use_default_settings: true
server:
limiter: false
image_proxy: true
search:
safe_search: 0
autocomplete: ""
default_lang: "auto"
outgoing:
request_timeout: 6.0
ui:
static_use_hash: true第四步:启动
docker compose up -d首次启动会构建 Next.js 前端镜像,需要 3-8 分钟。完成后检查:
docker compose ps
# perplexica-backend Up 3001->3001
# perplexica-frontend Up 3000->3000
# perplexica-searxng Up 4000->8080浏览器访问 http://服务器IP:3000。
用 OpenAI 而不是 Ollama
如果不想跑本地模型,在 config.toml 里填 OPENAI = "sk-...",然后在 Web UI 的设置里把聊天模型选成 gpt-4o-mini 或 gpt-4o 即可。
Linux 下 Ollama 连不上?
编辑 /etc/systemd/system/ollama.service,在 [Service] 段加:
Environment="OLLAMA_HOST=0.0.0.0"然后 systemctl daemon-reload && systemctl restart ollama,并在防火墙放行 11434 端口。
使用方法示例
打开 http://localhost:3000,在输入框直接问问题,比如:
- "对比 2026 年 vLLM 和 SGLang 的性能差异"
- "最近的 AI Agent 框架有哪些新进展?"
Perplexica 会:① 把你的问题拆成几个搜索查询;② 并行查 SearXNG;③ 用 embedding 重排最相关的结果;④ 让 LLM 综合成带脚注引用的答案。右侧会列出所有引用源,点脚注可跳转原文。
常见问题(FAQ)
Q1:答案质量怎么样?
A:取决于你接的模型。用 GPT-4o / Claude Sonnet 接近 Perplexity Pro;用 Ollama 本地 7B 模型能用但回答略浅。Groq 免费跑 Llama 3.3 是性价比之选。
Q2:SearXNG 搜不到 Google 结果?
A:Google 反爬严格,可能返回 403。可以在 settings.yml 里启用更多引擎(Bing、DuckDuckGo、Brave),或给 Google 走 Tor 代理。
Q3:能暴露到公网吗?
A:可以,但前面要加 Nginx/Caddy 套 HTTPS,并且设置账号密码 Basic Auth。SearXNG 容器的 4000 端口不要暴露。
Q4:历史记录存哪?
A:SQLite 文件在 backend 目录下,docker volume 持久化在 ./data。备份直接打包整个项目目录。
跳转链接
- GitHub 仓库:https://github.com/ItzCrazyKns/Perplexica
- 官方文档:https://docs.perplexica.ai/
- SearXNG 项目:searxng/searxng
- Ollama:https://ollama.com/
- Groq 免费 API:https://console.groq.com/