Complete install from zero — Node.js, npm package, licence activation, and your first store + recall. No prior experience required.
Vektor Slipstream requires Node.js version 18 or higher. If you already have Node.js, skip ahead — just verify your version first.
node --version # Must show v18.0.0 or higher # e.g. v20.20.1 ✓
If you see command not found or a version below 18, install Node.js:
# 1. Go to https://nodejs.org # 2. Download the LTS version (green button) # 3. Run the installer — accept all defaults # 4. Restart PowerShell # 5. Verify: node --version
winget install OpenJS.NodeJS.LTS
brew install node@20 node --version
# Download from https://nodejs.org → LTS # Run the .pkg installer node --version
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs node --version
✓ Done when: node --version shows v18.x.x or higher.
Purchase Vektor Slipstream at vektormemory.com/product. Your Polar licence key is emailed immediately after checkout.
The key looks like this:
0509B6D1-7D21-43E7-9840-F74A10207531
Can't find your key? Log in at polar.sh → Orders → your purchase to retrieve it. Contact [email protected] if you need help.
Open a terminal (PowerShell on Windows, Terminal on macOS/Linux) and run:
npm install vektor-slipstream
This downloads the package including the bundled ONNX embedding model (~23MB). First install takes 30–60 seconds.
Windows PowerShell: if you see garbled characters in the output, run this first:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
Verify the install:
npx vektor help
You should see the VEKTOR ASCII banner and the list of CLI commands. If you see an error, check the troubleshooting guide.
✓ Done when: npx vektor help shows the command list without errors.
Set your licence key as an environment variable, then run the activation command:
# Set your key (replace with your actual key) $env:VEKTOR_LICENCE_KEY="0509B6D1-7D21-43E7-9840-F74A10207531" # Activate npx vektor activate
To make it permanent across sessions, add it to your system environment variables:
Start → Search "environment variables" → Edit system environment variables → New
Name: VEKTOR_LICENCE_KEY · Value: your key
# Set your key export VEKTOR_LICENCE_KEY="0509B6D1-7D21-43E7-9840-F74A10207531" # Activate npx vektor activate # Make it permanent — add to ~/.zshrc or ~/.bashrc: echo 'export VEKTOR_LICENCE_KEY="your-key-here"' >> ~/.zshrc
Expected output:
✓ Licence activated successfully. Run: npx vektor status
Each licence activates on up to 3 machines. If you hit the limit, run npx vektor deactivate on an old machine first, or manage activations at polar.sh.
✓ Done when: you see "Licence activated successfully." Your key is now cached locally — you won't be prompted again on this machine.
Confirm everything is working end-to-end:
npx vektor test
Expected output:
[##############################] 100% Done ✓ Memory engine booted ✓ Stored memory (id: 1) ✓ Recalled 1 result(s) — top score: 0.9741 ✓ Briefing generated ✓ Test database cleaned up ✓ All tests passed. VEKTOR is working correctly.
If you see a better-sqlite3 error: run npm rebuild better-sqlite3 in the same directory, then try again. This happens when Node.js was updated after the package was installed.
✓ Done when: "All tests passed." appears. The memory engine is fully operational.
Create a file called test-memory.js and paste this:
const { createMemory } = require('vektor-slipstream');
async function main() {
const memory = await createMemory({
agentId: 'my-agent',
licenceKey: process.env.VEKTOR_LICENCE_KEY,
dbPath: './my-memory.db',
});
// Store a memory
const { id } = await memory.remember(
'User prefers TypeScript over JavaScript',
{ importance: 4 }
);
console.log('✓ Stored — id:', id);
// Recall by meaning (not keyword)
const results = await memory.recall('coding language preferences', 5);
console.log('✓ Recalled:', results[0].content);
console.log(' Score:', results[0].score.toFixed(4));
// Traverse the graph
const graph = await memory.graph('TypeScript', { hops: 2 });
console.log('✓ Graph nodes:', graph.nodes.length);
// See what changed
const delta = await memory.delta('TypeScript', 7);
console.log('✓ Delta entries:', delta.length);
}
main().catch(console.error);node test-memory.js
Expected output:
╔══════════════════════════════════════════════════════╗ ║ VEKTOR SLIPSTREAM — ACTIVE ║ ╚══════════════════════════════════════════════════════╝ ⚙️ EP: CPU·Hash 🧠 Model: all-MiniLM-L6-v2 INT8 ⚡ Embed: <1ms 💾 DB: WAL | mmap:1GB | cache:64MB ✓ Stored — id: 1 ✓ Recalled: User prefers TypeScript over JavaScript Score: 0.9741 ✓ Graph nodes: 1 ✓ Delta entries: 1
A my-memory.db file was created in your project directory. This SQLite file is your persistent memory graph — it survives restarts, model updates, and new sessions. It's yours forever.
If you use Claude Desktop, install the VEKTOR extension to give Claude persistent memory across every conversation.
vektor-slipstream.dxt from your purchase email or the product page.dxt file onto the Extensions pageFull step-by-step with screenshots: Claude Desktop Extension guide →
You have a working memory layer. Your agent can now remember across sessions, traverse an associative graph, and generate structured briefings. The .db file is yours — portable, local, permanent.