Chroma vs OpenViking
Open-source embedding database for building AI apps with retrieval. — versus — Volcengine's context database: memories, resources and skills as one `viking://` filesystem agents ls, tree and grep — L0/L1/L2 tiers, traceable retrieval, sessions distilled into memory.
OpenViking is explicitly a reaction to querying a black-box vector store: Chroma hands you the embedding index as a library primitive, OpenViking layers an opinionated filesystem, tiering and session distillation on top. Take Chroma when you want to design retrieval yourself.
| Chroma | OpenViking | |
|---|---|---|
| Stars | 29k | 32k |
| Forks | 2.5k | 2.4k |
| Language | Python | Python |
| License | Apache-2.0 | AGPL-3.0 |
| Last activity | 4 days ago | yesterday |
| Topics | rag, memory | memory, rag, skills |
| Curated connections | 12 | 5 |
Chroma — the curator's take
Open-source embedding database for building AI apps with retrieval.
OpenViking — the curator's take
Use it when opaque vector recall has burned you: every query keeps the directory-browsing trajectory that produced it, so a wrong answer is debuggable, and the L0/L1/L2 tiers let an agent judge relevance before paying for full content. It pays off most for long-lived agents with heavy reference material — repos, docs, per-user preferences — and there are documented hooks for Claude Code, Codex, Cursor, OpenCode, LangChain/LangGraph and plain MCP clients. Costs: it's a server plus semantic pre-processing on every write, so ingest is slow and not free; AGPLv3 rules it out of many closed products; and there's an obvious managed-SaaS path on Volcano Engine behind it. Wrong tool if you just want an in-process vector index.