quivr 介绍与选型指南

quivr(The-Vibe-Company/quivr,原 QuivrHQ/quivr)介绍与选型指南:从 V1 第二大脑到 V2 内容流检索与监控引擎的演进、核心架构(单 Go 二进制 + PostgreSQL/Weaviate/Temporal/SeaweedFS)、插件体系、功能特性、适用场景与限制,以及与 Onyx/AnythingLLM/Open WebUI/Khoj 的量化选型对比。官方公开资料溯源编写,查询日期 2026-10-22。

quivrquivrRAGLLM知识库2026/10/23

quivr 介绍与选型指南

目标:全面介绍开源内容流检索与监控引擎 quivr(The-Vibe-Company/quivr,原 QuivrHQ/quivr)的定位、架构、功能与版本现状,并给出与同类自托管 AI 平台的量化选型对比。本文为认知篇,全部数据来自官方仓库、官方文档站与公开徽章服务的联网溯源,未做本地实测;所有来源均标注查询日期 2026-10-22。

一、环境信息

本文为联网溯源的认知篇,不依赖本地实验环境。溯源口径如下:

  • 溯源日期:2026-10-22(版本、星数、发布节奏等时效性数据均以该日期为准)
  • 代码仓库:https://github.com/The-Vibe-Company/quivr(原 QuivrHQ/quivr,GitHub 访问自动重定向)
  • 官方文档站:https://docs.quivr.thevibecompany.co/
  • 发布通道:GitHub Releases + GHCR 容器包(ghcr.io/the-vibe-company/*)
  • 星数取证:shields.io / badgen.net 徽章(40k / 39.6k,两者口径一致)
  • 版本现状:最新发布 v2.0.0-alpha.7(2026-10-13,标记为 Pre-release),版本线 2.0.0-alpha.0 ~ alpha.7 于 2026-10-06 至 2026-10-13 密集迭代(来源:GitHub Releases 页)

二、软件概述

2.1 身份与定位

quivr 是一个开源的「内容流 → 检索与监控」引擎。官方 README 对 V2 的一句话定义是:"An open-source engine that turns continuous content streams into search and monitoring"——把持续进入的内容流(新闻源、RSS/Atom 订阅、邮箱、X 列表、归档包、推送源等)持久化摄取,秒级可检索,后台 enrichment,并支持对主题的长期跟踪与告警(来源:仓库 README,查询日期 2026-10-22)。

它由 The Vibe Company 维护,MIT 许可证(来源:仓库 LICENSE 文件,"MIT License, Copyright (c) 2026 The Vibe Company",查询日期 2026-10-22)。当前 GitHub 星数约 40k(来源:shields.io 徽章,查询日期 2026-10-22)。

2.2 从 V1「第二大脑」到 V2 监控引擎的演进

quivr 最初以 QuivrHQ 名义开源,V1 定位是「Your Second Brain(第二大脑)」——基于生成式 AI 与 RAG 的个人知识库问答平台,采用 Python(FastAPI)+ Next.js + Supabase 技术栈,在 2023-2024 年间积累了大量社区关注,GitHub 星数即主要来自该阶段(来源:GitHub 仓库公开历史与 Releases 列表,查询日期 2026-10-22)。

2026 年起,仓库主体已迁移至 The Vibe Company 组织并完成整体重写(V2):

  • 语言从 Python 换为 Go(go.mod 声明 go 1.27.2),交付形态为单个 quivr 二进制;
  • 前端演示应用为独立的 quivr-search(React 19,包版本 0.1.0);
  • Supabase 依赖被移除,改为 PostgreSQL + Weaviate + Temporal + S3 兼容对象存储的组合;
  • 产品重心从「对话式知识库问答」转向「内容流摄取 + 检索 + 订阅告警」的引擎形态,AI 模型与业务规则全部下沉为插件;
  • Releases 列表同时保留了 V1 时代的 core: v0.0.31~v0.0.33 等历史标签与 V2 的 v2.0.0-alpha.* 系列(来源:GitHub Releases 页,查询日期 2026-10-22)。

💡 说明:选型时必须区分这两个形态。若需要的是「对话式 RAG 知识库」(上传文档 → 聊天问答),V2 已不再内置这类对话 UI(演示界面 quivr-search 是检索/订阅/告警工作台);若需要的是「持续内容流的采集、检索与监控告警」,V2 正是为此设计。V1 形态只能通过历史版本标签回溯,官方当前主线在 V2。

2.3 版本与发布节奏

  • 当前主线:v2.0.0-alpha.7(2026-10-13 发布,Pre-release)。alpha.0→alpha.7 全部集中在 2026-10-0610-13 一周内发布,单个版本(alpha.7)的变更日志即包含约 40 项 feature/fix(对应 PR 编号 #3849#3946),迭代速度非常快(来源:GitHub Releases,查询日期 2026-10-22)。
  • 官方明确提示:alpha 各版本间不支持原地升级(alpha.7 的 BREAKING CHANGES 注明 "In-place upgrades from 2.0.0-alpha.6 and earlier are unsupported",需重置安装或导出重导)(来源:v2.0.0-alpha.7 Release Notes,查询日期 2026-10-22)。
  • 发布工程较完备:release-please 管理版本与变更日志,GHCR 上的第一方镜像按 digest 发布并附带签名 SPDX 清单与漏洞扫描;quivr --version、GET /v0/version、启动日志与进程指标均报告构建身份(来源:仓库 README,查询日期 2026-10-22)。

三、核心架构

3.1 引擎形态:一个二进制 + 少量依赖

Quivr V2 的核心是单个 Go 二进制 quivr,通过角色参数以三种进程形态运行(来源:仓库 README,查询日期 2026-10-22):

  • quivr api:HTTP API 服务,对外暴露 /v0/* REST 接口,负责命令接受、检索准入与查询服务;
  • quivr worker:后台 worker,负责文档处理(切分、向量化、告警判定)、连接器轮询与 webhook 投递,live/bulk 队列容量分离;
  • quivr migrate:一次性 schema 迁移进程,启动栈时先跑迁移再拉起 api/worker,自动迁移只做「加列式」扩展,破坏性清理需显式 quivr migrate --contract。

核心依赖组件(来源:官方单机部署文档与仓库部署清单,查询日期 2026-10-22):

组件作用官方固定版本(v2.0.0-alpha.7 单机栈)
PostgreSQL业务数据、队列、指标计数器持久化17.11-alpine(digest 固定)
Weaviate向量索引(支持 rq-8 量化、可选 API Key 认证)1.39.10(digest 固定)
Temporal摄取/重建/投递等工作流编排temporalio/temporal 1.8.3(digest 固定,单机栈用持久化 dev server)
SeaweedFSS3 兼容对象存储(原始内容/版本工件)chrislusf/seaweedfs 4.45(digest 固定)
嵌入服务文本向量化EmbeddingGemma 2(768 维,自研 CPU 服务)或 multilingual-e5-small(TEI 运行时),模型版本与 tokenizer 按 release 锁定

第一方组件镜像共 6 个:quivr-core(引擎)、quivr-web(演示前端)、quivr-cpu-embeddings(Gemma CPU 嵌入)、quivr-postgres、quivr-seaweed、quivr-tei,全部发布在 ghcr.io/the-vibe-company/* 并按 digest 固定(来源:GHCR 组织包页面,6 个组件包均发布于 2026-10-14,对应 alpha.7;查询日期 2026-10-22)。

3.2 数据模型与核心概念

官方 Quickstart 与概念文档给出的核心对象(来源:docs.quivr.thevibecompany.co/quickstart、/concepts,查询日期 2026-10-22):

  • Corpus(语料库):一组可一起检索的文档集合,组织(Organization)下可创建多个,支持归档/恢复/改名,可按 Corpus 粒度签发 API Key;
  • Record(记录):一条内容(如一篇文章),由 namespace(来源命名空间)+ record_key(来源内唯一标识) 定位身份;
  • Version(版本):Record 的不可变文本版本,修正(correction)与撤回(withdrawal)通过新增 Version 与围栏机制表达,历史可追溯;
  • Part / Passage:正文切分后的片段,检索命中返回精确 excerpt(原文切片),可引用到 Record/Version/Part 级偏移;
  • Ingestion Receipt(摄取回执):写入先落库并返回回执,后台异步处理至 resolved,幂等键(idempotency_key)保证重试不重复;
  • Saved Query / Subscription / Match:保存的查询 + 订阅规则 → 新内容命中即产生 Match(可经签名 webhook 投递或 API 拉取)。

3.3 插件体系

Quivr V2 的核心刻意保持通用:格式解析、AI 模型与业务规则全部由插件承担,通过 Plugin Protocol v0 契约接入,支持 Go 与 Python 两种 SDK。每个插件可声明以下五类 Contribution 之一或多种(来源:仓库 README 与官方插件目录文档,查询日期 2026-10-22):

插件角色第一方实现说明
格式归一化(normalizer)newsml-g2(NewsML-G2 通讯社稿)、pdf-text(pypdf 文本提取,无 OCR)把 Blob(如 PDF/NewsML)转为可检索正文 Part
摄取(ingestion)core.ingest(默认,token 窗口 + E5)、hosted.embed(托管/本地模型打包编码)切分与向量化,引擎自身不做嵌入
检索排序(retrieval)core.retrieve(默认,关键词/向量/混合,alpha 0.5、RRF 或相对分融合)引擎不排序,由检索插件多轮取候选并解释打分
告警规则(alert rule)alerts(关键词布尔告警 + 描述式告警 + 本地向量语义告警)决定新内容是否产生 Match
连接器(pull/push source)rss(RSS/Atom)、m365_mail(Microsoft 365 邮箱)、x_list(X 列表)、object_storage_archive(S3 归档包)、push-source(外部推送)定时拉取或接收推送,走同一条摄取管道

插件可热升级:注册新版本后一次调用即可切换激活计划,api/worker 不重启,旧版本排空(draining)后转 inactive,且可一键回滚(来源:仓库 README,查询日期 2026-10-22)。

3.4 部署形态

官方提供三种运行路径(来源:docs.quivr.thevibecompany.co/run-quivr/*,查询日期 2026-10-22):

  • 单机评测部署(单 Compose 文件):从 Release 发布包 quivr-compose-VERSION.tar.gz 取一个 Compose 文件 + 安装器(setup.py init/prepare),带 CPU 嵌入、持久化卷与可选演示界面;官方建议起步配置 16 GiB RAM / 4 vCPU / 本地 SSD(详见《quivr Docker Compose 部署指南》);
  • 向量索引独立主机:把 Weaviate 拆到专用主机(认证 HTTPS + 独立数据盘),官方给出 Azure CLI 供给示例;
  • Kubernetes/平台部署:README 提及基于 KEDA 或 quivr-autoscaler 二进制按队列积压自动扩缩 worker(Kubernetes 或 Railway)。

四、功能特性

以下特性均来自官方 README 与文档站的公开描述(查询日期 2026-10-22),本文不做本地实测。

4.1 摄取与内容管理

  • 持久化幂等摄取:内联文本、有界批量(逐条结果)、校验和确认的预签名上传、结构化 Manifest、扩展与关系;
  • 修正与撤回:不可变 Version,撤回后的记录被围栏(fenced),修正产生链接的后续版本;
  • 连接器实例:定时拉取式采集(RSS/Atom、M365 邮箱、X 列表、S3 归档包 tar.gz/ZIP),支持暂停/恢复/立即重跑、游标续传、按成员断点的可恢复导入;
  • 推送源:Plugin API 0.12 的安全推送路由,支持 collection 级 connector:push Key、实例级 Bearer、签名校验 + 时间戳/重放保护、CIDR 白名单、幂等键 TTL 缓存。

4.2 检索

  • 词法(lexical)、语义(semantic)、混合(hybrid,默认)三种模式;每次命中做规范复水(canonical rehydration)与访问权限复查;
  • 元数据 facet(跨 Corpus 精确计数、有界 Top 值、UTC 日/月/年直方图)、类型化 Corpus 过滤、Source Namespace 过滤(排序前过滤);
  • 索引支持可配置字段加权、语言中立或法语关键词副本、日期范围索引;默认检索插件对每条 Record 只返回最佳片段一次;
  • 检索故障语义明确:查询模型不可用返回可重试的 503 model_unavailable,与过载等其他失败区分(来源:README;官方单机 CPU 实测口径为 0.55 passages/秒@1533-token 输入、batch 1、4 线程 2.90 GHz Xeon,官方注明这是调度证据而非导入速率保证)。

4.3 订阅与告警

  • Saved Query(钉住可版本化)+ Subscription → 新可检索内容判定为 Match,去重且带证据(命中词与命中片段);
  • 关键词告警:布尔语法("Acme" AND (grève OR strike) NOT sport)、精确短语、大小写/重音/标点不敏感、元数据过滤(如 source:wire);
  • 描述式告警:自然语言描述由 TypeSafe Jev 分类器判定(需 TypeSafe Key,文章文本外发);
  • 本地语义告警:meaning_check: vectors 用本地嵌入比对,文本不出本地;
  • 订阅预览(最多回看 50 篇)、订阅属主(opaque owner,按终端用户路由)、签名 webhook(Standard Webhooks,指数退避重试、有界投递窗口、尝试历史只追加)。

4.4 变更流与可观测性

  • 变更流(change feed):轮询 + 可续读 SSE,游标过期后可 catalog resync;
  • 每进程私有 probe 端点暴露 Prometheus /metrics(摄取积压、检索准入占用、处理结果、投递延迟、连接池饱和等);
  • JSON 日志按请求 ID / trace-span / Receipt / Record 关联;OpenTelemetry OTLP 导出可选;
  • 管理统计:GET /v0/admin/stats/* 查插件调用、检索、步骤、接收、匹配、Top 查询(默认不存查询原文),保留 7 天;每个 Version 报告 accept→materialize→segment→searchable→vector→alert 各步骤时间。

4.5 AI Agent 接入(MCP)

quivr mcp 以 stdio 方式向 AI Agent 暴露 MCP 工具:--profile read 提供只读三工具(列 Corpus、检索、读记录版本与 Manifest,带精确引用偏移);--profile ingest 增加文本摄取与回执跟踪(重试不重复、无删除工具);访问完全由 API Key 决定(来源:README 与官方指南 guides/ai-agents,查询日期 2026-10-22)。

4.6 安全设计

  • 按 Organization/动作/Corpus 收窄的 API Key(如 corpora:archive、observability:read、plugins:admin);Operator Key 与应用 Key 分离;
  • 向量索引可选 weaviate_api_key;对 Temporal、Weaviate、PostgreSQL、S3、插件的外连 TLS 支持校验与信任配置;
  • 插件调用签名(Plugin API 0.14,每插件 HS256 令牌绑定操作与请求体,60 秒过期,支持密钥轮换重叠);
  • 发布镜像带签名 SPDX 清单与漏洞扫描(来源:README 与 run-quivr/security,查询日期 2026-10-22)。

五、快速开始(官方最小可用示例)

官方 Quickstart(docs.quivr.thevibecompany.co/quickstart)给出的最小路径是「跑起本地栈 → 建 Corpus → 写入一条文章 → 关键词/语义检索 → 配一条告警看它命中」,全程约 15 分钟,用 curl 与 HTTP API 交互。环境要求为 Linux x86_64(或 macOS Apple Silicon)、Docker Compose v2、Go 1.27.2、Python 3.12+ 与 jq/curl/git,首次启动约下载 1 GB 镜像与模型(来源:官方 Quickstart,查询日期 2026-10-22)。

API 侧的最小闭环(官方 Quickstart 原样流程,实际请求与真实回显在《quivr 2.0.0-alpha.7 常用 CLI 命令与工具详解》第八章逐条实测):

  1. 建语料库:POST /v0/corpora,带 idempotency_key,返回 corpus_id;
  2. 写入文章:POST /v0/records,指定 source.corpus_id/namespace/record_key 与 content.kind=text,立即返回摄取回执 receipt_id;
  3. 轮询回执:GET /v0/ingestion-receipts/{receipt_id} 直至 state=resolved,得到 record_id;
  4. 关键词检索:POST /v0/search,{"query": "eclipse", "mode": "lexical"},命中带精确 excerpt;
  5. 语义检索:同端点 mode=semantic,可用文章未出现的词(如 "the moon blocked the sun")命中;
  6. 订阅告警:POST /v0/saved-queries 定义查询 → POST /v0/subscriptions 绑定 alerts 插件与投递目的地 → 新文章命中产生 Match(GET /v0/matches),证据形如 Matched "library" in body.。

部署侧的最小路径见《quivr Docker Compose 部署指南》(官方单机 Compose 包:setup.py init 生成 .env 与 compose.yaml → prepare 下载锁定模型 → pull + up -d,API 默认监听 127.0.0.1:8080、演示界面 127.0.0.1:3000)。

六、适用场景与限制

6.1 适用场景

  • 新闻/情报流监控(OSINT/舆情):这是 V2 的主场——持续接入 RSS、邮箱、X 列表等来源,用关键词与语义告警盯主题,Match 经签名 webhook 推入下游系统;
  • 合规与品牌跟踪:对撤回/修正敏感的内容管理(不可变版本 + 围栏撤回),配元数据 facet 与审计(Corpus 生命周期操作均记录审计);
  • 企业内部内容检索底座:多来源内容统一摄取后,为内部工具提供词法/语义/混合检索 API(含 facet 与访问复查);
  • AI Agent 知识检索后端:通过 MCP 让 Agent 列库、检索并带精确引用读取;通过 REST API 做批量摄取与订阅路由。

6.2 当前限制(alpha 阶段)

以下限制均有官方出处(查询日期 2026-10-22):

  • 版本成熟度:主线为 2.0.0-alpha.* 预发布,官方明确 alpha 间不支持原地升级(alpha.7 起存储与队列格式又有破坏性变更,需重置或导出重导);
  • 单机栈无高可用:官方单机部署使用 Temporal 持久化开发服务器,无 HA;API 与演示界面默认只绑 loopback,远程访问需自备 SSH 隧道或 TLS 代理;
  • CPU 摄取吞吐:官方实测 CPU 嵌入 0.55 passages/秒(1533-token、batch 1、4 线程),大批量导入需按「文档数 × 3 passages / 吞吐」预估时间并考虑分批 worker;
  • 无 OCR:pdf-text 插件只做文本层提取,扫描件/加密件被隔离并给诊断;
  • 描述式告警外发文本:TypeSafe Jev 分类器需外部 Key 且文章文本发往 TypeSafe;不开 Key 时该类告警默认关闭(本地向量语义告警可替代,文本不出本地);
  • 兼容矩阵:发布镜像面向 Linux x86_64;macOS 仅 Apple Silicon 支持开发路径(make dev),嵌入服务镜像仅发布 x86_64(macOS 经 x86_64 模拟运行)(来源:官方 Quickstart 与单机部署文档);
  • 形态迁移成本:V1 的「对话式第二大脑」UI 已不在 V2 主线,从 V1 升级到 V2 属于重写级迁移,不是数据平移。

七、同类选型对比

7.1 量化对比表

对比对象选取自托管 AI/LLM 平台中与 quivr 相邻的四个代表:企业知识库搜索(Onyx)、全栈 AI 知识库(AnythingLLM)、LLM Chat UI(Open WebUI)、个人第二大脑(Khoj)。星数与许可证均取自公开徽章服务与仓库 LICENSE 文件,查询日期 2026-10-22:

维度quivr(V2)OnyxAnythingLLMOpen WebUIKhoj
GitHub Stars(2026-10-22)40k33k67k156k37.8k
主语言Go(引擎)+ React 19 演示前端Python + TypeScriptJavaScript/TypeScriptPython + SveltePython
许可证MIT定制组合(GitHub 识别 NOASSERTION,主体 AGPL 系 + 企业条款,版权行 DanswerAI)MITOpen WebUI License(BSD-3 系 + 品牌保留条款)AGPL-3.0
定位内容流摄取 + 检索 + 订阅告警引擎企业 AI 助手 / 知识库搜索全栈 AI 知识库 + 对话LLM Chat UI(带 RAG)个人 AI 第二大脑
对话式 RAG 问答✗(检索式,非对话 UI)✓✓✓✓
原生订阅/持续监控告警✓(Saved Query → Subscription → Match + 签名 webhook)✗(连接器定时同步,无常驻告警流)✗✗✗
内容源连接器RSS/Atom、M365 邮箱、X 列表、S3 归档、推送源较多企业连接器(Google Drive、Slack 等)文档上传/网页爬取为主网页 RAG/上传为主文档/笔记同步为主
嵌入/模型策略插件化:本地 CPU(EmbeddingGemma 2 / e5,模型版本锁定)或托管 API内置 + 可配内置多 provider多 provider多 provider
检索能力词法/语义/混合 + facet + 命名空间过滤 + 逐次权限复查混合检索 + 权限同步内置 RAG 管线RAG 会话RAG 会话
引擎扩展机制Plugin Protocol v0(Go/Python SDK,热升级、契约测试)应用内配置应用内配置应用内配置/管道应用内配置
部署复杂度单 Compose 文件 + 6 组件镜像(digest 固定),官方 16 GiB/4 vCPU 起步Compose/K8s,组件较多单容器单容器单容器/云
版本状态(2026-10-22)v2.0.0-alpha.7(pre-release,周级快速迭代)稳定线稳定线稳定线稳定线(更新趋缓)

7.2 选型解读

  • 要「持续内容流 + 告警」选 quivr:表中唯一把「订阅 → 匹配 → 签名 webhook」做成引擎原语的就是 quivr;且 MIT 许可对二次开发与商用集成最宽松(对比 Onyx 的 AGPL 系组合条款、Khoj 的 AGPL-3.0、Open WebUI 的品牌条款)。
  • 要「开箱即用的对话知识库」选 AnythingLLM/Open WebUI:单容器、对话 UI 完整、provider 生态成熟;但它们没有常驻内容源监控与告警流。
  • 要「企业级连接器与权限同步」看 Onyx:企业数据源与权限对接是其强项,但许可证组合更复杂,且同样缺原生订阅告警。
  • 对版本成熟度敏感则观望:quivr 当前处于 alpha 快速通道,官方已声明 alpha 间不可原地升级——用于试点与评测合适,生产落地建议锁定 digest 并做好重置/重导预案。
  • 资源口径:quivr 单机官方起步 16 GiB RAM / 4 vCPU / SSD(≤1 万文档档位),显著高于单容器同类;换来的是引擎化的持久摄取、版本管理与可观测性。

八、参考链接

  1. 仓库主页(含 V2 README 全文):https://github.com/The-Vibe-Company/quivr (查询日期 2026-10-22)
  2. Releases(版本清单与变更日志):https://github.com/The-Vibe-Company/quivr/releases (查询日期 2026-10-22)
  3. 官方文档站:https://docs.quivr.thevibecompany.co/ (查询日期 2026-10-22)
  4. 官方 Quickstart:https://docs.quivr.thevibecompany.co/quickstart (查询日期 2026-10-22)
  5. 官方单机部署指南:https://docs.quivr.thevibecompany.co/run-quivr/single-machine (查询日期 2026-10-22)
  6. 部署与配置总览(Deploy and configure Quivr):https://docs.quivr.thevibecompany.co/run-quivr/deploy (查询日期 2026-10-22)
  7. GHCR 组件包页面:https://github.com/orgs/The-Vibe-Company/packages (查询日期 2026-10-22)
  8. 星数徽章取证:https://img.shields.io/github/stars/The-Vibe-Company/quivr.svg (查询日期 2026-10-22)
  9. 站内延伸阅读:部署实操见《quivr Docker Compose 部署指南》,配置项逐条解析见《quivr 2.0.0-alpha.7 配置参数详解》,运维命令与 API 速查见《quivr 2.0.0-alpha.7 常用 CLI 命令与工具详解》