quivr 介绍与选型指南
quivr(The-Vibe-Company/quivr,原 QuivrHQ/quivr)介绍与选型指南:从 V1 第二大脑到 V2 内容流检索与监控引擎的演进、核心架构(单 Go 二进制 + PostgreSQL/Weaviate/Temporal/SeaweedFS)、插件体系、功能特性、适用场景与限制,以及与 Onyx/AnythingLLM/Open WebUI/Khoj 的量化选型对比。官方公开资料溯源编写,查询日期 2026-10-22。
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) |
| SeaweedFS | S3 兼容对象存储(原始内容/版本工件) | 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:pushKey、实例级 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 命令与工具详解》第八章逐条实测):
- 建语料库:
POST /v0/corpora,带idempotency_key,返回corpus_id; - 写入文章:
POST /v0/records,指定source.corpus_id/namespace/record_key与content.kind=text,立即返回摄取回执receipt_id; - 轮询回执:
GET /v0/ingestion-receipts/{receipt_id}直至state=resolved,得到record_id; - 关键词检索:
POST /v0/search,{"query": "eclipse", "mode": "lexical"},命中带精确 excerpt; - 语义检索:同端点
mode=semantic,可用文章未出现的词(如 "the moon blocked the sun")命中; - 订阅告警:
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) | Onyx | AnythingLLM | Open WebUI | Khoj |
|---|---|---|---|---|---|
| GitHub Stars(2026-10-22) | 40k | 33k | 67k | 156k | 37.8k |
| 主语言 | Go(引擎)+ React 19 演示前端 | Python + TypeScript | JavaScript/TypeScript | Python + Svelte | Python |
| 许可证 | MIT | 定制组合(GitHub 识别 NOASSERTION,主体 AGPL 系 + 企业条款,版权行 DanswerAI) | MIT | Open 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 万文档档位),显著高于单容器同类;换来的是引擎化的持久摄取、版本管理与可观测性。
八、参考链接
- 仓库主页(含 V2 README 全文):https://github.com/The-Vibe-Company/quivr (查询日期 2026-10-22)
- Releases(版本清单与变更日志):https://github.com/The-Vibe-Company/quivr/releases (查询日期 2026-10-22)
- 官方文档站:https://docs.quivr.thevibecompany.co/ (查询日期 2026-10-22)
- 官方 Quickstart:https://docs.quivr.thevibecompany.co/quickstart (查询日期 2026-10-22)
- 官方单机部署指南:https://docs.quivr.thevibecompany.co/run-quivr/single-machine (查询日期 2026-10-22)
- 部署与配置总览(Deploy and configure Quivr):https://docs.quivr.thevibecompany.co/run-quivr/deploy (查询日期 2026-10-22)
- GHCR 组件包页面:https://github.com/orgs/The-Vibe-Company/packages (查询日期 2026-10-22)
- 星数徽章取证:https://img.shields.io/github/stars/The-Vibe-Company/quivr.svg (查询日期 2026-10-22)
- 站内延伸阅读:部署实操见《quivr Docker Compose 部署指南》,配置项逐条解析见《quivr 2.0.0-alpha.7 配置参数详解》,运维命令与 API 速查见《quivr 2.0.0-alpha.7 常用 CLI 命令与工具详解》