Total Agent Memory

io.github.vbcherepanov由 GitHub 账号 vbcherepanov 发布v14.10.0更新于 Oct 30, 2026

Persistent local memory for coding agents: temporal knowledge graph, procedural and episodic recall

发布方自己的服务:Memory.fit

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

面向编程代理的本地持久记忆服务器:把决策、方案、事实与经验存入 SQLite,并跨会话、跨项目检索。

可以做什么
  • 保存、更新、版本化与删除决策、方案、经验、事实、约定等知识记录,支持标签、类型化关联与历史版本。
  • 通过混合检索、时间线、会话历史、知识图谱邻域、概念、情节与技能来回忆和浏览记忆。
  • 生成带引用的回答、为查询构建上下文,并输出按项目的 wiki 摘要与活动报告。
  • 维护记忆:合并重复记录、执行保留与遗忘策略、导出为 JSON,以及建立段落或 CLAUDE.md 规则索引。
  • 支持代理自我改进:记录错误、写下反思、管理洞察与行为规则,并查看改进统计。
适用场景
适合每天使用编程代理、希望此前的决策、修复与约定能跨会话延续而不必重复解释的开发者。也适合需要本地、可检查的记忆基线来做检索实验的人。
运行要求
以本地 stdio 进程运行,需要 Python 3.11 或更高版本,可通过 pip、pipx、uvx 从 PyPI 安装,或使用 Docker。记忆存放在一个目录中,默认位于用户主目录下,可用 TAM_MEMORY_DIR 更改。首次运行会下载本地嵌入模型(完整套件约 940 MB);默认不需要 API 密钥。
安装前请注意
它会把项目知识、会话记录和代理操作日志写入磁盘,因此不要保存密钥或临时状态。使用 hard=true 删除会永久抹除记录及其在原始调用日志中的文本。可选的 LLM 回答与重排会把内容发送给所配置的模型提供方,团队服务器版本还会增加带角色与审计的共享网关。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Total Agent Memory,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[total-agent-memory]

Persistent, local memory for AI coding agents: Claude Code, Codex CLI, Cursor and any MCP client.

Website and documentation: totalmemory.dev · Quick start · Claude Code guide · Benchmarks · Compare with other tools

[Version] [PyPI] [npm] [Docker GHCR] [MCP] [License]

total-agent-memory (TAM) is an open-source memory server for AI coding agents. Coding agents start every session without memory of earlier ones, so decisions, fixes and project conventions have to be explained again. TAM stores decisions, solutions, facts, errors and session summaries on your machine and returns them through the Model Context Protocol (MCP), so any MCP client can use it without code changes.

Each store is one directory built around a SQLite database. Recall combines full-text BM25, dense embeddings computed locally, fuzzy matching and a knowledge graph, and fuses the ranked lists with reciprocal rank fusion. A local cross-encoder then reranks the result: by default it starts as soon as its model has loaded in the background, and MEMORY_CROSS_RERANK=off turns it off. The default profile makes no LLM call on write or search, so retrieval can be measured offline. With the cross-encoder off, reruns on fresh stores returned the same ranking for every LoCoMo question. With the default setting the first queries of a process can run before the model has loaded, so reruns are not guaranteed to match. Facts can carry validity intervals (kg_add_fact, kg_at), and a newer value of a single-valued fact can retire the older one.

TAM is for developers who use coding agents daily and for researchers who need a memory baseline they can run locally, inspect and change. The same package can also run as a team server: personal, department and company areas are separate stores behind one gateway, with roles, authorship and an audit trail (team server).

Installation

TAM needs Python 3.11 or newer. CI tests Python 3.11, 3.12 and 3.13 on Ubuntu, Windows and macOS.

From PyPI (use a virtual environment, or pipx / uvx):

bash
pip install total-agent-memory          # or: pipx install total-agent-memoryuvx total-agent-memory                  # run once without installing

