๐ง The Brain for Your AI โ Local-first memory engine for AI agents. Store, recall, and search memories with semantic embeddings. Single Rust binary, zero config, fully offline.
Give your AI a memory that never leaves your machine.
Your AI forgets everything between sessions. Uteke fixes that โ one binary, fully offline, ~45ms recall.
๐ฌ๐ง English ยท ๐ฎ๐ฉ Bahasa Indonesia
# Install (macOS, Linux, Windows)
curl -sSL codecora.dev/install | sh
# Store a memory
uteke remember "Deploy v2.1 to staging at 3pm"
# Search it back โ by meaning, not just keywords
uteke recall "when do we deploy?"
Thatโs it. No API keys. No Docker. No Python. No cloud.
First run downloads the embedding model (~188MB, one-time) and youโre running.
Want richer memories? Add metadata:
uteke remember "Deploy v2.1 to staging" \
--tags deploy,staging \
--entity staging-server \
--category infrastructure
| Method | Command |
|---|---|
| Homebrew | brew install codecoradev/tap/uteke |
| Cargo | cargo install uteke-cli |
| Docker | docker run -d -p 127.0.0.1:8767:8767 -v uteke-data:/data ghcr.io/codecoradev/uteke:latest |
| Binary | GitHub Releases (macOS, Linux, Windows) |
๐ Full install guide ยท Docker docs
Are you an AI agent reading this? Your user just shared this repo link with you.
Runuteke onboardto interactively configure uteke for your environment โ it will
detect your install, ask which agent you are, toggle features, write config, and
show you every command available. If non-interactive:uteke onboard --yes --agent <your-agent>.
New to uteke? One command takes you from zero to productive:
uteke onboard
The wizard will:
~/.uteke/uteke.toml with your selectionsuteke init)Non-interactive (CI, scripts, AI agents):
uteke onboard --yes --agent hermes --namespace default
๐ Full onboarding docs ยท CLI reference
You just spent 2 hours explaining your codebase to ChatGPT. Next session? Blank slate. Again.
Every AI tool forgets. Context windows fill up, sessions end, and your AI starts over every single time. Uteke gives it persistent memory โ and keeps it on your machine.
| Uteke | Mnemosyne | Mem0 | AgentMemory | Letta | Zep | Engram | |
|---|---|---|---|---|---|---|---|
| Language | Rust (single binary) | Python (pip) | Python | TypeScript | Python | Python | Go (single binary) |
| Setup | One binary (curl | sh) |
pip install + venv | pip + Docker + Qdrant | npm + Docker (iii-engine) | pip + Docker + Postgres | pip + Docker + Neo4j | One binary |
| API keys | โ None | โ ๏ธ For remote embeddings | โ OpenAI/LLM | โ LLM key | โ LLM key | โ LLM key | โ None |
| Works offline | โ Fully | โ ๏ธ Optional | โ Cloud embedding | โ Needs LLM | โ Needs LLM | โ Needs LLM + vector DB | โ Fully |
| Search | Hybrid (Vector + FTS5 + RRF) | sqlite-vec + FTS5 | Vector + Graph | Vector + Graph | Vector | Temporal Graph | FTS5 only |
| Recall speed | ~45ms | ~50ms+ | Network round-trip | Network round-trip | Network round-trip | Network round-trip | ~Fast (local) |
| Multi-agent | โ Rooms (built-in collaboration) | โ ๏ธ Shared API | โ | โ | โ | โ | โ |
| Time-travel | โ Native point-in-time | โ ๏ธ Temporal triples | โ | โ | โ | โ | โ |
| MCP server | โ JSON-RPC + HTTP | โ stdio + SSE | โ | โ | โ | โ | โ |
| Your data | โ Never leaves machine | โ Local-first | โ ๏ธ Sent to LLM cloud | โ ๏ธ Sent to LLM cloud | โ ๏ธ Sent to LLM cloud | โ ๏ธ Sent to LLM cloud | โ Local |
| License | Apache 2.0 | MIT | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |
Uteke vs Mnemosyne: Both are local-first with semantic + FTS5 search. Mnemosyne is the closest competitor (~1.5K stars, Python). Uteke wins on single binary (no Python runtime), rooms, time-travel queries, and zero runtime dependencies.
Uteke vs Engram: Both are single-binary, offline, no-API-key tools. But Engram is FTS5-only (keyword search). Uteke adds vector semantic search + RRF fusion + rooms + time-travel + graph relationships + smart decay + document engine + batch import. Same simplicity thesis, 10ร the features.
Uteke vs AgentMemory/Mem0/Letta/Zep: Those are powerful โ but all require cloud LLM API keys and Docker infrastructure. Your data goes to OpenAI/Anthropic. Uteke runs fully offline with local ONNX embeddings. No Docker, no Python, no API keys.
๐ค Building AI agents? Give them persistent memory without cloud dependencies. Your agent remembers user preferences, past decisions, and context โ across sessions, fully offline.
๐ฅ Working in a team? Use Rooms to share knowledge. Meeting notes, project decisions, architecture choices โ searchable by everyone, attributed by author.
๐ Building for privacy-sensitive domains? Healthcare, finance, legal โ data stays on your machine. No API calls, no telemetry, no cloud. Local embeddings (ONNX, 768d).
โจ๏ธ Power user who lives in the terminal? Uteke is your personal knowledge graph. Remember anything, recall by meaning, link related thoughts. All from the command line.
| Feature | What it does |
|---|---|
| ๐ง Hybrid Search | Vector similarity + FTS5 full-text search, merged by Reciprocal Rank Fusion (RRF). Finds by meaning AND exact keywords. |
| ๐ Rooms | Group memories by context (meetings, projects, clients) with author attribution. |
| โณ Time-travel | Recall memories as they existed at any point in time. uteke recall "deploy" --at 2025-01-15 |
| ๐ท๏ธ Rich Metadata | Tags, entities, categories, key:value pairs on every memory. |
| ๐งฉ Memory Types | Typed categories (fact, procedure, decision, etc.) with auto-inference. |
| โ๏ธ Partial Updates | Update content, tags, metadata, importance, or type without full rewrite. |
| ๐ Citations | Source attribution on every memory (URL, file, user, import batch). |
| Feature | What it does |
|---|---|
| ๐ Relationship Graph | Link memories with typed edges (supersedes, contradicts, references). Auto-backlinks. |
| ๐ Cross-Entity Linking | Bidirectional memoryโdocument references via [[doc-slug]] wikilinks. |
| ๐ค Cosine Auto-Linking | Automatically creates similar_to edges between related memories. |
| ๐ Smart Decay | Composite importance scoring. Pin what matters, let stale memories fade. |
| ๐ Salience + Recency | Dual-axis recall boost by memory type and age. |
| ๐ Orphan Detection | Find disconnected, low-importance memories for cleanup. |
| ๐ Dream Cycle | One-command maintenance: lint โ backlinks โ dedup โ orphans. |
| Feature | What it does |
|---|---|
| ๐ MCP Server | JSON-RPC over stdio + Streamable HTTP. Works with Claude Code, Cursor, Hermes. |
| ๐ฅ๏ธ Server Mode | Persistent daemon โ eliminates cold-start embedding load on every call. |
| ๐ Batch Import | Import entire directories with auto-strategy routing (document vs. memory extraction). |
| ๐ Document Engine | Wiki/knowledge base with uteke doc create/get/list and auto-chunking. |
| ๐ฅ Import/Export | JSONL-based backup and restore. |
| ๐ View-Only API Keys | Read-only tokens for safe GET-only access to the server. |
| Feature | What it does |
|---|---|
| ๐ฆ Single Binary | Zero dependencies. No Docker needed, no database server, no Python, no API keys. |
| ๐ Fully Offline | Local ONNX embeddings (EmbeddingGemma Q4, 768d). No telemetry, no cloud. |
| โก Recall Cache | LRU cache eliminates redundant embedding for repeated queries. |
| ๐ฅ Tiered Memory | Hot/Warm/Cold tracking with auto-cleanup of stale memories. |
| ๐ Embed Fallback | Gracefully degrades to no-op embedder if local model fails (never crashes). |
| ๐ฅ Multi-Agent Namespaces | Fully isolated memory per agent, zero overhead. |
| ๐ Benchmarks | Built-in uteke bench for perf testing. See results. |
// .mcp.json (Claude Code, Cursor)
{ "mcpServers": { "uteke": { "command": "uteke-mcp" } } }
For Claude Desktop, Hermes, and HTTP transport, see MCP docs.
๐ Full documentation ยท CLI reference ยท Configuration
graph LR
Input[User Query] --> Embed[Local ONNX Embedder<br/>768d, EmbeddingGemma Q4]
Embed --> HNSW[HNSW Vector Index<br/>usearch]
Embed --> FTS5[FTS5 Full-Text<br/>SQLite]
HNSW --> RRF[Reciprocal Rank Fusion<br/>k=60]
FTS5 --> RRF
RRF --> Results[Ranked Results]
style Input fill:#4a9eff,color:#fff
style Results fill:#4aff9e,color:#000
style RRF fill:#ff9e4a,color:#fff
How hybrid search works:
Everything runs in-process. No network. No cloud. No server required (unless you want server mode).
Mem0 and Letta are great โ but they require cloud API keys (OpenAI/LLM) and external infrastructure (Docker, Postgres, Qdrant). Your data gets sent to a cloud LLM provider. Uteke is a single binary with zero API keys. All embeddings run locally via ONNX. Your data never leaves your machine. See comparison table.
AgentMemory (25K stars) is a TypeScript/Node.js platform with 53 MCP tools and 12 auto-hooks. Itโs feature-rich but requires Docker + the iii-engine + LLM API keys. Uteke is Rust, zero dependencies, and works fully offline. If you want maximum integrations and donโt mind cloud dependency โ AgentMemory. If you want privacy, speed, and zero setup โ Uteke.
Engram (2.4K stars, Go) shares our philosophy: single binary, zero deps, MCP server, local-first. The key difference is search: Engram uses FTS5 only (keyword matching). Uteke uses hybrid search (HNSW vector similarity + FTS5 + Reciprocal Rank Fusion) โ meaning you can search by meaning, not just exact words. Uteke also adds rooms, time-travel, graph relationships, smart decay, document engine, and batch import.
Anything text-based: decisions, meeting notes, code snippets, project context, personal notes, agent state. You can tag, categorize, and link memories. The --batch-dir flag lets you import entire document directories.
Yes. The embedding model (EmbeddingGemma Q4, 768d) downloads once (~188MB) on first run. After that, zero network calls. No telemetry. If the local model fails, Uteke degrades gracefully to a no-op embedder โ it never crashes and never calls a cloud API.
~45ms as a library (measured at 100โ10K memories). No network round-trip because everything is local. The LRU recall cache eliminates redundant embedding computation for repeated queries.
Yes. Uteke ships with an MCP server that works with Claude Code, Cursor, and Hermes. You can also use the HTTP API directly in any language. See MCP setup โ
Uteke is at v0.7.3 with 206 tests, CI/CD on every commit, and benchmark harness. Itโs used in production by the CodeCora team and other early adopters. Still in 0.x โ expect rough edges, but the core is stable.
cargo build --workspace # Build
cargo test --workspace # Test (206 tests)
cargo clippy -- -D warnings # Lint
cargo fmt # Format
Contributions welcome! Read CONTRIBUTING.md for the full guide.
Apache License 2.0 โ use it, fork it, ship it.
Found this useful? โญ Star this repo โ it helps others discover Uteke.