工具
Magpie-Search:面向 LLM 的本地联邦搜索引擎
一款本地运行的 AI 专用联邦搜索引擎,通过 MCP 聚合对话历史、本地文件、知识图谱、向量库与网页五类来源,并以信任加…
2026.06.30 · 周二约 4 分钟阅读评分 52
评分细项加权总分 52
- 重要性
- 45
- 新颖性
- 55
- 影响面
- 40
- 可信度
- 70
- 实质性
- 72
Magpie-Search 是一款面向 AI Agent 与大模型的本地联邦搜索引擎。它把同一个查询并行分发到对话历史、本地文件、结构化知识图谱、向量库与实时网页五类数据源,再以信任加权的方式融合排序,最终通过 MCP 协议把结果交给调用方的大模型。整个系统完全运行在本机,不上传数据、不强制注册,并默认关闭遥测。
设计定位:给 AI 用的搜索引擎,而非给人用的
Magpie 的核心想法是,AI Agent 在长会话或断电恢复场景下会丢失上下文,而传统搜索引擎只能查单一来源。它把"找信息"这件事拆成多个后端并行检索,再统一成一份带信任分级的命中列表返回给模型,模型自己决定是否据此生成答复。
- 调用入口:仅暴露
search、recent、session、list_sessions、stats、reindex等只读工具,不包含任何写入答案的操作。 - 接入方式:通过 MCP Server,任何支持 MCP 的 Agent 框架都能直接调用六类数据源。
- 隐私边界:索引在本地 SQLite 中构建,AI 的对话记录与文件不离开本机。
五大搜索模式
在索引层之上,Magpie 提供了五种互补的检索方式,可单独或组合使用:
- grep:字面量 / 正则匹配,适合精确 token,例如文件路径、报错信息、代码片段。
- lexical:基于 SQLite FTS5 的 BM25 关键词检索。
- semantic:基于本地 all-MiniLM-L6-v2 模型生成的 384 维嵌入向量做 K 近邻检索,使用 sqlite-vec 存储。
- hybrid:lexical 与 semantic 通过 RRF(Reciprocal Rank Fusion)融合。
- rerank:在 hybrid 之上叠加 jina-reranker 交叉编码器,对候选集重新打分。
每条命中都会附带一个信任分级:fact > reference > lead > stale,对应的融合权重分别为 ×3、×2、×1、×0.3,RRF 的阻尼常数取 60。
联邦层的工作机制
所谓"联邦",指的是一次查询会被同时打到多个后端,并在融合阶段统一排序:
- 提供者插件系统:五个后端各自实现统一的
Hit接口并打上信任标签。 - 并发扇出:单次查询最多并发 8 个 worker,每个后端设置 5 秒超时,并采用"失败开放"策略——慢的来源直接被丢弃,不会阻塞整体调用。
- 跨源去重:通过内容哈希合并重复结果,并在命中条目上标注"还出现在哪些来源",作为佐证依据。
- 上下文预算裁剪:合并后的结果集会被压缩到调用方模型的上下文窗口大小,避免一次检索撑爆上下文。
与 RAG 的关键区别
作者特意强调,Magpie 不等于 RAG:
- RAG = Retrieval-Augmented Generation,核心是"生成"那一环,由语言模型根据检索到的片段写出答案。
- Magpie 路径中没有任何生成模型——最接近模型的组件(交叉编码 reranker)只输出相关性分数并重排序,从不写一句话。
- Magpie 只交付"带信任分级的检索结果",由调用方的大模型自行决定是否据此作答。
换言之,把 Magpie 接入任意 LLM,二者组合才构成完整的 RAG 流程;但 Magpie 本身只提供比传统 RAG 检索器更强的一环。
安全与可恢复性
索引构建阶段会先经过一道"脱敏过滤器",在数据写入索引之前剥离约 30 类敏感信息,包括 API Key、Token、私钥、连接字符串等。对于因系统崩溃、断电导致 Agent 会话中断的场景,本地索引让恢复从"失忆"变成"一次回查"。
