☰
一个地址,给 Perplexica 换上自管的 SearXNG 多源检索底座
2026/9/29 6:07:59 网站建设 项目流程

一个地址,给 Perplexica 换上自管的 SearXNG 多源检索底座

【免费下载链接】VaneVane is an AI-powered answering engine.项目地址: https://gitcode.com/GitHub_Trending/pe/Vane

你让 AI 查一个冷门问题,内置搜索给的结果总是那几篇,可信来源越用越少。Perplexica 是一款隐私优先的 AI 问答引擎——模型负责答题,搜索层决定它能拿到什么素材。这篇 SearXNG 集成教程带你把 Perplexica 指向自己的 SearXNG 实例,让 AI 问答用上多源检索。

它凭什么值得接 🔍

SearXNG 是元搜索引擎(把多家搜索服务的结果汇到一处、统一出口的中间层)。接上之后,收益很直接:

  • 结果来自多引擎,不再单一来源
  • 查询走自己的实例,隐私可控
  • 引擎、类别随时可调

Perplexica 搜索界面——接入 SearXNG 后,每个问题都会经过你的聚合实例检索。

从零跑通

已有自己的 SearXNG 实例?跳过第一节,直接填地址。

先把 SearXNG 实例跑起来

起一个容器,端口映射到 4000,再 curl 打一次接口自测(它必须开 JSON 输出格式,仓库里 searxng/settings.yml 就是开了json格式的参照配置):

docker run -d --name searxng -p 4000:8080 searxng/searxng:latest curl 'http://localhost:4000/search?q=test&format=json'

curl 返回带results数组的 JSON,实例就算通了。

在 Perplexica 侧填好地址

填法二选一:界面 设置 → Search 栏目里填 SearXNG URL,或设SEARXNG_API_URL环境变量,配置模块启动时会自动读进data/config.json(见 src/lib/config/index.ts)。没有现成环境就先拉代码:

git clone https://gitcode.com/GitHub_Trending/pe/Vane cd Vane && yarn SEARXNG_API_URL=http://localhost:4000 yarn dev

config.json里search.searxngURL有值,地址就算填对了。

调一次接口确认链路通了

先GET /api/providers拿 providerId 和模型 key,填进下面这个请求,POST 一次(docs/API/SEARCH.md 有完整字段说明):

curl -X POST http://localhost:3000/api/search \ -H 'Content-Type: application/json' \ -d '{ "query": "什么是 SearXNG", "sources": ["web"], "chatModel": { "providerId": "填上一步的UUID", "key": "填模型key" }, "embeddingModel": { "providerId": "填上一步的UUID", "key": "填模型key" } }'

返回体里message是答案、sources非空且带真实 URL——链路通了,你的 SearXNG 已经在给 AI 问答供料。嫌接口麻烦,直接在界面问一句需要联网的问题,看到引用来源即通。

按需调优 🛠️

搜索行为全在searchSearxng的第二个参数里,两个最常用的旋钮:

SearXNG 集成后的多源检索结果:答案带引用编号,Sources 是可点的来源列表。

指定聚合哪些引擎

打开 src/lib/searxng.ts,调用时带上engines:

searchSearxng('人工智能最新进展', { engines: ['google', 'bing', 'wikipedia'], });

效果:结果只来自这几家,来源可控,也不会被冷门引擎拖慢速度。

限定搜索类别

同一处,把类别限定成images:

searchSearxng('风景照片', { categories: ['images'], });

效果:只取图片类结果,配合/api/images接口可以直接出图。

踩了这几个坑的人看这里 ⚠️

搜索超时

现象:接口报SearXNG search timed out(默认 10 秒)。

  • 先直接curl实例 URL,不通就是实例或网络的事
  • 聚合引擎太多会变慢,先用engines收窄
  • 检查防火墙有没有挡端口

返回空结果

现象:请求通了,results是空的。

  • JSON 格式没开,拿到的是 HTML
  • URL 多带了路径,应该指向实例根
  • 想要的引擎在engines里被禁用了

地址填了没反应

现象:配置里地址在,搜索就是不出结果。

  • 跑在同一个 docker 网络里,容器内别用localhost指宿主机
  • 协议是http,别写成https
  • 地址里不要带/search路径

到这里,自管的多源检索底座搭好了,AI 问答的来源可控了。

  • 搜索 API 文档
  • 架构与问答流程说明
  • SearXNG 配置参考

下一步去调调engines和categories,剩下的,让各家搜索引擎自己卷去。

【免费下载链接】VaneVane is an AI-powered answering engine.项目地址: https://gitcode.com/GitHub_Trending/pe/Vane

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询