Turbo Quant Memory

io.github.Lexus2016由 GitHub 帳號 Lexus2016 發布v0.34.0更新於 Oct 30, 2026

Local-first memory and knowledge graph for coding agents. Compact retrieval, no network.

發布方自己的服務:Memory.fit

概覽

AI 產生的概覽

為編碼代理設計的本地優先記憶與知識圖譜:儲存分類專案筆記、索引 Markdown,並離線檢索精簡脈絡。

可以做什麼
  • 寫入並管理分類專案筆記(決策、經驗、模式、交接),提升或棄用筆記,並索引 Markdown 目錄
  • 以稠密向量加 BM25 的混合方式檢索記憶,視需要展開完整脈絡,列出近期筆記與作用域
  • 把筆記、檔案與議題串成知識圖譜,並查詢或移除這些關聯
  • 檢查知識庫中的失效連結、孤立項目與重複標題,並提供健康檢查、自我測試與伺服器資訊
  • 在本地保險庫中儲存、讀取、列出與刪除加密的專案密鑰
  • 協調同一工作樹中的多個代理:宣告與結束工作、查看工作區狀態、列出檔案版本並還原其中之一
適用情境
適合長時間編碼工作階段因脈絡壓縮而遺失細節、代理反覆重讀檔案並重複推導結論的情況。也適合希望把決策、經驗與交接記錄保存在本地並可檢索,或讓多個代理共用同一 git 工作樹的專案。
執行需求
以本地 stdio 程序執行,透過 uv tool install 安裝或經 uvx 從 PyPI 套件啟動。首次執行會從 Hugging Face 下載嵌入模型(約 0.22 GB),之後完全離線。選用環境變數可設定嵌入後端、BM25 詞幹語言、啟動時遷移,以及保險庫口令 TQMEMORY_SECRETS_PASSPHRASE(否則使用作業系統鑰匙圈)。
安裝前請注意
密鑰保險庫保存憑證,主密鑰來自 TQMEMORY_SECRETS_PASSPHRASE 或作業系統鑰匙圈,需妥善保護該口令。相關工具會寫入筆記、索引目錄、建立實體連結、刪除密鑰,並以舊版本覆寫現有檔案。檔案日誌只是部分保護:它不阻止寫入,兩個代理仍可能互相覆寫,版本約保留 14 天。只有呼叫此伺服器的代理才會被它看見。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Turbo Quant Memory,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Turbo Quant Memory]

Local-first memory and knowledge graph for AI coding agents

Your agent stops re-reading files and re-deriving the same conclusions.
Your notes, code and secrets never leave your machine.

[PyPI] [License: MIT] [MCP Registry] [Python 3.11+] [CI] [MCP tools] [Local-first]


Demo

[30-second demo of Turbo Quant Memory]
Watch the 30-second demo

The problem

A long session accumulates hard-won detail about why the code is the way it is. Then the context compacts and it is gone. Next session the agent re-reads the same files, re-derives the same conclusions, and bills you for the same tokens again.

CLAUDE.md does not scale past a few dozen lines, and it cannot answer "what did we decide about X, and why?".

Turbo Quant Memory is an MCP server that gives the agent a persistent, searchable store it writes to while it works — decisions, lessons, patterns, session handoffs — plus a compact index of your Markdown. Retrieval returns ~220-character result cards rather than whole documents; the agent loads full content only when a card is not enough.

Why this one

Turbo Quant Memorymem0 / OpenMemoryMCP memory server
Where your data livesyour disk, alwaysvendor cloud or self-hostyour disk
Your data leaves the hostneveryes, unless self-hostednever
Retrievalhybrid BM25 + dense vector, RRF-fuseddense vectorexact graph lookup
What a search returnscompact cards, hydrate on demandfull memoriesfull nodes
Knowledge graphyes — with lifecycle + lintingnoyes
Non-English contentCyrillic exact-match out of the boxvariesn/a
Measures its own savingsyes — server_info()nono
Pricefree, MITpaid tiersfree

No HTTP client, no telemetry, no phone-home. Verify it yourself — this returns nothing:

