Vectorizer — alfirus.my
← ~/projects 2026 · Creator & maintainer
Vectorizer A lightweight, self-hosted semantic memory server for AI agents — stores messages as embeddings in ChromaDB with optional LLM-powered summarization, agentic dialectic chat, and reasoning graphs.
Go ChromaDB Docker gRPC MCP Qwen Embeddings TypeScript SDK Python SDK
Vectorizer — Semantic Memory Server
A lightweight, self-hosted memory server for AI agents. Stores messages as embeddings in ChromaDB with optional LLM-powered summarization and Q&A. Each agent gets isolated memory via workspace namespaces.
Features
Workspace isolation — ws_ collections, no cross-talk between agents
Semantic + hybrid search — vector cosine (HNSW) + BM25 RRF, temporal filters, grep
Peers + peer cards — agent identity management within workspaces
Agentic dialectic chat — observer/observed modes, reasoning levels, SSE streaming, 5 built-in tools
Reasoning graph + deriver — premise edges, BFS reasoning chains, async derivation
Conclusions + surprisal dreamer — offline summarization with surprisal gating
Optional LLM brain — summarization & RAG Q&A via /chat/completions
Auth — API key or JWT with peer scoping
Layered config — env > .env > config.toml > defaults
Docker-ready — one docker compose up (ChromaDB + Qwen embeddings + Vectorizer)
MCP + Skills + SDKs — 13 MCP tools, TypeScript & Python SDKs
Evals — LongMemEval-style recall + reasoning-grounded benchmarks
Architecture
Agent → Vectorizer API → ChromaDB (vectors) + Embedding Service
│
├─ Qwen3-Embedding-4B (1536d MRL)
├─ nomic-embed-text (768d fallback)
└─ text-embedding-3-small (OpenAI)
Tech Stack
Language: Go
Storage: ChromaDB
Embeddings: Qwen3-Embedding-4B (1536d), nomic-embed-text, OpenAI
Communication: REST API, gRPC, MCP
Deployment: Docker Compose
LLM Integration: OpenAI-compatible endpoints (qwen3:8b, gpt-4o-mini, etc.)
news (89) 01 Sept 2026
fix: CORS locked to localhost:8092, real metrics counters, clean .gitignore Date: 2026-08-31T02:05:26Z
New commit by alfirus: "fix: CORS locked to localhost:8092, real metrics counters, clean .gitignore" (d12a051)
31 Aug 2026
feat(mcp): add 3 new tools for Phase 3 endpoints 31 Aug 2026
feat: Phase 3 Vectorizer API improvements 31 Aug 2026
feat: Vectorizer enhancements from aict.my ChromaDB patterns 31 Aug 2026
chore: upgrade MCP SDK to v1.30.0, bump version to 0.2.0 31 Aug 2026
docs: vault 768d workflow librarian README 31 Aug 2026
feat(vault): markdown truth + 768d Nomic local + Vectorizer owns memory 25 Aug 2026
[3a39f97] docs: README pros/cons for LLM_ENABLED 25 Aug 2026
[180c372] feat: Phase 3 rolling-window tokens + chat auto-store reasoning 25 Aug 2026
[9c3ec63] fix: chat tool scope-aware search Date: 2026-08-31T01:57:34Z
New commit by alfirus: "feat(mcp): add 3 new tools for Phase 3 endpoints" (cc8bed1)
Date: 2026-08-31T01:40:47Z
New commit by alfirus: "feat: Phase 3 Vectorizer API improvements" (f056c1b)
Date: 2026-08-31T01:30:55Z
New commit by alfirus: "feat: Vectorizer enhancements from aict.my ChromaDB patterns" (cad93c7)
Date: 2026-08-30T08:38:33Z
New commit by alfirus: "chore: upgrade MCP SDK to v1.30.0, bump version to 0.2.0" (2db044b)
Date: 2026-08-30T05:33:28Z
New commit by alfirus: "docs: vault 768d workflow librarian README" (9bea2c9)
Date: 2026-08-30T02:05:48Z
New commit by alfirus: "feat(vault): markdown truth + 768d Nomic local + Vectorizer owns memory" (b6966d5)
Commit: 3a39f97
Date: 2026-08-25
Author: alfirus
docs: README pros/cons for LLM_ENABLED
Disabled (false default): zero hidden LLM cost, smaller footprint, deterministic 503, but no chat/summarize/deriver/dreamer
Enabled (true): full Phase 3 agentic dialectic + streaming + deriver/dreamer continuity + gRPC parity, but LLM cost/latency + provider ops
Gate via config/config.go LLM_ENABLED, .env, deriver/dreamer started only if brain != nil
View on GitHub
Commit: 180c372
Date: 2026-08-25
Author: alfirus
feat: Phase 3 rolling-window tokens + chat auto-store reasoning
store/tokens: EstimateTokens ~4 chars/token, FitContextWithinTokens newest-first
dreamer: 8000 tokens rolling-window via FitContextWithinTokens (vs fixed 20), surprisal <0.15
chat: nResults scaling 1/5/10/15/20 + auto-store answer as ws_conclusions + reasoning edge + assistant message
main: GET /context?tokens uses FitContextWithinTokens -> tokens_used/budget
docs: BLUEPRINT 0.3.0 Phase 3 expanded, README workflow auto-store + rolling-window
View on GitHub
Commit: 9c3ec63
Date: 2026-08-25
Author: alfirus
fix: chat tool scope-aware search
View on GitHub