# Install (macOS, Linux, Windows)
curl -sSL codecora.dev/uteke/install | sh
# Store a memory
uteke remember "Deploy v2.1 to staging at 3pm"
# Search it back: by meaning AND by keyword
uteke recall "when do we deploy?"
That's it. No API keys, no Python, no cloud required. First run downloads the embedding model (~200MB, one-time) and you're running.
Long-term memory for AI agents (MCP). One Rust binary, offline, 98.2% recall@5 on LongMemEval-S. Works with Claude Code, Cursor, Codex. Self-host free or use Uteke Cloud.
ดาว
286
เครื่องมือ
—
อัปไทม์
—
Want your agent (Claude Code, Cursor, Hermes) to use it? One line:
New to uteke (or you are an AI agent)? Run uteke onboard. It detects your
setup, asks which agent you use, and wires everything up. 📖 Onboarding docs
📊 Benchmarks: 98.2% recall on LongMemEval-S
LongMemEval-S (ICLR 2025) hides the facts an
agent needs across ~115 chat sessions per question and checks whether retrieval
finds the evidence. 500 hand-curated questions, five memory abilities. Uteke runs
the full suite with zero LLM calls in the retrieval path: local embeddings,
one CPU, deterministic.
Metric
uteke v0.19.0
agentmemory¹
BM25-only¹
recall_any@5 (evidence in top-5)
98.2%
95.2%
86.2%
recall_any@10
98.8%
98.6%
94.6%
recall_all@5 (all evidence, strict)
**88.0%**²
88.2% MRR³
n/a
LLM tokens / query
0
0
0
Per-release stability (full 500 questions, scored from committed raw —
RESULTS.md):
Release
v0.16.0
v0.17.0
v0.19.0
recall_any@5
98.2%
98.4%
98.2%
strict recall_all@5
88.0%
88.0%
88.0%
¹ agentmemory's published numbers, same benchmark, same 500-question split (their recall_any@5 basis; verified apples-to-apples in our head-to-head). ² Strict = every gold session in top-5; 65% of questions have multiple gold sessions. Mathematical ceiling 99.4%. ³ MRR, not recall_all (not directly comparable; shown for completeness).
By question category (recall_any@5: the category-level story most tools don't show):
knowledge-update
single-session
temporal
multi-session
100%
96.7–98.2%
98.4%
98.3%
The hard part isn't finding a needle; every question's evidence lands in the
top-50 (zero misses). The residual gap is ordering when a question needs
several sessions at once: strict recall_all@5 is 88.0% against a 99.4% ceiling.
🎯 Don't trust our benchmark. Run it yourself. The full harness is in this
repo: public dataset, committed raw outputs for all three releases (v0.16/v0.17/v0.19),
deterministic scoring you can recompute in ~20 lines of Python. No embedder needed to
verify, ~$10 to re-run the whole 500 questions yourself.
👉 benchmarks/longmemeval/REPRODUCING.md
Also built in: uteke bench --counts 100,1000,10000 for latency/throughput on
your own machine. 📖 Full benchmark docs · RESULTS.md
💡 What Can You Do With Uteke?
🤖 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.
🔥 Why Uteke?
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.
Note: Tool labels (A–G) represent common categories of AI memory layers available as of August 2026. Capabilities are assessed from public documentation and may change. This table is a starting point for your own evaluation, not a definitive ranking.
Uteke vs Tool A (Python local-first): Both offer local-first with semantic + FTS5 search. Uteke's edge: single binary (no Python runtime), native time-travel (vs temporal triples), rooms, and zero runtime dependencies.
Uteke vs Tool G (Go single binary): Both are single-binary, offline, no-API-key, and both ship MCP servers. Tool G 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, more capabilities.
Uteke vs Tool F (TypeScript local mode): Tool F now offers a local binary mode with Ollama support, a solid step toward offline-first. But it's still TypeScript/Node.js under the hood. Uteke is Rust: smaller footprint, faster startup, zero runtime. And Uteke has hybrid search with FTS5 (Tool F's local mode uses vector-only, no keyword fallback).
Uteke vs Tools B/D/E: Those are powerful, but all require cloud LLM API keys and Docker infrastructure. Your data goes to external LLM providers. Uteke runs fully offline with local ONNX embeddings. No Docker, no Python, no API keys.
Uteke vs Tool C: Tool C has 54 MCP tools and multi-agent shared memory via a local engine. Uteke's edge: zero dependencies (no npm, no extra engine), hybrid search (Tool C lacks FTS5), and time-travel queries.
✨ Features
Core Memory
Feature
What it does
🧠 Hybrid + Fusion Search
Vector similarity + FTS5 full-text search, merged by Reciprocal Rank Fusion (RRF). Since v0.16.0, fusion (a weighted RRF of the vector and hybrid rankings) is the default recall strategy. Finds by meaning AND exact keywords.
🏠 Rooms
Multi-agent shared memory. Group memories by context (meetings, projects, clients). Multiple agents read/write to the same room with author attribution. Cross-agent recall without manual sync.
⏳ 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).
Search & Intelligence
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.
Many memory layers (Python-based or TypeScript-based) 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.
Some platforms offer dozens of MCP tools and multi-agent shared memory via a local engine. They're packed with integrations, but require npm, a separate runtime, and LLM API keys for embeddings. Uteke is Rust, zero dependencies, and works fully offline with local ONNX embeddings. If you want maximum integrations → those platforms. If you want privacy, speed, zero setup, and hybrid search → Uteke.
Some single-binary tools share our philosophy: one binary, zero deps, MCP server, local-first. The key difference is search: most are FTS5-only (keyword matching). Uteke uses hybrid search (HNSW vector similarity + FTS5 + Reciprocal Rank Fusion), meaning you can search by meaning, beyond exact words. Uteke also adds rooms, time-travel, graph relationships, smart decay, document engine, and batch import.
Yes. The embedding model (EmbeddingGemma Q4, 768d) downloads once (~200MB) 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 CLI (measurements: 31ms avg @10K on the published bench host, 100–10K memories, flat with store size). 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.21.1 with 200+ tests, CI/CD on every commit, and a benchmark harness. It's used in production by the CodeCora team and other early adopters. Still in 0.x, so expect rough edges, but the core is stable.
Long-term memory for AI agents (MCP). One Rust binary, offline, 98.2% recall@5 on LongMemEval-S. Works with Claude Code, Cursor, Codex. Self-host free or use Uteke Cloud.
คัดลอกคอนฟิก stdio สำหรับ Cursor, Claude Desktop, Claude Code หรือ VS Code ได้ในหน้านี้ คอนฟิกนี้ใช้การติดตั้งของผู้เผยแพร่ ไม่ใช่พร็อกซีของ PlugMCP
Uteke ต้องใช้ API key ไหม?
ระเบียนนี้ไม่ได้ระบุตัวแปรสภาพแวดล้อมที่จำเป็น
Uteke ใช้ทรานสปอร์ตแบบใด?
Uteke ทำงานแบบโลคัลผ่าน stdio
Uteke ถูกตรวจสอบล่าสุดเมื่อใด?
ตรวจสอบล่าสุดเมื่อ 2026-11-13 Long-term memory for AI agents (MCP). One Rust binary, offline, 98.2% recall@5 on LongMemEval-S. Works with Claude Code, Cursor, Codex. Self-host free or use Uteke Cloud.