bash
grep -rnE '^[[:space:]]*(import|from)[[:space:]]+(requests|httpx|aiohttp|urllib3)\b' src/

To be precise about the one exception: on first run fastembed downloads the embedding model (~0.22 GB) from Hugging Face. After that the server runs fully offline. Your notes, code and secrets are never transmitted anywhere — there is nothing in the package that could send them.

Install

Let your agent install it

Paste this into Claude Code, Codex, Gemini CLI, Cursor or Antigravity:

Install and configure the Turbo Quant Memory MCP server for this workspace from https://github.com/Lexus2016/turbo_quant_memory — follow the README, register the tqmemory server, run turbo-memory-mcp skill install, run the health check, and index this project.

skill install copies an operating manual into every agent skill directory on the machine, so every future session already knows how to use the memory without being told.

Or install it yourself

bash
uv tool install turbo-quant-memory

Upgrading from 0.27.x or earlier? The distribution was renamed in 0.28.0, so uv tool upgrade turbo-memory-mcp no longer resolves — run uv tool install --force turbo-quant-memory once, and uv tool upgrade turbo-quant-memory afterwards. The turbo-memory-mcp command itself is unchanged, so client configs keep working.

Then register the server with your client:

bash
claude mcp add --scope project tqmemory -- turbo-memory-mcp serve   # Claude Codecodex  mcp add tqmemory -- turbo-memory-mcp serve                   # Codexgemini mcp add tqmemory turbo-memory-mcp serve                      # Gemini CLI

Cursor, OpenCode, Antigravity and other clients → CLIENT_INTEGRATIONS.md. Hermes runs MCP through a systemd gateway → docs/hermes.md.

📈 It measures its own savings — see for yourself

Turbo Quant Memory doesn't just claim to save tokens — every install keeps a running tally you can read anytime with server_info() (field usage_stats.headline). The savings are yours to verify, not ours to promise.

Live snapshot from a real developer instance (v0.28.2):

What the memory didNumber
🔢 Input tokens saved (cumulative)≈ 2,640,000 and counting
🔁 Retrievals served2,280 searches + 280 deep hydrations
📉 Average saved per retrieval≈ 1,200 tokens
📚 Knowledge under management237 active notes + 763 indexed code blocks
🛡️ Integrity0 corrupted records · 0 pending migrations

These are one machine's cumulative numbers, not a synthetic benchmark — your own counter starts at zero and grows as your agent works. Run server_info() on your install to see your real figure.

What it does

  • Typed notes. decision, lesson, pattern, handoff — each stored with tags, provenance and a knowledge-graph link to the file or issue it is about.
  • Tiered memory. durable (decisions, patterns) and reference (indexed docs) are searched by default; episodic (session handoffs) stays out of the way until you ask for it, so yesterday's noise never buries an architectural decision.
  • Hybrid retrieval. A dense vector lane leads; a BM25 lane rescues exact terms — function names, file paths, IDs — fused with Reciprocal Rank Fusion. Cyrillic and other non-English terms match exactly, case- and accent-insensitive, with no configuration.
  • Knowledge graph. Directed, timestamped relations between notes, files and issues. Search results carry the linked context inline, so the agent does not need a second lookup.
  • Human notes outrank agent notes. Anything you explicitly asked to remember is flagged human-explicit and ranks above the agent's own observations at equal relevance.
  • Encrypted secrets vault. Project-scoped, AES-256-GCM, structurally unreachable from search. → docs/secrets-vault.md
  • Runs on a small machine. The default embedder is ONNX via fastembed — no PyTorch, ~0.22 GB model, comfortable on 2 GB of RAM.
  • Several agents, one project — automatically. Agents working in the same git working tree see each other's sessions, announced work and recent file changes; while two or more of them share the tree, changes to text files are recorded so they can be restored. No setup.

Full technical detail → docs/features.md

Several agents in one project

