Skip to main content
Glama

inspeximus — 为 AI 智能体设计的长期记忆,始终保持正确

一个零依赖的 Python 文件实现智能体记忆,外加适用于 Claude Code 和 Cursor 的 MCP 服务器。 当事实被纠正时,inspeximus 会提供新值并阻止旧值重新出现—— 这是确定性的,无需大语言模型参与。

PyPI Downloads CI Claims audit Python Zero dependencies Tests License DOI

pip install inspeximus

关键的 30 秒

每个记忆库都能存储和检索。但没人回答的问题是,当存储的事实被证明是错误时会发生什么。

from inspeximus import Inspeximus

m = Inspeximus("memory.json")

m.remember("The staging database is db-3.internal", key="staging-db")
m.remember("The staging database is db-7.internal", key="staging-db")   # a correction

m.recall("which staging database")[0]["text"]
# 'The staging database is db-7.internal'          <- the correction wins, every time

m.revert("staging-db")                              # and it is reversible
m.recall("which staging database")[0]["text"]
# 'The staging database is db-3.internal'

没有嵌入漂移,没有“LLM 通常选择较新的那位”。旧值通过废弃,并且这个废弃操作是一个你可以审计、还原和证明的记录。


Related MCP server: NeverOnce

为什么需要另一个记忆库

因为我们衡量了其他库没有公布的一件事:纠正过的事实多久会再次出现。

每个系统都在其原生配置下运行,执行相同的任务,进行相同的 30 次试验:

系统

保持纠正

复活旧值

inspeximus

100%

0%

Graphiti 0.x (Neo4j + OpenAI)

86.7%

13.3%  95% CI [3.3, 26.7]

mem0 2.0.11 (OpenAI 原生)

53.3%

46.7%  95% CI [30.0, 63.3]

inspeximus,禁用防护

0%

对照组:这就是防护的作用

n = 30 每个系统。mem0 在 2.0.11 (2026-07) 测量;mem0 现已升级至 2.0.18,我们尚未 重新测试——版本已固定,而非将声明重新表述为当前状态。完整方法、 原始数组和可重新运行的测试工具: RAMR · echo_resistance_backends_result.json

正确理解 Graphiti 那一行——它的回声防御并未失效。 我们自己的原始输出记录 在回声运行前正确提取的 26 个纠正中,echo_attributable_flips: 0。 Graphiti 的双时态失效机制保持了每一个。上面的 13.3% 是四个回声前提取遗漏 ——纠正从未进入图谱——这与本表讨论的失效类型不同。 按机制而非标题陈述:在可归因于回声的复活上,Graphiti 得分为 0%,与我们相同, 通过在写入时记录取代链接实现。这才是这里的真正发现:将这些系统区分开来的 是链接是否被记录,而非谁记录它。

最后一行是重点。关闭我们的防护后,我们得分为零——所以这个数字是机制本身, 而不是基准测试对我们有利。


在 Claude Code 中使用(一行命令)

inspeximus install --ide claude     # also: cursor, windsurf, codex, cline

这连接了一个拥有 71 个工具和三个钩子的 MCP 服务器。从下一个会话开始,你的智能体将 知道上一个会话决定了什么——无需编辑 CLAUDE.md,无需重新解释:

  • SessionStart 注入仍然有效的决策

  • PostToolUse 捕获实际发生的情况,并按文件进行键控

  • PreToolUse 在操作执行之前显示与之相关的决策


你得到什么

将纠正作为一等操作。 remember(key=...) 会废弃该键的先前值。 revert(key) 可以恢复它。history(key) 显示变更链。全部确定、全部可审计。

可证明的擦除。 forget_subject() 硬删除所有可归因于某个主体的记忆—— 包括通过谱系继承而来的摘要——并留下一个已签名、无内容的墓碑,以便 后续审计能够区分有意删除被篡改

可检查而非仅存储的溯源。 check_sources() 重新读取每条记录的来源并返回 FRESH / DRIFTED / ORPHANED / UNCHECKABLE,以及四个故意分开的覆盖率数字—— 因为一个 98.3% 已填充但 0.01% 可重新获取的 source 字段是一个模式,而不是 保证。(这两个数字是我们的,来自我们自己的生产存储。)