This installs the total-agent-memory (alias tam) MCP server and the tam-team, tam-remote and lookup-memory commands. The default cross-encoder runs on ONNX through fastembed and needs no extra. A separate sentence-transformers reranker pulls in PyTorch and is an extra: pip install "total-agent-memory[rerank]". The PostgreSQL backend of the team server is the [postgres] extra.

Register it with your clients. Run tam setup at a terminal. The wizard asks "Just me" or "Company server", detects Claude Code, Claude Desktop, Codex, Cursor, Windsurf, Gemini CLI, Cline and OpenCode, and registers the server with the ones you pick (setup wizard).

Other channels:

ChannelCommand
Docker (linux/amd64, linux/arm64)docker run -p 127.0.0.1:3737:3737 -p 127.0.0.1:37737:37737 -v ~/.tam:/data ghcr.io/vbcherepanov/total-agent-memory:14.10.0 — MCP over HTTP on :3737/mcp, dashboard on :37737; both need the token in ~/.tam/state/http-token (Authorization: Bearer, dashboard: open /login#token=..., the token stays in the URL fragment and is exchanged for an opaque session cookie)
npx connectornpx -y total-agent-memory connect claude-code (or codex, cursor, cline, continue, aider, windsurf, gemini-cli, opencode)
Claude Code plugin (server, skill and capture hooks)/plugin marketplace add vbcherepanov/total-agent-memory
/plugin install total-agent-memory@vbcherepanov
Plugin for Claude Code and Cowork, from the plugin repository (server and skill, no hooks; needs uv)/plugin marketplace add vbcherepanov/total-agent-memory-plugin
/plugin install total-agent-memory@vbcherepanov
The same plugin for Codex CLIcodex plugin marketplace add vbcherepanov/total-agent-memory-plugin
codex plugin add total-agent-memory@vbcherepanov
Source checkout with IDE hooks and background servicesgit clone https://github.com/vbcherepanov/total-agent-memory.git && cd total-agent-memory && ./install.sh --ide claude-code (Windows: install.ps1 -Ide claude-code)

Use one of the two Claude Code plugins, not both. Per-platform details, WSL2, the IDE matrix, uninstalling and troubleshooting are in the installation guide.

Quick start

  1. Install the package and run tam setup, or add the server to your client by hand. For Claude Code:

    bash
    claude mcp add memory -- total-agent-memory

    For clients that use an mcpServers file:

    json
    { "mcpServers": { "memory": { "command": "total-agent-memory" } } }

    If you installed into a virtual environment, use the full path to its total-agent-memory executable.

  2. Restart the client. Memory is stored in ~/.tam/ unless TAM_MEMORY_DIR points elsewhere.

  3. Ask the agent to remember something ("remember that we chose PostgreSQL for billing because of row-level security"). It calls memory_save. In a later session, ask "which database did we choose for billing?"; it calls memory_recall and gets the record back.

To try the server without an agent, this script starts it over stdio with the MCP Python SDK (installed as a dependency), saves one record and recalls it. The SDK passes only a few variables to the server by default, so the script hands over the full environment, including TAM_MEMORY_DIR:

python
import asyncioimport os
from mcp import ClientSession, StdioServerParametersfrom mcp.client.stdio import stdio_client

async def main() -> None:    server = StdioServerParameters(command="total-agent-memory", env=dict(os.environ))    async with stdio_client(server) as (read, write):        async with ClientSession(read, write) as session:            await session.initialize()            await session.call_tool("memory_save", {                "type": "decision",                "content": "Chose PostgreSQL over MySQL for the billing service",                "context": "WHY: row-level security per tenant",                "project": "demo",            })            result = await session.call_tool("memory_recall", {                "query": "which database for billing", "project": "demo", "limit": 3,            })            print(result.content[0].text)

asyncio.run(main())
bash
TAM_MEMORY_DIR="$(mktemp -d)" python quickstart.py

The first run downloads the default embedding model. The output is JSON with the saved decision under results.decision. More examples: tools and interfaces.

Running the tests

The tests run from a source checkout. These commands mirror the CI workflows in .github/workflows:

bash
git clone https://github.com/vbcherepanov/total-agent-memory.gitcd total-agent-memorypython3 -m venv .venv.venv/bin/pip install -e . -r requirements-dev.txt
export FASTEMBED_CACHE_PATH="$PWD/.tam-models" TAM_MEMORY_DIR="$PWD/.tam-test-memory".venv/bin/python tests/smoke/prewarm_models.py   # downloads the text and code embedding models and the cross-encoder (~940 MB) once.venv/bin/python -m pytest tests -q

The tests need no API keys and no LLM; the full suite takes 15 to 20 minutes on a laptop. Do not set MEMORY_LLM_ENABLED=false for the full suite: the configuration tests check LLM auto-detection. Tests that need services you do not have are skipped:

  • PostgreSQL (team server backend): install the extra with .venv/bin/pip install -e ".[postgres]", then run .venv/bin/python -m pytest tests -m postgres --backend=postgres or --backend=both. Without TAM_TEST_PG_URL the fixtures start a pgvector container through Docker. See CONTRIBUTING.md and .github/workflows/postgres.yml.
  • Browser tests (tests/browser, Playwright with Chromium, Firefox and WebKit) run in the image built from docker/Dockerfile.browser; see the browser job in .github/workflows/smoke.yml.
  • Installed-package smoke test: python tests/smoke/installed_runtime.py checks an installed wheel over local and remote MCP.

Reproducing the benchmarks

The retrieval benchmarks (LoCoMo, LongMemEval, BEAM) need no API key and run with scripts in benchmarks/ once the public datasets are downloaded. The table below was measured on v13.0.0, before the cross-encoder became the default in 14.5, so it describes retrieval without the cross-encoder and not a default install of the current version:

BenchmarkMetricResult
LongMemEval (470 questions)R@5 (recall_any)95.1%
LoCoMo (1,536 questions)R@50.607
BEAM, 1M-token scale (625 probes)R@50.448

Default settings score higher on LoCoMo and take much longer per query. In the JOSS review of v14.6.0 the editor measured R@5 of about 0.745 at about 495 ms median with the defaults, against 0.607 at about 18 ms with MEMORY_CROSS_RERANK=off. Our own reruns with the cross-encoder off gave R@5 0.610 on v14.6.0 and 0.609 on v14.10.0 (rows and reports). A full measurement of the default configuration is planned for the next release.

Dataset locations, commands, end-to-end (LLM-judged) accuracy, negative controls, latency and the 14.x studies are in docs/benchmarks.md.

Documentation

Citation

A paper describing TAM is under review at the Journal of Open Source Software (paper/paper.md). Until it is published, please cite the software and the preprint:

Cherepanov, V. total-agent-memory (version 14.10.0) [software]. https://github.com/vbcherepanov/total-agent-memory

Preprint: doi:10.5281/zenodo.23011523

Citation metadata for the software is in CITATION.cff.

Contributing

Issues, pull requests and benchmark reproductions are welcome. See CONTRIBUTING.md for the development setup, the rules for a pull request and the commit convention. Report security issues privately as described in SECURITY.md. Donations to support development: PayPal.

License

MIT. See LICENSE. Third-party licenses are listed in THIRD-PARTY-LICENSES.md.

来源:README.md,提交 78ce3e1

工具

79

memory_recall

Search ALL memory: decisions, solutions, facts, lessons from ALL past sessions. 6-stage pipeline: FTS5+BM25 → semantic → fuzzy → graph → (optional) CrossEncoder → (optional) MMR. Default: hybrid mode (BM25 + semantic + RRF). Use BEFORE starting any task. v11.0: routes to fast hot path when MEMORY_MODE=fast (default). Use memory_search_fast / memory_explain_search for explicit fast routing.

输入参数modetypeas_oflimitquery必填branchdetailfusionintentreranktopicsdiverse另有 10 个

memory_timeline

Browse session history. sessions_ago=N for 'N sessions ago', session_number=1 for first session, date_from/date_to for date ranges.

输入参数limitquerydate_toprojectdate_fromsessions_agosession_number

memory_index_passages

Build local passage indexes before evidence searches. Repeat using next_after_id until remaining=0.

输入参数limitproject必填after_id

memory_answer

Generate and verify a cited answer using the configured reasoning LLM. Evidence carries recording dates; when records about the same subject disagree, the latest one gives the current value and the answer names the value it replaced. First runs negative retrieval: a contradiction-seeking second search; a score >= 0.60 hands both sides to the reader and answers with a caveat (MEMORY_CONTRADICTION_POLICY=abstain refuses instead), 0.30-0.60 answers with a caveat (see `negative`); MEMORY_CONTRADICTION_SCORER=jev scores the pairs with TypeSafe's Jev instead of the LLM. Up to one missing-relation retrieval and eight LLM calls including inversion retry and bounded quote repair. Explicit project required. Citation offsets refer to returned evidence content. Ordinary recall remains local.

输入参数typelimitquery必填branchproject必填followupmax_bytes

memory_save

Save knowledge explicitly. Types: decision (MUST include WHY in context), solution, lesson, fact, convention. Saving the same words again (case and punctuation aside) replaces the stored record, so it carries the latest date; any other text, including a changed value, is stored as a new record. v10: a quality gate scores the record before save; below-threshold records are rejected with a `rejected_by_quality_gate: true` response (override with MEMORY_QUALITY_GATE_ENABLED=false). Use `importance` to surface critical decisions at recall time (boosts the final RRF score). v11.0: routes to fast hot path when MEMORY_MODE=fast (default). Use memory_save_fast for explicit fast routing.

输入参数tagstype必填corefbranchfiltercontent必填contextprojectagent_idsupersedeimportancesource_format另有 1 个

memory_update

Update existing knowledge. Replaces the record `id`, or the best match for `find` (within `project` when given): supersedes it and creates a new version.

输入参数idfindreasonprojectnew_content必填

memory_stats

Memory statistics with health metrics: sessions, knowledge by type/project, retention zones (active/archived/consolidated), stale records, storage size, config, write path (embedding backfill queue, outbox intents, swallowed errors by component over 24h, importance budget clamps).

无需输入参数。

memory_consolidate

Find and merge duplicate/similar knowledge records. Keeps the longest version, supersedes shorter duplicates. Reduces noise in recall results.

输入参数dry_runprojectthreshold

memory_export

Export all knowledge as JSON for backup or migration. Includes knowledge, sessions, relations and the agent action log.

输入参数projectsave_to_file

memory_forget

Apply retention policy: archive stale records (>180d, never recalled, low confidence), purge very old archived records (>365d), prune the agent action log past TAM_ACTION_LOG_RETENTION_DAYS. Keeps memory clean.

输入参数dry_run

memory_wiki_generate

v10 — Render the per-project wiki digest (top decisions, active solutions, conventions, recent changes) as Markdown. Pass `project` to refresh one wiki, omit it to refresh all active projects. Files land in <MEMORY_DIR>/wikis/<project>.md and are deterministic (no LLM call).

输入参数project

memory_report

Activity report for a project (or all projects) over a period: today (period=day), this week (week, ISO Monday-Sunday), this month (month), all time (all) or custom since/until dates; offset=-1 gives the previous day/week/month ('last week'). Sections: summary numbers with deltas against the previous equal period, key decisions with their WHY, solutions and fixes, errors with recurring patterns and lessons, open next steps and pitfalls from session summaries, most touched files, entities/technologies, and a day-by-day timeline. Every item carries source IDs (#id -> memory_get). Built deterministically from stored records, no LLM; include_llm_summary=true adds an optional paragraph from the configured LLM. Periods use the local timezone (or tz). save=true writes the Markdown to <memory dir>/reports/<project>/<period>-<date>.md. Use it when the user asks what happened, for a status/progress report, a weekly summary or a retrospective.

输入参数tzsavelimitsinceuntilformatoffsetperiodprojectinclude_llm_summary

memory_get

Batched fetch by ID — complement to memory_recall(mode='index'). Returns full content for ONLY the IDs the caller chose after inspecting an index. Typical 3-layer flow: recall(mode='index') → pick IDs → memory_get(ids=[...]).

输入参数ids必填detail

memory_history

View version history for a knowledge record. Shows the chain of superseded versions (newest → oldest), enabling time-travel through knowledge evolution.

输入参数id必填

memory_delete

Delete a knowledge record. By default a soft delete: the record leaves search results and vectors but stays in the database. hard=true erases it for good, with its earlier versions, derived rows and its text in the raw call log (use for personal data or anything that must not be kept).

输入参数id必填hard

memory_relate

Create a typed relation between two knowledge records. Enriches graph expansion in Tier 4 search. Types: causal, solution, context, related, contradicts.

输入参数type必填to_id必填from_id必填

memory_search_by_tag

Search knowledge by tag. Returns all active records with matching tag (partial match). Useful for categorical browsing.

输入参数tag必填project

memory_extract_session

Get pending session transcripts for knowledge extraction. Previous sessions are auto-captured on exit. Use action='list' to see pending, 'get' to read transcript, then save knowledge via memory_save, then 'complete' to mark as processed.

输入参数chunkaction必填session_id

self_error_log

Log an error/failure for pattern analysis. Call AUTOMATICALLY when: bash command fails, wrong assumption discovered, API returns error, config issue found, loop detected, or any mistake occurs. System detects patterns (3+ same category) and suggests insights.

输入参数fixtagscontextprojectcategory必填severitydescription必填

self_insight

Manage insights from error patterns (ExpeL-style). Actions: add (create, importance=2), upvote (+1), downvote (-1, auto-archive at 0), edit, list, promote (to rule when importance>=5 AND confidence>=0.8). Call 'add' when pattern detected. Call 'upvote' when insight confirmed again.

输入参数idtagsaction必填contentcontextprojectcategorysource_error_ids

self_rules

Manage behavioral rules (SOUL). Rules are promoted insights that shape agent behavior. Actions: list, fire (record relevance), rate (success=true/false), suspend, activate, retire, add_manual, followed (surface_id from self_rules_context(query=...): was the rule followed?), report (follow-rate effectiveness with Wilson CIs, measurement only). success_rate = success / (success + fail). Auto-suspend: 5+ ratings and the 95% upper bound of success_rate < 0.4.

输入参数idnotetagsmin_nscopeaction必填contentprojectsuccesscategoryfollowedpriority另有 2 个

self_patterns

Analyze error patterns and self-improvement stats. Views: error_patterns (frequency, repeating 3+), insight_candidates (ready for promotion), rule_effectiveness (success rates, stale rules), improvement_trend (weekly errors), full_report (all). Call periodically to track improvement.

输入参数daysviewproject

self_reflect

Save a verbal self-reflection (Reflexion pattern). Call after completing a task or encountering difficulty. NOT for errors (use self_error_log). For meta-observations about strategy, approach effectiveness, process improvements.

输入参数tagsoutcomeprojectreflection必填task_summary必填

self_rules_context

Get active behavioral rules for current session. Call at SESSION START to load rules. Returns rules filtered by project and scope. v8.0: pass `phase` to lazy-load rules relevant to current task phase — core rules (no phase tag) + rules tagged phase:<X>. Cuts prompt tokens ~70%. After task completion, rate rules: self_rules(action='rate', id=X, success=true/false).

输入参数phasequeryprojectcategoriessession_id

rule_set_phase

Attach or remove a phase scope on a rule (v8.0 lazy rule loading). Tag-based: manages 'phase:<X>' on the rule's tags. phase=null clears the phase tag (rule becomes core — applies to every phase). Valid phases: van, plan, creative, build, reflect, archive.

输入参数phaserule_id必填

memory_observe

Save a lightweight observation (auto-capture). No dedup, no ChromaDB — fast and cheap. Use for tracking file changes, tool usage, and session activity. Observations auto-cleanup after 30 days.

输入参数projectsummary必填tool_name必填files_affectedobservation_type

memory_associate

Associative recall — brain-like spreading activation through knowledge graph. Finds memories through concept resonance, not keyword search. In 'composition' mode, finds minimum set of memories covering all needed concepts.

输入参数modequery必填projectmax_resultsmin_coverage

memory_graph

Query the unified knowledge graph. Returns neighborhood of a node: connected rules, skills, memories, concepts, entities.

输入参数node必填depthtypes

memory_concepts

List or search concepts in the knowledge graph.

输入参数typelimitqueryinclude_memories

memory_episode_save

Save an episode — narrative of WHAT HAPPENED and HOW. Not just facts, but the journey: what was tried, what failed, what worked.

输入参数outcome必填projectconceptsnarrative必填key_insightimpact_scoreapproaches_triedfrustration_signals

memory_episode_recall

Find past episodes (experiences). Search by concepts, outcome, project, or impact.

输入参数limitqueryoutcomeprojectconceptsmin_impact

memory_skill_get

Find skills matching a trigger. Skills are learned procedures — HOW to do things.

输入参数nametriggerlist_all

memory_skill_update

Record skill usage or refine a skill. Updates success rate and metrics.

输入参数notessuccess必填skill_id必填new_stepsnew_anti_pattern

memory_self_assess

Self-assessment: how competent am I in given domains? Shows level, confidence, blind spots.

输入参数conceptsfull_report

memory_context_build

Build optimal context for a query. Combines: spreading activation + knowledge graph + episodes + skills + self-model. The 'brain thinking' tool.

输入参数query必填projectmax_tokens

memory_reflect_now

Run reflection (the 'sleep' process). Consolidates knowledge, finds patterns, generates skill proposals, updates self-model.

输入参数scope

memory_graph_index

Reindex CLAUDE.md rules and skills into the knowledge graph. Run after modifying CLAUDE.md or adding new skills.

输入参数target

memory_graph_stats

Knowledge graph statistics: nodes, edges, communities, top concepts, health metrics.

无需输入参数。

kg_add_fact

Record a temporal fact assertion (subject, predicate, object). Supersedes any prior assertion with same (s,p) and different object — full history is preserved. Use for evolving architectural decisions.

输入参数object必填contextprojectsubject必填predicate必填confidencevalid_frominvalidate_previous

kg_invalidate_fact

Close a currently-valid fact assertion. History is retained.

输入参数atobject必填reasonprojectsubject必填predicate必填

kg_at

Point-in-time query: return fact assertions valid at `timestamp` (ISO 8601). Omit timestamp for currently-valid facts.

输入参数limitobjectprojectsubjectpredicatetimestamp

kg_timeline

Full chronological history of assertions for a subject.

输入参数limitprojectsubject必填predicate

workflow_learn

Record a learned workflow (named sequence of steps) for future reuse.

输入参数name必填steps必填contextprojectdescriptiontrigger_pattern

workflow_predict

Predict outcome (success probability, avg duration) for a workflow by id OR by trigger keyword. Uses Laplace-smoothed success rate.

输入参数projecttriggerworkflow_id

workflow_track

Record a workflow execution outcome. Outcome ∈ {success|failure|partial|aborted}. Aggregates update automatically.

输入参数notesoutcome必填duration_msworkflow_id必填error_details

file_context

BEFORE editing a file, call this to surface past errors, lessons, and related rules for that file path. Returns risk_score ∈ [0, 1].

输入参数path必填limitproject

learn_error

Structured error capture: file, error, root_cause, fix, pattern. After N (default 3) errors share the same pattern, a prevention rule is auto-synthesized into the rules table.

输入参数fix必填file必填error必填pattern必填projectcategoryseverityroot_cause必填

session_init

At session start: return the most recent unconsumed end-of-session summary with highlights / pitfalls / next_steps.

输入参数projectmark_consumed

session_end

End-of-session capture: summary + highlights + pitfalls + next_steps so the next session can resume cleanly. Set auto_compress=true to have the LLM generate the missing summary/next_steps/pitfalls from stored session artifacts (or from an optional `transcript`).

输入参数projectsummarypitfallshighlightsnext_stepssession_id必填transcriptauto_compressopen_questions

ingest_codebase

Parse a file or directory into semantic AST chunks (functions, classes, methods) across 8 languages. Returns chunk count + sample.

输入参数path必填includesample_limit

analogize

Find past solutions/lessons from OTHER projects whose feature set overlaps with the given problem text (Jaccard similarity).

输入参数text必填limitmin_scoreonly_typesexclude_project

benchmark

Run the eval harness: recall_at_k, prevention_rate, latency percentiles. Loads scenarios from evals/scenarios/*.json by default.

输入参数scenarios_path

memory_save_fast

v11.0: same as memory_save but routes through the fast hot path (skip_quality=True, no LLM, no async-blocking). Use when you want to bypass the v10 quality gate without flipping the env flag.

输入参数tagstype必填branchfiltercontent必填contextprojectagent_idsupersedeimportancesource_formatparent_agent_id

memory_search_fast

v11.0: like memory_recall but with rerank=False, diverse=False forced. Deterministic fast path — zero LLM, FastEmbed-only.

输入参数typelimitquery必填branchdetailfusionprojectembedding_space

memory_warmup

v11.0: pre-load FastEmbed model and open the vector store, so the first save/search after process start doesn't pay model-load latency.

无需输入参数。

memory_perf_report

v11.0: dump in-process telemetry counters (search_total_ms, embed_ms, fts_ms, vector_ms, llm_calls, network_calls) plus persistent embedding_cache stats. Use to verify the fast hot path stays clean.

无需输入参数。

memory_rebuild_fts

v11.0: drop and rebuild the SQLite FTS5 virtual table from `knowledge` rows. Useful after migrations or content_type column changes that the FTS triggers didn't see. Returns {rebuilt: int}.

无需输入参数。

memory_rebuild_embeddings

v11.0: re-encode every record (or every record in a given embedding space) and update the binary + float32 vectors. Idempotent. Pass embedding_space='code' to refresh only code rows after switching the code embedder. Returns {rebuilt: int, skipped: int}.

输入参数limitprojectbatch_sizeembedding_space

memory_eval_locomo

v11.0 Phase 8: run the LongMemEval-style recall+prevention scenario suite (loaded from evals/scenarios/) against the live store. Forces MEMORY_MODE=fast by default. Returns {scenarios_total, scenarios_passed, recall_at_5, recall_at_10, latency_ms, mode, llm_calls_during_eval, network_calls_during_eval}.

输入参数modelimittop_kscenarios_path

memory_eval_recall

v11.0 Phase 8: generic recall benchmark on a dataset path or a small built-in fixture. Same payload shape as memory_eval_locomo.

输入参数modelimittop_kdataset_path

memory_eval_temporal

v11.0 Phase 8: temporal recall using temporal_kg + temporal_filter. Returns {status: 'not_implemented', ...} when modules are missing.

输入参数modelimit

memory_eval_entity_consistency

v11.0 Phase 8: verifies entity_dedup canonicalization is stable across repeated saves of variant tag spellings.

输入参数mode

memory_eval_contradictions

v11.0 Phase 8: runs contradiction_detector against a labelled fixture. Requires balanced/deep mode (LLM). Returns {status: 'not_implemented', ...} if module is unavailable.

输入参数modefixture_path

memory_eval_long_context

v11.0 Phase 8: large-context recall scenario. Saves N records and queries them at the tail. Reuses eval_harness scenarios tagged 'long_context' if present.

输入参数modetop_kn_records

classify_task

v8.0: classify task into L1-L4 complexity + suggested phases.

输入参数projectdescription必填

task_create

v8.0: start a task in `van` phase (auto-classifies level if missing).

输入参数leveltask_id必填description必填

phase_transition

v8.0: advance a task to the next phase.

输入参数notestask_id必填artifactsnew_phase必填

task_phases_list

v8.0: list all phases of a task in chronological order.

输入参数task_id必填

save_intent

Persist one user prompt into the `intents` table (same source as the UserPromptSubmit hook). Use when programmatically seeding intents — the hook covers normal interactive usage. Dedupes same prompt within 5 min per session.

输入参数prompt必填projectsession_id

list_intents

List recent user prompts from the intents table, newest first. Filter by project and/or session. Max 500 rows.

输入参数limitprojectsession_id

search_intents

Substring search over user prompts (LIKE). Returns newest match first. Useful for 'what did I ask about X' without mining transcripts.

输入参数limitquery必填project

save_decision

v8.0: save a structured architectural decision (options + criteria matrix + rationale + discarded). Adds `structured` tag and a JSON blob in context. Use for Creative-phase outputs; plain type=decision memory_save still works.

输入参数tagstitle必填options必填projectselected必填discardedrationale必填criteria_matrix必填

memory_recall_iterative

v11.0 W1-B: IRCoT-style iterative retrieval. Decomposes the query into sub-questions, retrieves per sub-question, and asks a planner LLM whether more retrieval is needed. Best for multi-hop questions. Returns unified evidence + provenance per iteration.

输入参数query必填projectllm_modelmax_itersk_per_iter

memory_temporal_query

v11.0 W1-C: deterministic temporal reasoning — Allen interval relations, duration arithmetic (days/weeks/months/years), and natural-language date normalization (en + ru). Pass op=relation|duration_between|normalize.

输入参数abop必填langa_endb_endanchorphrasea_startb_start

memory_entity_resolve

v11.0 W1-F: resolve a mention to its canonical entity within a project+type. Cross-session coreference via name/alias index + embedding cosine. Returns canonical_id, matched_via, and is_new flag. Pronouns return -1.

输入参数typemention必填projectthresholdcreate_if_missing

memory_consolidate_status

v11.0 W2-G: report the consolidation daemon state — per-project last-run, active locks, recent activity. Use to verify the idle-project worker is making progress without interfering with active work.

无需输入参数。

memory_exploration_record

Record the conclusion of a codebase exploration together with the SHA-256 of every file read to reach it. Call it after answering a structural question by reading files (how X is wired, where Y is decided). Paths are stored relative to `root` (default: the server's working directory); files outside root are refused. Up to 64 files of at most 32 MB each. Recording the same question again for the project replaces the earlier memo.

输入参数rootfiles必填project必填question必填conclusion必填

memory_exploration_recall

Before re-reading files to answer a codebase question, look up earlier exploration conclusions. Results are ranked by question similarity; each carries status 'fresh' (every source file is byte-identical to when the conclusion was recorded: reuse it) or 'stale' (changed_files / missing_files list what to re-read).

输入参数rootlimitproject必填question必填include_stale

版本历史

11
  1. v14.10.0最新Oct 29, 2026
  2. v14.9.0Oct 14, 2026
  3. v14.8.0Oct 8, 2026
  4. v14.7.0Sep 30, 2026
  5. v14.6.0Sep 28, 2026
  6. v14.5.1Sep 24, 2026
  7. v14.5.0Sep 23, 2026
  8. v14.3.1Sep 21, 2026
  9. v14.3.0Sep 21, 2026
  10. v14.1.0Sep 21, 2026
  11. v14.0.0Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Memory 集成