If you run more than one agent in the same working tree, tqmemory connects them automatically. There is nothing to configure.

  • Agents see each other. workspace_status lists the active sessions, what each one announced it is working on (announce_work, finish_work) and which files changed recently. A session that made no tqmemory call for 30 minutes is listed under idle_sessions instead: it is not an active peer and its announced areas are left out of overlaps. Other tqmemory responses carry a short workspace note only when something new has happened, and never for a lone session. health and server_info always include a workspace diagnostics block.
  • Changes are recorded. While two or more sessions share a git working tree, the watcher records new versions of text files it sees change (up to 1 MiB each, skipping anything matched by .gitignore or .tqmemoryignore). Several quick writes in a row can be merged into one version. file_history lists the versions and restore_file brings one back; the restore is itself undoable. The same is available from a terminal: turbo-memory-mcp files log and turbo-memory-mcp files restore.
  • Limits. Versions are recorded only while two or more sessions share a git working tree. The journal never runs outside a git working tree, in your home directory or at a filesystem root. Defaults: 1 MiB per file, a 256 MiB per-project size target and 14 days of retention. Recorded versions stay recoverable for 14 days; past that, or when the project is over its size target, the oldest are removed. The newest version of each file changed in the last 24 hours is never dropped for size. These defaults are set by TQMEMORY_JOURNAL_MAX_FILE_BYTES, TQMEMORY_JOURNAL_MAX_BYTES and TQMEMORY_JOURNAL_RETENTION_DAYS; the size limit is a target, not a hard maximum.

This is partial protection, not a guarantee that every change is saved. It does not block writes: two agents can still overwrite each other's work, and tqmemory can only show it and help you recover. Agents that never call tqmemory see nothing. It works on one computer only. To turn it off, set TQMEMORY_WORKSPACE_DISABLE=1.

The 24 MCP tools

GroupTools
Writeremember_note · deprecate_note · promote_note · index_paths
Readsemantic_search · hydrate · recent_context · list_scopes
Graphlink_entities · unlink_entities · get_related_entities
Hygienelint_knowledge_base · health · self_test · server_info
Vaultset_secret · get_secret · list_secrets · delete_secret
Workspaceannounce_work · finish_work · workspace_status · file_history · restore_file

Documentation

MEMORY_STRATEGY.mdHow to actually use the memory day to day
CLIENT_INTEGRATIONS.mdPer-client setup: Cursor, OpenCode, Antigravity, …
TECHNICAL_SPEC.mdArchitecture and storage format
docs/features.mdRetrieval, graph, tiers, embedder, FTS language
docs/secrets-vault.mdVault setup, threat model, FAQ
docs/hermes.mdHermes gateway setup and troubleshooting
CHANGELOG.mdRelease history

License

MIT. Copy it, modify it, fork it, ship it inside a closed-source product, sell it. Attribution is the only condition.

Languages

🇺🇸 English · 🇺🇦 Українська · 🇷🇺 Русский

來源:README.md,提交 448b451

工具

24

health

無需輸入參數。

server_info

無需輸入參數。

list_scopes

無需輸入參數。

self_test

無需輸入參數。

remember_note