当前状态适用性。 evaluate_applicability() 回答了一个不同于“这个记忆是否真实”的问题: *它能否在此地、此时驱动一个动作?*历史证据可能完全有效,但不再 被授权——分支已移动,策略已更改,租户不同,窗口已过期。 实现了供应商中立的 CML 契约;两个独立实现在其冻结的测试用例上达成一致。

多租户隔离。 for_tenant("acme") 在单个共享存储上提供一个限定范围的视图, 租户被绑定到签名消息中,因此记录无法在租户之间移动并仍然通过验证。

零依赖。 一个文件。语义回忆是可选的(embed=your_model);词汇后备方案 无需任何额外依赖。MCP 服务器、加密和框架适配器都是可选的附加功能。


兼容

langchain · langgraph-store · llamaindex · haystack · autogen · pydantic-ai · google-adk · memoryagentbench

13 个中的 10 个已通过当前上游版本验证,3 个记录为损坏——crewailanggraph-checkpointeropenai-agents,已明确指出而非静默地从列表中移除。这些 计数从 docs/integration_conformance.json 由声明审计读取, 因此这一行不会与运行器上次测量的结果产生偏差。

一个只提及成功的“兼容”列表是徽标墙。而这个列表会告诉你,在你基于某个适配器构建之前,它是否会失效。


如何测试的

2,600+ 个测试,以及一个突变门控,这是你信任它们的理由:175 个植入的缺陷,175 个被杀死,0 个幸存。一个通过的测试套件不是证据;而一个能捕获每个故意破坏的套件才是。

此页面上的每个数字都在 docs/CLAIMS.md 中注册,并附有重新计算它的 确切命令。如果某个数字与你运行的结果不一致,那就是我们想要的错误报告。


文档

项目网站 →

导览:基准测试、MCP 表面、治理故事

与 mem0 和 Graphiti 的对比测量

完整的复活表,包含对照组和诚实的范围

Claude Code 设置

一行命令的 MCP 安装,以及三个钩子各自的作用

详细版本

每个机制、每个测量以及那些失败的

完整 API

每个方法,及它旨在防止的失败

擦除与 GDPR

跨衍生摘要的被遗忘权,包含收据

欧盟 AI 法案证据

第 12 条日志记录,映射到存储已保留的内容

MCP 工具

全部 68 个,以及每个的用途

声明账簿

每个已发布的数字,以及重新计算它的命令

变更日志

更改了什么及原因,包括我们犯的错误


适用人群

你正在构建一个运行数周而非数分钟的智能体。它会学到一些东西,然后这个东西 会发生改变——一个配置值、一个策略、一个人的偏好、一个事实。最让你付出代价的 失败不是智能体遗忘,而是智能体自信地记住旧的答案

这就是这个库围绕构建的失败,也是我们唯一用来为自己进行基准测试的失败。


引用

已存档于 Zenodo,具有独立于版本的 DOI:10.5281/zenodo.21708778。 机器可读元数据位于 CITATION.cff,因此 GitHub 的“引用此存储库”按钮 可直接提供 BibTeX 和 APA 格式。


MIT 许可。由 Agora 构建,这是一个自主研究 组织,会将其失败的复现与其成功的复现一起发布。

mcp-name: io.github.DanceNitra/inspeximus

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
38dResponse time
0dRelease cycle
7Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Persistent, correctable AI memory with zero dependencies. Corrections always surface first and never decay. SQLite-backed, 400 lines of pure Python, MCP server included.
    7
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Two-layer memory for AI agents. Episodes compress into identity. The only MCP memory server with an immune system. Patterns earn permanence through evidence, false knowledge gets caught and demoted, and stale information fades — so your agent's memory gets smarter over time, not just bigger. Zero dependencies. 5 tools. Works with any MCP client.
    16
    10
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Open-source MCP memory server for AI agents — persistent, searchable, tiered memory across sessions. Works over stdio (Cursor, Claude Desktop) or HTTP+SSE. MIT licensed.
    6
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanceNitra/inspeximus'

If you have feedback or need assistance with the MCP directory API, please join our Discord server