The vector database that
runs anywhere
Pure TypeScript vector search. No native bindings. No FAISS. No compile step.
Works on Node, Deno, Bun, Edge, Workers, and Browser.
1import { Vault } from 'vectorvault'; 2 3const vault = new Vault({ vault: 'my_knowledge', local: true }); 4 5vault.add('Mitochondria is the powerhouse of the cell'); 6vault.add('Neural networks mimic biological brains'); 7await vault.getVectors(); 8 9const results = await vault.getSimilar('How do cells produce energy?'); 10console.log(results[0].data); 11// → "Mitochondria is the powerhouse of the cell"
Everything you need.
Nothing you don't.
Vector search should be simple. Add data, search it semantically. VectorVault gives you a complete vector database in a single import — no infrastructure, no config files, no boilerplate.
Pure TypeScript
No native bindings. No C++ compilation. No FAISS. Runs anywhere JavaScript runs — Node, Deno, Bun, Cloudflare Workers, even the browser.
Local-First
Works completely offline. Your vectors stay on your machine. No API keys required for local mode. Full persistence to disk with save/load.
Semantic Search
Find meaning, not just keywords. Add documents in any order and search by concept. Cosine similarity ranking with metadata filtering.
Zero Dependencies
Check the package.json — "dependencies": {}. Nothing to install, nothing to break. The entire library is self-contained TypeScript.
Built-in Chunking
Don't pre-process your documents. splitText() handles chunking with configurable overlap. Load a book, split it, index it — done.
Cloud + Local
Develop locally, deploy to VectorVault Cloud. Same API, same code. Managed persistence, team collaboration, and production scaling.
The first vector database that's
actually portable
Every other vector library depends on native C++ bindings — FAISS, HNSWlib, Annoy. That means compile errors, platform headaches, and "works on my machine." VectorVault is pure TypeScript. It just works.
- Deploy to Cloudflare Workers — no native bindings to compile
- Run in the browser — client-side semantic search
-
Works on every OS — no
node-gyp, no Docker, no hassle - Same API as VectorVault Python — verified identical results
- Serverless-ready — cold starts in milliseconds, not seconds
1{ 2 "name": "vectorvault", 3 "version": "2.2.4", 4 "dependencies": {} 5} 6 7// That's it. Zero runtime deps. 8// Pure TypeScript. Nothing else.
Start building in minutes
From prototype to production with the same simple API. No config files, no setup scripts — just code.
1import { Vault } from 'vectorvault'; 2 3// Create a vault — that's your vector database 4const vault = new Vault({ 5 vault: 'my_knowledge', 6 openaiKey: process.env.OPENAI_API_KEY, 7 local: true 8}); 9 10// Add data — text in, vectors out 11vault.add('The mitochondria is the powerhouse of the cell'); 12vault.add('Photosynthesis converts sunlight to chemical energy'); 13vault.add('DNA stores genetic information in nucleotide sequences'); 14 15// Generate embeddings & persist 16await vault.getVectors(); 17await vault.save(); 18 19// Search by meaning, not keywords 20const results = await vault.getSimilar('How do cells get energy?'); 21console.log(results[0].data); 22// → "The mitochondria is the powerhouse of the cell"
1import { Vault } from 'vectorvault'; 2import { readFileSync } from 'fs'; 3 4const vault = new Vault({ 5 vault: 'research_papers', 6 openaiKey: process.env.OPENAI_API_KEY, 7 local: true 8}); 9 10// Load and chunk a document 11const book = readFileSync('the-prince.txt', 'utf-8'); 12const chunks = vault.splitText(book, 100, 500); 13 14// Index every chunk with metadata 15for (const chunk of chunks) { 16 vault.add(chunk, { source: 'the-prince.txt' }); 17} 18 19await vault.getVectors(); 20await vault.save(); 21 22console.log(`Indexed ${chunks.length} chunks`); 23// → "Indexed 264 chunks"
1import { Vault } from 'vectorvault'; 2 3// Load your existing vault 4const vault = new Vault({ 5 vault: 'company_docs', 6 openaiKey: process.env.OPENAI_API_KEY, 7 local: true 8}); 9 10// Retrieve relevant context 11const query = 'What is our refund policy?'; 12const results = await vault.getSimilar(query, 5); 13 14// Build context for your LLM 15const context = results 16 .map(r => r.data) 17 .join('\n\n'); 18 19// Feed to any LLM 20const response = await fetch('https://api.openai.com/v1/chat/completions', { 21 method: 'POST', 22 headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}` }, 23 body: JSON.stringify({ 24 model: 'gpt-4', 25 messages: [{ 26 role: 'user', 27 content: `Context:\n${context}\n\nQuestion: ${query}` 28 }] 29 }) 30});
1import { Vault } from 'vectorvault'; 2 3// Same API — just point to the cloud 4const vault = new Vault({ 5 vault: 'production_kb', 6 user: 'you@company.com', 7 apiKey: 'vv_your_api_key', 8 local: false // ← cloud mode 9}); 10 11// Everything works the same 12vault.add('New support article content...'); 13await vault.getVectors(); 14await vault.save(); 15 16// Managed persistence, team sharing, production scaling 17const results = await vault.getSimilar('How to reset password?'); 18 19// Access from your dashboard at vectorvault.io 20// Visual tools: Vector Flow, agent builder, analytics
How we stack up
VectorVault is the only library that gives you a complete vector database in pure TypeScript — no native deps, no framework lock-in.
Simple architecture,
powerful results
Text goes in, vectors come out. Search by meaning, get ranked results with metadata. No graph databases, no complex infrastructure.
Start free.
Scale when ready.
The open source library is free forever. When you need managed infrastructure, team access, and visual tools — VectorVault Cloud has you covered.
- 10 vaults
- 100K vectors
- Managed persistence
- Dashboard access
- Unlimited vaults
- 1M vectors
- Vector Flow builder
- Team collaboration
- Priority support
- Unlimited everything
- Persistent Agentic Runtime
- Custom deployment
- SLA guarantee
- Dedicated support
