Our take
Activeregular commits and releases- Activity
- 85
- Community
- 59
- Issues
- 66
- Pull requests
- 54
- Releases more often than 86% of the projects we track
RuVector is an actively maintained, unusually broad Rust memory toolkit, but its many components have different maturity levels and should be adopted individually rather than treated as one finished platform.
Good fit if
- You want local, persistent vector retrieval for an agent and can work with Rust or Node.js and ONNX-based semantic embeddings.
- You need to explore graph memory, browser/WASM, or MCP integrations through separate packages and crates.
- You value an MIT-licensed project with regular commits and releases, and a contributor base that is not mostly dependent on one person.
Look elsewhere if
- You need a single integrated package with every advertised memory and learning capability enabled by default.
- Your deployment depends on complete production-ready replication, snapshot restoration, or unified persistent memory APIs; the README describes gaps in these areas.
- You need a hosted service or turnkey database rather than embedding and operating components in your own application.
All health signals
| Last commit | 2026-10-14 (5 days ago) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 47 (latest ruvector-wasm-v2.3.1, 2026-10-06) |
| Contributors | 22 (top contributor: 50% of commits) |
| Issues closed, last 90 days | 9+ (typically closed in 2 days) |
| Pull requests merged, last 90 days | 45 (typically merged in 1 day) |
| Project age | 11 months |
Checked on 2026-10-19 with the GitHub API.
Overview
RuVector is a Rust-based toolkit for vector search, persistent agent memory, and local decisions. Its Node.js semantic-memory path uses ONNX embeddings with the all-MiniLM-L6-v2 model, while Rust and browser/WASM packages provide other ways to use its retrieval components. It is aimed at applications that need to store context across sessions and retrieve it locally, rather than relying on a hosted vector service.
The repository is a broad monorepo, not a single database package: its separate components cover graph memory, feedback-driven learning, typed decisions, and MCP integration. Those capabilities require explicit integration; installing the root ruvector package does not activate the full platform.
Key Features
- Persistent vector storage and similarity search, with Rust and Node.js interfaces.
- Local semantic embeddings through ONNX, with external embedding providers also supported.
- Metadata filtering, HNSW and flat indexes, and optional graph-based retrieval components.
- Memory-related primitives for recording outcomes and adapting from explicit feedback; reads alone do not trigger learning.
- Separate browser/WASM, Python, PostgreSQL, and RVF build or package surfaces.
- An npm CLI and MCP server for accessing memory tools from agent workflows.
Use Cases
- An agent or coding assistant that needs to retain project decisions across sessions can use the CLI or Node.js package with a local persistent store.
- A Rust application that needs embedded vector search can build directly on
ruvector-coreand supply its own embeddings. - A team prototyping browser-based vector search can evaluate the separate WASM packages without deploying a database server.
- Developers exploring graph-based or feedback-driven memory can combine the relevant crates and examples, while evaluating those research surfaces separately from the default search path.
What you need
Detected in the repository
- Node.js >=18.0.0 (from package.json)
- Rust 1.77 or newer (from Cargo.toml)
- A test suite and automated checks on GitHub Actions
License in plain words
MITpermissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the copyright and license notice
- Share your changes: no
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
For the Node.js CLI, install the package and inspect the available commands:
npm install ruvector
npx ruvector info
Semantic commands download the embedding model on first use. See the README for Rust, Python, MCP, and other setup paths.
Alternatives
- memvid: Memvid packages content, indexes, and metadata in a portable file, while RuVector offers vector search and memory components across Rust, Node.js, and WASM.
- cortex-mem: Cortex Memory focuses on durable file-based agent memories with CLI, REST, and MCP access; RuVector centers on vector search with ONNX embeddings and additional components.
- OpenViking: OpenViking organizes agent context in a browsable virtual filesystem with self-hosted or hosted options, rather than RuVector's Rust-based vector-search toolkit.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| RuVector | Rust | MIT | 4.6k | Active |
| memvid | Rust | Apache-2.0 | 16.6k | Active |
| cortex-mem | Rust | MIT | 311 | Active |
| OpenViking | Python | AGPL-3.0 | 39.2k | Active |
Considerations
The repository is active, with frequent commits and releases and prompt issue and pull-request handling. That activity is encouraging, but does not make every component equally mature; the README identifies research surfaces and incomplete features, including incomplete consolidation and persistence in the unified runtime memory manager, index rebuilds when opening persisted HNSW databases, and limitations in replication and snapshot restoration. The core workspace requires Rust 1.77 or newer, and the npm path requires Node.js 18 or newer. The default semantic path downloads its model on first use, so offline or regulated deployments need to prepare and pin it in advance. Review the repository's security guidance as well: metadata filters are not a complete authorization boundary, and embeddings should be treated as sensitive data.
Found this useful?
Share it with someone who would like RuVector.