- 监控类工作流:需要盯住一批内容源(文档更新、RSS、内部知识库变更),命中主题就推 webhook,自己拼抓取器+向量库+规则引擎的维护成本比直接用高
- 需要引用出处的检索:回答必须定位到原文段落和版本,而不是只给一段相似文本,做审计或合规场景时这点比纯向量检索省事
- 多格式、多模型混跑:文件格式解析、嵌入模型、排序策略都要换着试,插件化比锁死单一 pipeline 更容易替换
- 给 agent 挂检索后端:通过 quivr mcp 让 agent 检索并引用原文,省掉自己写 tool 层和出处回填
quivr
The-Vibe-CompanyMIT活跃维护 有专家点评把持续不断的内容流变成可搜索、可监控的知识库,支持持久化摄取、混合检索、告警,以及格式、模型和业务规则插件。
An open-source engine that turns continuous content streams into search and monitoring. Durable ingestion, hybrid search, alerts, and plugins for formats, models and business rules.
专家点评
上手难度:进阶更新于 2026-11-11把持续内容流做持久入库、混合检索和主题告警的引擎,顶替自建的抓取+向量库+告警胶水层
适用场景
踩坑
- 部署门槛不在 Docker 本身:除 Compose v2 外还要 Go、Python 3.12 + venv、jq,首次启动拉约 1 GB 镜像,网络差时容易卡在拉镜像阶段
- 数据库依赖是历史争议点:issue 里反复出现对 Supabase 硬依赖的质疑(安全风险、为何强制、README 角色不清),自建 Postgres/PGVector 的诉求反应数最高,接入前先确认当前版本是否已解耦
- 没有自带 UI:README 明说 Quivr 本身无界面,演示页要另跑 make demo 起在 127.0.0.1:5183,别指望 clone 完就有可点的控制台
同类对比
如果只要单机文档问答、不需要持续入库和告警,LlamaIndex 或 LangChain 的检索组件更轻;如果核心诉求是自建向量库且拒绝托管依赖,直接用 PGVector + 自己的调度更可控。
git clone https://github.com/The-Vibe-Company/quivr.git && cd quivr
make dev
eval "$(make -s env)"README 未说明 GPU 或显存要求;运行环境需 Linux x86_64 或 Apple Silicon Mac,Docker 与 Compose v2,首次启动约下载 1 GB 镜像。
项目说明
由 README 自动翻译提炼把持续涌入的内容存起来、搜得到、命中主题就告警的开源引擎
把持续不断的内容流变成可搜索、可监控的知识库,支持持久化摄取、混合检索、告警,以及格式、模型和业务规则插件。
核心能力
- 按关键词、语义或混合方式检索并定位到原文段落与版本
- 保存主题告警规则,命中后记录原因并通过签名 webhook 推送
- 文档确认入库后后台异步处理,故障只延迟不丢数据
- 文件格式、数据源、嵌入模型、排序与告警规则均可插件替换
- 提供 quivr mcp 让 AI agent 检索并引用原文出处
容易踩的坑
首次启动需下载约 1 GB 镜像,网络慢时容易卡住;除 Docker 外还需 Go(版本见 go.mod)、Python 3.12 与 venv、jq;Quivr 本身无用户界面,演示网页需另跑 make demo 并访问 127.0.0.1:5183。
- v2.0.2最新正式版2026-10-30 · 2026-10-30 13:59 UTC
Quivr 2.0.2
2.0.2 moves the search database to Weaviate 1.39.14. It changes no API, no configuration and no stored data. Upgrade any 2.0.x installation to it.
What Weaviate 1.39.14 fixes for Quivr
- Filtered searches no longer fail at random. Quivr filters every vector and hybrid search to the scope of the request. Weaviate's default filtering strategy could crash such a search on a node of the vector graph with more links than expected, and the search then returned an error.
- Security: CVE-2026-63209, in the compression library.
- Less memory.
- Quivr compresses its vectors. Compressed indexes now drop the uncompressed vector cache they no longer use, which can save gigabytes on a large index.
- Weaviate also stops keeping memory it never frees when writing to its in-memory tables.
- Safer restarts. A crash right after a shutdown could leave a keyword-search file empty, and the database would then not start without a manual repair. Startup and shutdown are also faster.
Results do not change. The hybrid search changes in 1.39.14 only affect
offsetpaging andnearTextqueries, and Quivr uses neither.Upgrade from 2.0.0 or 2.0.1
- Back up the search database volume.
- Deploy the 2.0.2 images and the new Weaviate pin from
deploy/infrastructure.json, or the 2.0.2 compose bundle attached to this release for a single machine. - Keep the same Weaviate volume.
This is a patch upgrade within one Weaviate minor version: no re-indexing and no Quivr migration. The test that upgrades a 1.37.15 volume through 1.38.20 to 1.39.14, then checks lexical, semantic and hybrid search, passes on this release.
The release images are signed and carry SBOMs, as described in Security of Quivr releases.
2.0.2 (2026-10-30)
Bug Fixes
- v2.0.12026-10-30 · 2026-10-30 10:22 UTC
查看更新说明
Quivr 2.0.1
2.0.1 is a security release. It changes no API, no configuration and no stored data. Upgrade any 2.0.0 installation to it.
Security fixes
- Weaviate 1.39.13 replaces 1.39.10 as the search database. It rejects TLS certificate chains built on the eight leaked eMudhra intermediate certificates (CVE-2026-111943). Weaviate uses TLS for backups, OIDC and model modules.
- Python 3.12.16 replaces 3.12.15 in the core, plugin and CPU embedding images (CVE-2026-115557).
libbrotli11.0.9-2+deb12u1 is now in the TEI embedding image (CVE-2026-111497).
Upgrade from 2.0.0
- Back up the search database volume, as before any database upgrade.
- Deploy the 2.0.1 images and the new Weaviate pin from
deploy/infrastructure.json. For a single-machine installation, use the 2.0.1 compose bundle attached to this release. - Keep the same Weaviate volume.
Weaviate 1.39.10 to 1.39.13 is a patch upgrade within one minor version, so the stored data stays as it is: no re-indexing and no Quivr migration. The test that upgrades a 1.37.15 volume through 1.38.20 to 1.39.13, then checks lexical, semantic and hybrid search, passes on this release.
The release images are signed and carry SBOMs, as described in Security of Quivr releases.
2.0.1 (2026-10-30)
Bug Fixes
- v2.0.0Quivr 2.0.02026-10-29 · 2026-10-29 16:11 UTC
查看更新说明
Quivr 2.0.0
Quivr is an open-source engine for content that keeps arriving. Your application, or Quivr's sources (RSS, Microsoft 365 mailboxes, X lists), send it documents. Quivr keeps every version of each document and makes it searchable within seconds, by keywords, by meaning, or both. It also checks every new document against your saved alerts. Quivr has no user interface: your application talks to it over an HTTP API, and AI agents use it through
quivr mcp.2.0.0 is the first stable release of the rewritten Quivr. The alphas were for evaluation. From this release on, Quivr makes promises you can build on.
What 2.0 promises
- A stable API. The HTTP API keeps the
/v0path for every 2.x release. A 2.x release only adds to it: new endpoints, optional fields, response fields and enum values. A change that could break a working client waits for the next major release. - Upgrades that keep your data. An upgrade from one 2.x release to another runs
quivr migrate, then rolls the worker and the API, with your data in place. - Plugins that check their compatibility. A plugin declares the Plugin API versions it supports, and Quivr refuses to activate one it cannot run.
- Clear status for each feature. Everything in the documentation is stable within 2.x except a short list of experimental features, each marked on its page: search measurement tooling, Jev re-ranking and Jev-judged alerts, the dedicated vector host, and the
quivr-autoscalerbinary.
Versions and compatibility has the details. Known limits lists what 2.0 does not do yet: it searches text only, has no OCR, has no user accounts, and has size limits per document and per search.
Get started
- Try it locally: clone the repository, run
make dev, then follow the Quickstart, about fifteen minutes. - Install it on a server from the signed release images (
linux/amd64): see Run Quivr on one machine, or Deploy and configure Quivr for Railway and Kubernetes. - Understand it first: Core concepts and How Quivr works.
Coming from a 2.0.0 alpha
Upgrading an alpha installation in place is not supported. Start a fresh 2.0.0 installation, or export your documents from the alpha and send them to the new one.
Since 2.0.0-alpha.7
- Security:
- Quivr and its images are built with Go 1.27.3, for CVE-2026-111943;
golang.org/x/net,certifi,pillow, and the SeaweedFS image'scurlandbrotliare patched.
- Search recovers after a database restart, with its buffers restored and its hydration work bounded.
- Imports:
- queue counts stay available during continuous imports;
- the autoscaler adds bulk workers for connector imports.
- Documentation:
- rewritten for newcomers, with new pages: How Quivr works, a glossary, Versions and compatibility, and Known limits;
- the "evaluation stage" warnings are gone.
The full list of changes since the first alpha is in CHANGELOG.md.
Changes since 2.0.0-alpha.7 (generated)
Features
Bug Fixes
- A stable API. The HTTP API keeps the
- v2.0.0-alpha.7pre-release2026-10-14 · 2026-10-14 09:38 UTC
查看更新说明
2.0.0-alpha.7 (2026-10-13)
⚠ BREAKING CHANGES
- storage: In-place upgrades from
2.0.0-alpha.6and earlier are unsupported. Reset the installation, or export data using the old installation and re-import into a fresh one. The existing Commitizen footer records this for release-please; CHANGELOG.md is untouched. - queues: In-place upgrades from 2.0.0-alpha.6 and older are unsupported. Reset the installation, or export the data and re-import it. Rebuild operations no longer report
indexedorvectors_reused.
Features
- admin: say when no alert applies to a document (#3872) (c67f4ac)
- autoscaler: select the replica backend from configuration (#3877) (e21e84d)
- changes: publish independent record writes in parallel (#3946) (8c9ec6d)
- content: add running corpus document totals (#3927) (3a4e626)
- deploy: add dedicated Azure vector host (67a6c0e)
- deploy: add dedicated Azure vector host (146c945)
- deploy: reset installations and apply source declarations (#3911) (c11a893)
- deploy: run a complete CPU stack with Compose (ea68536)
- deploy: run a complete CPU stack with Compose (ab4952f)
- deploy: ship declarative infrastructure profiles and drift checks (#3909) (a863db8)
- explorer: show each filter as soon as its fast count arrives (#3904) (9bfb469)
- facets: answer fast facet counts from snapshots or samples (#3902) (8d34e53)
- hosted-embed: configure model prompts explicitly (#3879) (135b78a)
- hosted-embed: prepare pinned tokenizers for any model (#3893) (feeb89a)
- metrics: expose HTTP load and pool pressure (#3870) (77686a5)
- monitoring: allow subscriptions without webhook delivery (#3884) (f8452a6)
- postgres: s
- storage: In-place upgrades from
- v2.0.0-alpha.6pre-release2026-10-08 · 2026-10-08 04:10 UTC
查看更新说明
2.0.0-alpha.6 (2026-10-08)
Features
- autoscaling: scale bulk workers from queue backlog (#3818) (b7267a7)
- connectors: pause and resume continuing imports (#3844) (fa06fe4)
- content: count metadata values for facets (#3789) (63d76a9)
- corpora: add archive, restore and rename (#3817) (939e273)
- deploy: let the Railway demo drop core.ingest when hosted embeddings serve (#3834) (782d9d2)
- deploy: serve EmbeddingGemma 2 on Modal (#3811) (1bbc9a1)
- deploy: set rebuild concurrency from a Railway variable (#3823) (7ad49b5)
- embeddings: encode queries beside the API on CPU (#3830) (8a9d155)
- eval: add text-only EmbeddingGemma 2 bake-off (#3802) (9a06b2b)
- ingestion: pack paragraphs into hosted embedding passages (#3827) (1ff2e28)
- ingestion: preserve recipes when tuning provider execution (#3845) (92de9e8)
- quarantine: restart reprocessing from normalization (#3796) (f51bfe3)
- quivr-search: find sharper source logos, SVG included (#3785) (c990d71)
- quivr-search: open the Explorer from its address only (#3820) (7eca7a0)
- quivr-search: rebuild the Explorer to match the approved layout (#3804) (52b939a)
- quivr-search: redesign the Explorer around a timeline and a preview panel (#3797) (d753c3c)
- quivr-search: show counts next to each filter value in the Explorer (#3793) ([0a0ca1d](https://github.com/The-Vibe-Company/quivr/commit/0a0ca1d1b66ffb7d03cd5c3
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Quivr
An open-source engine for content that keeps arriving: store it, search it, and get alerted when something new matches a topic you follow.
You send Quivr documents (news articles, emails, posts, PDFs), or let it collect them from RSS feeds, Microsoft 365 mailboxes and X lists. Quivr keeps every version, makes each document searchable within seconds, and checks it against your saved alerts. Your application talks to Quivr over an HTTP API; Quivr has no user interface of its own.
Quivr is developed by The Vibe Company, the AI agency created by the Quivr team.
Status: Quivr 2. From 2.0.0 on, the HTTP API (
/v0) stays compatible across 2.x releases and upgrades keep your data in place; see Versions and compatibility and Known limits.
What you can do with it
- Collect content you send one by one or in batches, or that Quivr pulls from sources on a schedule. Files such as PDFs are read by plugins.
- Search by keywords, by meaning, or both. Every result points to the exact passage, document and version it comes from, so you can always cite it.
- Follow a topic. Save an alert such as
"harbour strike" AND (ferry OR port), or a plain-language description, and Quivr records every new document that matches, with the reason. Your application reads the matches or receives them as signed webhooks. - Keep history. A correction becomes a new version; the old one stays readable. A withdrawn document leaves search at once, and alerts that caught it are told.
- Plug in your own logic. File formats, sources, embedding models, ranking and alert rules are plugins: small HTTP services you can replace, in any language.
- Let AI agents use it.
quivr mcplets an agent search Quivr and quote what it finds, with the source of every passage.
How it works
flowchart LR
sources[Sources and<br/>your application] -->|documents| api[Quivr API]
api --> store[(PostgreSQL + object storage<br/>every version, kept safely)]
store --> worker[Quivr worker]
worker <-->|read, cut, embed,<br/>rank, judge alerts| plugins[Plugins]
worker --> index[(Search index)]
app[Your application] <-->|search, alerts, changes| api
Quivr confirms a document only once it is stored, then processes it in the background: an outage delays processing but never loses what was confirmed. The search index can always be rebuilt from storage. How Quivr works explains the parts and the guarantees.
Try it
You need Linux on x86_64 or a Mac with Apple Silicon, Docker with Compose v2, the Go
version in go.mod, Python 3.12 with venv, and jq. The first start
downloads about 1 GB.
git clone https://github.com/The-Vibe-Company/quivr.git && cd quivr
make dev # start Quivr and its dependencies in Docker
eval "$(make -s env)" # point this shell at the API, with a local key
Then follow the Quickstart: create a
collection, add an article, find it by keyword and by meaning, and get alerted on a
topic, in about fifteen minutes. make demo adds a web app on top, at
http://127.0.0.1:5183 (quivr-search/).
To install Quivr on a server from published images, without a checkout, see Run Quivr on one machine.
Documentation
Everything is on docs.quivr.thevibecompany.co:
| If you want to… | Start with |
|---|---|
| Understand Quivr | Introduction, then Core concepts |
| Build an application on it | Quickstart, then the guides under Use Quivr |
| Install and operate it | Operate a Quivr deployment |
| Write a plugin | How plugins work, then Build your first plugin |
| Look up an endpoint, command or setting | Reference |
The site's source is docs-site/. Documentation for people changing this
repository is listed on the contributor start page.
Repository layout
cmd/quivr/ the single quivr binary: api, worker, migrate, plugin tools, search, mcp
internal/ the engine, one Go package per domain module
contracts/ the HTTP API (OpenAPI) and plugin protocol contracts
sdks/ Go and Python kits for writing plugins
plugins/ first-party plugins: alerts, sources, PDF, ingestion, retrieval…
client/ Go client generated from the HTTP contract
migrations/ PostgreSQL migrations
deploy/ Compose, Railway and image build files
quivr-search/ demo web app built on the public API
docs-site/ the documentation site
docs/ contributor docs, decisions (docs/adr/) and dated records (docs/dated/)
scripts/ local stack, checks and measurement tooling
Contributing
Read AGENTS.md for the rules and CONTEXT.md for the
domain vocabulary, then the contributor start page. Run
make check (about two minutes, no Docker) before pushing; make verify runs the
end-to-end journeys on an isolated stack. Pull request titles follow Commitizen, for
example feat(ingestion): accept record versions.
Report security issues privately: see SECURITY.md.
License
MIT — see LICENSE.