
Uteke
io.github.codecoradev由 GitHub 帳號 codecoradev 發布v0.23.0更新於 Nov 11, 2026
Long-term memory for AI agents: hybrid vector and full-text recall, rooms, time-travel.
概覽
Uteke 為 AI 助理提供共用的長期記憶,支援向量與關鍵字混合檢索、房間以及依時間點回溯。
- 可以做什麼
- 儲存、更新與遺忘記憶,可附上標籤、實體、類型、作者與引用來源
- 依語意和精確關鍵字檢索,並可回溯到過去某個時間點的回憶狀態
- 透過房間讓多個代理共用記憶,並記錄每則記憶的作者
- 以關聯圖連結記憶,並執行去重、孤兒記憶清理等維護工作
- 在文件引擎中建立與讀取文件,並支援批次匯入與完整匯出/匯入
- 將原始對話輪次排入佇列,之後再抽取為記憶
- 適用情境
- 適合希望助理跨工作階段、跨多個代理(Claude Code、Cursor、Codex 等 MCP 用戶端)保留脈絡,而不是每次從零開始的情境;也適合需要同時依語意和關鍵字查找歷史資訊的情況。
- 執行需求
- 透過 OAuth 登入存取 uteke.app 的遠端端點;README 說明託管的 Cloud 服務在公開測試期間免費。自架方案是本機二進位檔或 Docker 映像,不需 API 金鑰,首次執行會下載約 200 MB 的嵌入模型。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Uteke,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.codecoradev%2Futeke/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"uteke": {
"type": "http",
"url": "https://uteke.app/mcp"
}
}
}README
Uteke
Long-term memory for any AI agent.
One Rust binary, runs offline, no API key. Self-host it free, or let us host it on Uteke Cloud.
[CI] [Latest Release] [License: Apache 2.0] [GitHub Stars] [Docker Hub pulls] [GitHub release downloads] [LongMemEval-S recall@5: 98.2%]
Quick start · Benchmarks · Connect your agent · Docs · Uteke Cloud · Bahasa Indonesia
All 500 LongMemEval-S questions, no LLM call in retrieval. Raw outputs are committed: check them in a minute, or re-run everything for about $10.
Why Uteke
On Monday you tell your agent how you deploy. By Thursday it has no idea. Every session starts from zero, and every agent keeps its own half-memory.
Uteke gives all of them one long-term memory that runs on your own machine:
- Verifiable recall. 98.2% recall@5 on LongMemEval-S, with the stricter numbers shown next to it and the raw outputs in this repo.
- Fast and cheap to query. ~45 ms warm recall, 0 LLM tokens per query, CPU only.
- One binary. No Python, no Docker, no vector database, no API key. The embedding model (~200 MB) downloads once.
- One memory, every agent. Claude Code, Claude Desktop, Cursor, Codex, Hermes and any MCP client share the same store. Rooms record which agent or person wrote what.
- Finds by meaning and by keyword. Local vectors and SQLite full-text search, fused into one ranking (how it works).
- Remembers over time. Point-in-time recall (
--at), a relationship graph, a document engine, and decay for stale memories. - Private by default. No telemetry. Secrets such as API keys are masked before a memory is stored.
- Open source. Apache-2.0, cosign-signed releases.
Quick start
No API keys, no Python, no cloud account. The first run downloads the embedding model (~200 MB, one time).
Give your agent (Claude Code, Cursor, Hermes) the same memory with 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 it up. 📖 Onboarding
Rather not run anything locally? Uteke Cloud runs the same engine for you: add one URL to Claude, sign in, done. Free during the open beta.
📦 More install options & Docker
Self-host or Cloud
Same engine, two ways to run it.
Choose self-host if your data must stay on your machine, or you want to run Uteke inside your own infrastructure. Choose Cloud if you want one memory across several devices and agents without running a server.
Benchmarks
LongMemEval-S (ICLR 2025) hides the facts an agent needs across ~115 chat sessions per question and checks whether retrieval finds them. 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.
¹ Their published numbers on the same benchmark and 500-question split, on their own recall_any@5 basis (head-to-head notes); evaluation setups differ. ² Strict = every gold session in the top 5; 65% of questions have more than one. Max possible 99.4%. ³ agentmemory publishes MRR 88.2%, which is a different metric.
Stability across releases and results per question type
Stable across releases (full 500 questions, scored from committed raw, RESULTS.md):
Re-validated 2026-11-08 after the #1690 import fix: strict@5 identical (88.0%), strict@10 +1 question (95.4%), zero misses@50 — four questions shifted partial gold ordering, none lost all evidence.
By question type (recall_any@5, v0.20.0):
Every question's evidence lands in the top 50 (zero misses). What's left is ordering when a question needs several sessions at once: strict recall_all@5 is 88.0% against a 99.4% ceiling, and most misses lose exactly one session.
🎯 Don't trust our benchmark. Run it yourself. Public dataset, committed raw outputs for every validated release, scoring you can recompute in ~20 lines of Python. Verifying the committed results takes a minute and needs no embedder; re-running all 500 questions costs about $10. 👉 benchmarks/longmemeval/REPRODUCING.md · 🧾 Receipts for the headline number (v0.19.0 run)
LoCoMo. LoCoMo end-to-end QA measures answer accuracy, and the result depends on the LLM answerer and the LLM judge used. In an internal comparison, identical answers were scored up to 8 points apart when only the judge model was swapped. For that reason we do not publish a single LoCoMo number in this README. The full table, the per-judge figures and the receipts are in benchmarks/locomo/RESULTS.md. Retrieval recall, which needs no judge, remains the metric we rely on.
uteke bench --counts 100,1000,10000 measures latency and throughput on your own machine. 📖 Benchmark docs
Connect your agent
🏠 Rooms: several agents, one shared memory (example)
Author attribution on every memory; cross-agent recall without manual sync. 📖 Rooms
Features
All features with details
Core memory
Search & intelligence
Integrations
Performance & privacy
How it works
- Vector index finds by meaning ("deploy" matches "rollout").
- FTS5 finds by exact terms ("deploy" matches "deploy").
- Hybrid merges the two lists with Reciprocal Rank Fusion (k=60).
- Fusion merges the vector ranking (weight 1.7) with the hybrid ranking (weight 1), then adds small salience and recency boosts.
Everything runs in-process: no network, no server required. --strategy vector | fts5 | hybrid | graph picks a single stage instead.
🐳 Deployment modes
Local-first (default): single binary, zero infrastructure. Your data stays in ~/.codecora/uteke/.
Docker / server mode: for teams or remote agents.
Compared with other memory tools
How Uteke differs from Python, TypeScript and Go memory layers (table)
Tool labels (A–G) stand for common categories of AI memory layers as of August 2026, assessed from public documentation. Use this as a starting point for your own evaluation, not a ranking.
Documentation
FAQ
"Fully offline", but there's a Uteke Cloud?
The engine in this repo is complete and runs fully offline; nothing in it calls the Cloud. Uteke Cloud is a separate, optional hosted service that runs the same engine for people who don't want to run anything locally, and you can export your data from it any time. The open-source engine stays full-capability, and none of the benchmark results above depend on the Cloud.
Why not just keep notes in a Markdown file?
A file works until you need to find something by meaning: "ship the release" won't match "deploy v2.1" with grep. Uteke searches by meaning and by keyword at once, keeps who wrote each memory, and works the same for every agent you use, instead of one file per tool.
How is Uteke different from cloud-dependent memory tools?
Many memory layers need cloud API keys (OpenAI or another LLM) and extra infrastructure (Docker, Postgres, Qdrant), and your data is sent to an LLM provider. Uteke is a single binary with no API keys; embeddings run locally via ONNX. See the comparison.
How is Uteke different from other single-binary memory tools?
Most of them are full-text only (keyword matching). Uteke fuses vector search with full-text search, so you can search by meaning as well as exact words, and adds rooms, time-travel, a relationship graph, decay, a document engine and batch import.
Does it really work offline?
Yes. The embedding model (EmbeddingGemma Q4, 768d) downloads once (~200 MB) on first run. After that, memory operations make no network calls and there is no telemetry. The binaries check GitHub for a new release once a day; set UTEKE_NO_UPDATE_CHECK=1 to turn that off. If the local model fails, Uteke degrades to a no-op embedder; it never calls a cloud API.
How fast is recall?
~45 ms as a CLI (31 ms average at 10K memories on the published bench host; flat from 100 to 10K memories). No network round-trip, and an LRU cache skips re-embedding repeated queries.
Is it production-ready?
Uteke has 1,300+ tests, mutation testing before each release, CI on every pull request, cosign-signed releases and a benchmark harness. It's used in production by the CodeCora team and other early adopters. It is still 0.x (see the release badge), so expect rough edges, but the core is stable.
Contributing
Contributions welcome. Read CONTRIBUTING.md for the full guide, or say hi in Discussions.
License
Apache License 2.0. Use it, fork it, ship it.
If Uteke helps your agents remember, a ⭐ helps other people find it.
來源:README.md,提交 c98ff38
工具
0版本歷史
1- v0.23.0最新Nov 11, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分