Store a typed project note. kind must be exactly one of: lesson, decision, pattern, handoff. tags: 2-3 lowercase tags are strongly recommended — tags are the only way to FILTER notes; an untagged note is reachable by semantic_search alone. source_refs: the files / notes / issues this note is about. Pass them as entity URIs (note://<id>, file://<relative/path>, issue://KEY, https://...) and they are auto-linked into the knowledge graph as `references` relations, so get_related_entities can later surface them. provenance: who originated the note. Use "human-explicit" when the USER asked to remember something ("remember this", "save that"); "agent" for your own observations (the default); "external-tool" for API/tool data; "system" for automatic processes. tier: normally derived from `kind` (handoff -> episodic, every other kind -> durable). Override e.g. tier="durable" to keep a `handoff` in the default-searchable set, or tier="episodic" to keep a noisy lesson out of regular search. After storing, connect the note with link_entities(source_uri="note://<id>", ...) when it relates to a file, issue, or prior note — the response echoes the note's uri and hints this when the note still has no relations.

輸入參數kind必填tagstierscopetitle必填content必填provenancesource_refs

promote_note

輸入參數note_id必填

deprecate_note

輸入參數scopereasonnote_id必填replacement_scopereplacement_note_id

hydrate

輸入參數modescope必填item_id必填

index_paths

Register and index Markdown directories into project memory. Supports .tqmemoryignore files (placed in project root or any indexed directory) with glob patterns to exclude paths from indexing. One pattern per line, # for comments. Example patterns: ``workspace-*`` skips any directory matching the glob; ``data/reports/*.md`` skips files matching a path pattern; ``backups/`` (trailing slash, as in .gitignore) skips a directory. Agent worktrees under ``.claude/worktrees`` are skipped by default.

輸入參數modepaths

lint_knowledge_base

輸入參數pathsmax_issues

set_secret

Store an encrypted secret in the active project's vault. The value is encrypted with AES-256-GCM under a per-project master key resolved from TQMEMORY_SECRETS_PASSPHRASE or the OS keyring. Secrets are NEVER indexed, embedded, or returned via ``semantic_search`` / ``hydrate``. They live in ``~/.turbo-quant-memory/projects/<project_id>/secrets/vault.tqv`` and stay on this machine.

輸入參數name必填value必填

get_secret

Fetch a project secret by exact name. Returns the value in a dedicated ``secret_value`` field (never in descriptive text). Status is ``"ok"`` on hit, ``"missing"`` when no such name exists, or ``"error"`` with ``setup_hint`` when no master key is configured yet.

輸入參數name必填

list_secrets

List secret names in the active project. Never returns values.

無需輸入參數。

delete_secret

Delete a project secret by exact name.

輸入參數name必填

recent_context

Query-free session bootstrap: the most recently updated notes. Call this FIRST when starting a new session or resuming after a context compaction, when you do not yet know what to search for. Returns notes ordered by recency (newest first), NOT by relevance — including `handoff` notes (episodic tier), which a plain semantic_search hides by default. This is the reliable "where did I leave off" entry point. scope: 'project' (default), 'global', or 'hybrid'. Use 'hybrid' to also surface promoted cross-project knowledge. tier_filter: defaults to all tiers (so handoffs are included). Pass e.g. ["durable"] to exclude episodic session notes. format: 'json' (default); 'text' — compact plain text, one line per note with its hydrate handle (about 20% of the JSON size); 'hook' — the same text as Claude Code SessionStart hook output. Use 'hook' from a SessionStart mcp_tool hook: Claude Code shows the model only an mcp_tool hook's JSON additionalContext, never its plain text.

輸入參數limitscopeformattier_filter

announce_work

Tell the other agents in this working tree what you are changing. feature: short name of the work. areas: workspace-relative files or directories (globs allowed). Returns the peers whose announced areas overlap yours and recent changes inside them. Inferred writers are guesses from announced areas, never facts.

輸入參數areasdetailsfeature必填

finish_work

Clear the work this session announced with announce_work.

無需輸入參數。

workspace_status

Overview of the sessions sharing this working tree: peers, overlaps and recent file changes. Call it at session start. Inferred writers are guesses from announced areas, never facts. Peers that made no tqmemory call for a long time are listed under `idle_sessions`, not in `sessions`, and their announced areas are left out of `overlaps`.

無需輸入參數。

file_history

Journaled versions of one file in this working tree, newest first. Versions are snapshots taken while several sessions share the tree. Use restore_file with a version id to bring one back; the overwritten content is kept as a new version.

輸入參數path必填limit

restore_file

Write a journaled version of one file back into the working tree. version: a version id from file_history, or "HEAD" for the committed content. The content being overwritten is kept as a new version, so the restore can be undone.

輸入參數path必填version必填

版本歷史

10
  1. v0.34.0最新Oct 21, 2026
  2. v0.33.1Oct 21, 2026
  3. v0.33.0Oct 19, 2026
  4. v0.32.0Oct 17, 2026
  5. v0.31.1Oct 17, 2026
  6. v0.31.0Oct 17, 2026
  7. v0.30.0Oct 4, 2026
  8. v0.29.1Sep 20, 2026
  9. v0.28.3Sep 16, 2026
  10. v0.28.1Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Memory 整合