
memo
io.github.jagoff由 GitHub 帳號 jagoff 發布v4.16.0更新於 Oct 24, 2026
Memory for AI agents — MLX (Apple Silicon) or CPU (Linux), sqlite-vec + BM25, zero cloud.
概覽
給程式開發助理的本地離線記憶伺服器:把決策與筆記存成 Markdown,讓助理依語意搜尋與回想。
- 可以做什麼
- 儲存、編輯、重新命名、刪除與列出以純 Markdown 檔案保存的記憶,SQLite 僅作為可重建的索引。透過向量加 BM25 的混合檢索依語意搜尋與回想,可選擇重新排序。查詢過去某個日期的記憶、比較兩個日期,並掃描互相矛盾或已過時的事實。執行重建索引、去重、合併以及夜間最佳化流程等維護工作。建立實體與關聯的知識圖譜,並匯入、匯出、備份或將記憶同步到你自己的 git 遠端儲存庫。
- 適用情境
- 當你長期使用程式開發助理、希望它記住過去的決策、慣例與脈絡,又不願把內容送到雲端服務時適合加入。也適合希望記憶是可讀、可版控的檔案而非不透明資料庫的人。
- 執行需求
- 以 mlx-memo Python 套件(memo-mcp)透過 stdio 在本機執行,需要 Python 3.13 或更新版本。完整功能需要 Apple Silicon 上的 macOS;Linux 與 Docker 使用 CPU 後端,不支援 Intel Mac。首次安裝需下載約 8 GB 模型。不需 API 金鑰或帳號,Obsidian 儲存庫為選用。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 memo,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
memo
Your coding agent starts every session with amnesia. memo fixes that — 100% on your own machine.
Persistent, searchable memory for Claude Code, Codex, Cursor, Cline, Devin, and OpenCode. No cloud, no API keys, no Ollama, no vector DB to run. And it spends fewer tokens, not more.
[PyPI] [Downloads] [License: MIT] [MCP] [MCP Toplist]
[mlx-memo MCP server on mcprush: security A, high access, no sign-in, works with 14 clients] [memo MCP server rated A on Glama: tool definitions rated A, 60 tools]
[Save a fact once — every later session recalls it automatically, all stored locally.]
Install
Prefer a package manager? uv tool install mlx-memo · pipx install mlx-memo · brew tap jagoff/memo && brew install mlx-memo
Then:
That's it. Your agents pick it up over MCP automatically — the installer wires every client it finds.
Installing on another Mac or handing setup to an agent?
New Mac:
Agent-managed setup:
On Linux or just want to look around first?
Why this saves you money
Most memory servers add context. memo is built to remove it.
The default MCP surface is 43 tools, not 165 — 74% fewer tools, and about 68% less schema context: 43 tools / ~9.7k schema tokens versus 165 tools / ~30.6k tokens on the full surface — overhead paid every session, in every client.
Ambient recall injects one relevant memory before the model answers. The bundled Claude Code hook caps that injection at ~160 tokens. memo roi reports the real grounding and re-ask counts — the estimated-savings figure it used to print was removed in 4.14.0, because multiplying those counts by hardcoded constants was a savings claim memo could not support. For measured savings, memo tokens reads the provider's own usage counters through the context-compression proxy.
Three things nothing else does
🕰️ Time-machine — query your knowledge as it was
Full historical reconstruction by reverse-replaying history.db. Useful when you need to know why past-you made a call, not just what past-you decided.
⚡ Contradiction radar — memory that notices when you change your mind
Change a decision and memo flags the now-stale version, so the agent stops reintroducing what you already threw out.
🔮 Dream — it optimizes itself while you sleep
A 7-phase nightly pipeline: inventory → mine signals → resolve conflicts → prune stale → synthesize cross-cluster insights → optimize → pre-warm the top-100 query embeddings so tomorrow's recall stays under 200 ms. Every run writes a receipt you can audit. Zero intervention.
How it works
Hybrid retrieval. A vector leg (MLX on Apple Silicon, sentence-transformers on CPU) and a BM25 leg (FTS5, diacritic-folding for Spanish) run in parallel, fuse via Reciprocal Rank Fusion, then go through an optional MLX cross-encoder rerank.
[vector + keyword search in parallel, fused, reranked, top memory injected]
Markdown is the source of truth. Every memory is a plain .md file you can read, grep, and version-control. SQLite is a derived index that rebuilds from the files at any time — hand-edit in Obsidian and your edit wins on the next memo reindex. Nothing is locked in a database you can't open.
Prompts and memories stay on your machine. Embedder, reranker, and LLM all run in-process. No telemetry. Memory travels only if you point memo sync at a git remote you own. Normal startup is fully offline; remote update checks and auto-update require an explicit opt-in. → Privacy and network policy
Also in the box: cross-agent memo resume (reopen any session from any agent), cross-Mac git sync, a knowledge graph with optional codegraph symbol edges, encrypted secret storage, OCR/audio ingestion, evidence packs, outcome learning, signed federation, and a local chat UI over your memory (memo chat serve). → Full feature reference
How it compares
Verified July 2026 against each project's own docs. Corrections welcome — open an issue and I'll fix the table.
✅ first-class · ⚠️ partial, config-gated, or add-on · ❌ absent
Closest comparators are basic-memory (local-first + Obsidian + MCP — same thesis) and cipher (memory for coding agents).
Requirements
Python ≥ 3.13 (the installer handles this via uv if you don't have it). First install pulls ~8 GB of models, 5–15 min. Optional: an Obsidian vault — without one, memo uses ~/Documents/memo/.
Docs
All 145 top-level CLI commands
Complete command inventory (kept here so CI detects CLI/documentation drift)
Core: save search ask get edit rename delete list
Recall & Hooks: recall recall-hook context briefing continuity prewarm capture-tick capture-stop interject ask-gaps guard digest
Session & History: history as-of diff record-history session chat-session resume reflect mine-history episodes chronicle
Maintenance: reindex maintain review dream consolidate synthesize dedupe cross-dedup retier contradict coordinate terminal invalidate temporal compress-context ops
Analysis & Quality: health stats doctor journey-check lint drift analytics eval roi tokens token-savings usefulness gaps outcome profile confidence graduation hype definitive evidence
Knowledge Graph: graph entities entity extract-entities links version related
Advanced Search: embed rerank contextual retrieve context-pack chat chat-ask repo
Import / Export / Sync: import export backup restore sync ingest federation
Visualization: tui dashboard map logs hook-log
Setup & Config: init setup config install-mcp install-watcher uninstall-watcher install-slash install-statusline install-recall-hook install-shell-wrapper install-shims startup-banner migrate migrate-vault migrate-independence update upgrade self-update watch release onboard
Daemons: daemons recall-daemon ingest-daemon maint-daemon embed-daemon idle-daemon
Other: backend-native collaborative events feedback query mandate drift sleep-cycle operational ocr-image provenance secret verbatim mcp-command codex-badge debug-recall http-api proxy mine-git token-gate fix undo code-facts code-nudge code-health
Contributing
Issues and PRs welcome — see CONTRIBUTING.md. If memo is useful to you, a ⭐ genuinely helps other people find it.
MIT licensed. Built on Apple MLX, sqlite-vec, and codegraph.
來源:README.md,提交 fa0dc9c
工具
0版本歷史
1- v4.16.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分