MIND-Mem
Drop-in memory for Claude Code, OpenClaw, and any MCP-compatible agent.
OpenClaw is an open-source AI assistant platform with multi-channel support.
Local-first • Zero-infrastructure • Governance-aware • MIND-accelerated
______________________________________________________________________
用于AI编码代理的内存层——Claude Code、Claude Desktop、Codex CLI、Gemini CLI、Cursor、Windsurf、Zed、OpenClaw或任何兼容MCP的客户端。将您的代理从“聊天历史+笔记”升级为受管理的 内存操作系统 混合搜索、RRF融合、意图路由、可选MIND内核、结构化持久性、矛盾检测、漂移分析、安全治理和完整审计跟踪。
如果你的经纪人跑了几周,它就会漂移。MIND Mem可防止无声漂移。 MIND Mem为记忆平面提供动力 MIND认知内核 --确定性AI运行时架构。
所有AI代理共享内存
这就是杀手锏。 安装MIND Mem时,所有AI编码代理共享相同的内存工作区。Claude Code、Codex CLI、Gemini CLI、Cursor、Windsurf、Zed——每个兼容MCP的客户端都通过一个工作区连接到同一个持久内存。
这在实践中意味着什么:
- 作出的决定 克劳德代码 立即被召回 Codex CLI 和 Gemini CLI
- 实体知识(项目、工具、人员)从以下方面积累 所有代理的所有会话
- 一个代理检测到的矛盾会被标记给所有其他代理
- 你的记忆不会在工具之间分裂——它会复合
一个安装脚本,所有代理在几秒钟内配置完毕:
git clone https://github.com/star-ga/mind-mem.git
cd mind-mem
./install.sh --all # Auto-detects and configures every AI coding client on your machine安装程序会自动检测Claude Code、Claude Desktop、Codex CLI、Gemini CLI、Cursor、Windsurf、Zed和OpenClaw——创建一个共享工作区,并将MCP服务器连接到每个客户端的配置中。SQLite WAL模式确保安全的并发访问:一个写入器,多个读取器,零损坏。
30秒演示
pip install mind-mem
mind-mem-init ~/my-workspace # Create workspace
mind-mem-recall -q "API decisions" --workspace ~/my-workspace # Hybrid BM25F search
mind-mem-scan ~/my-workspace # Detect drift & contradictions输出:
[1.204] D-20260215-001 (decision) — Use async/await for all API endpoints
decisions/DECISIONS.md:11
[1.094] D-20260210-003 (decision) — REST over GraphQL for public API
decisions/DECISIONS.md:20v4.0.9(2026-05-15发布)-Predicate.register()运行时API+CI矩阵在12个操作系统×Python-version行中完全绿色。添加 Predicate.register(name) 到 knowledge_graph 返回马厩 _RuntimePredicate 哨兵(str亚类 .name/.value 枚举形状的attr),因此下游适配器在不分叉封闭枚举的情况下扩展谓词集。修复:实时LLM HTTP调用 test_cross_encoder_auto_enable + test_query_expansion_auto_enable (嘲笑 decompose_query/expand_queries 所以多跳 *检测* 在没有网络的情况下仍然着火);Windows断路器定时片(超过Windows 15.6ms定时器刻度后,余量变宽);mypy插槽注释 _RuntimePredicate.CI基础设施: --cov 仅在ubuntu-3.12上(其他11行跳过插装), pytest-timeout=120s --timeout-method=thread 按名称挂起测试的表面,5个易发生OOM的并发文件标记为文件级压力,build_index 55s perf回归(参考文献#530)在分类时标记为压力。CI运行25901731047:26/26作业成功。基于v4.0.8构建(关闭4个未决问题+CI绿色。 #526 ACL _get_request_scope fail closed:自省异常现在返回 "deny" 哨兵(沉默不语) None → "user" 降级),装饰器短路以拒绝调用,结构化 acl_introspection_failed 日志+ mcp_acl_introspection_failed_total 度量值出现偏差(严重)。 #527 THREE_WAY_MERCE现在颠簸 block_tier_vclock 对于合成合并代理和两个分叉代理,因此已解决的冲突不会在下一个代理上再次发生 detect_conflict 通过(关键、功能)。 #528 现在,每次三方合并都会发出一个结构化的 three_way_merge_resolved 使用SHA-256哈希值的日志 left_payload / right_payload / merged_payload 用于操作员审核(关键、HTTP传输)。 #529 FederationClient通过方案allowlist强化(拒绝 file:///ftp:///等等。),同源重定向处理程序(阻止SSRF枢轴到 169.254.169.254),响应大小上限 MAX_RESP_BYTES = 1 MiB (高)。18个新的回归测试+75个现有通过。另外5个并发/压力测试文件丢失 pytestmark = pytest.mark.stress 并在ubuntu CI上运行,导致OOM(与v3.1.8类相同) test_niah);固定。基于v4.0.7构建(仅测试修复 test_failure_increments_failure_counter),v4.0.6(PyPI徽章对齐+CI绿色。README徽章块向左刷新(PyPI的严格CommonMark将4个空格的缩进行视为代码块,即使它在GitHub上表现良好,也会将徽章放在PyPI页面的中心)。也: ruff format 对10个漂移文件(关闭lint作业), -m "not stress" 添加到两个CI pytest步骤中(关闭ubuntu 3.12/3.14上来自压力标记测试的OOM杀死,如 test_niah),Python 3.14矩阵行现在建议通过 continue-on-error (仍为预发布)。没有源代码或测试更改。基于v4.0.5(2026-05-14)构建——文档/徽章对齐+发布工作流幂等。静态README徽章现在与基本事实相匹配(tests-5155+, clients-15, audit-10-LLM, 84 MCP工具);CLAUDE.md漂移清除;对照表已更正。 .github/workflows/release.yml 通过 skip-existing: true 因此,标签被重新推送,当地的绳线比赛不再是400。与v4.0.4(PyPI徽标绝对URL)和v4.0.3(Postgres支持的召回管道修复: recall() 现在,在库入口点将调度到配置的后端,以及 mm doctor --rebuild-cache 创建+填充FTS5 blocks_fts 在PG支持的工作空间中首次运行虚拟表;关闭#524+#525)。 mind-mem-4b 重量不变。基于v4.0.2(2026-05-13-安全性+正确性审计通过:在HTTP传输强化、联邦正确性、检索质量、文档对齐方面关闭了46个发现)、v4.0.1(HTTP上的联邦有线传输+stdlib FederationClient),以及v4.0.0(认知内核、知识图、弹性套件、可观察性——所有v4表面都标记为门控,没有破坏性变化)。同伴 mind-mem-4b v4.1.1 (r4再训练, 133/133 = 100% 在111探头主+22探头夹持面上;关闭v4.1.0 KernelKind幻觉)是当前的 main 上 明星ga/mind-mem-4b;v4.1.0、v4.0.0-base和v3.12.0在HF修订分支上仍然是可尖峰的。
信任信号
| 原则 | 这意味着什么 |
|---|---|
| 确定性的 | 相同的输入,相同的输出。核心中没有ML,没有概率突变。 |
| 可审计的 | 每份申请都记录了时间戳、收据和DIFF。完全可追溯。 |
| 本地优先 | 所有数据都保留在磁盘上。没有云电话,没有遥测,没有给家里打电话。 |
| 无供应商锁定 | 纯Markdown文件。随时移动到任何系统。 |
| 零魔法 | 每一次检查都是一次grep,每一次突变都是一个文件写入。在30分钟内阅读源代码 |
| 无沉默突变 | 没有明确的说明,就没有什么能说明真相的来源 /apply永远。 |
| 零基础设施 | Core只需要Python 3.10+stdlib。Postgres、Redis、Docker和GPU都是可选的附加组件,无需启动。 |
| 100%NIAH | 250/250干草回收针。每根针,每种深度,每种尺寸。 |
______________________________________________________________________
目录
深潜文档
docs/setup.md--安装、配置、连接MCP、选择加入MIND本机内核docs/usage.md--每个表面(MCP工具按类别,mmCLI,mind-mem-verify,Python库)及其工作示例docs/client-integrations.md— 17个AI客户端集成 (克劳德代码、Codex、Vibe、Gemini、Cursor、Windsurf、aider、OpenClaw、NanoClaw、NemoClaw、Continue、Cline、Roo、Zed、Copilot、Cody、Qodo)mm install-all自动检测docs/mind-mem-4b-setup.md--下载+运行star-ga/mind-mem-4b本地全FT模型(变压器、exllamav2、vLLM、llama.cpp、Ollama)ROADMAP.md--功能路线图(v2.8.0中关闭了所有282个v2.x复选框)CHANGELOG.md--每个已发布版本的发行说明
______________________________________________________________________
为什么MIND Mem
大多数内存插件 存储和检索那是桌上的赌注。
MIND Mem也 检测你的记忆何时出错 --决策之间的矛盾、从未正式化的非正式选择的偏离、没有人提及的死决策、指向虚无的孤立任务——并提供了一条安全的解决途径。
| 问题 | 没有MIND Mem | 有MIND Mems |
|---|---|---|
| 矛盾的决定 | 遵循最后一个 | 标记,链接两者,提出修复建议 |
| 非正式聊天决策 | 会话结束后丢失 | 自动捕获,建议正式化 |
| 过时的决定 | 僵尸混淆了未来的会话 | 检测到死亡,标记 |
| 孤立任务引用 | 无声破坏 | 被完整性扫描捕获 |
| 零散的回忆质量 | 单模搜索错过上下文 | 混合BM25+向量+RRF融合找到它 |
| 查询意图不明确 | 一刀切的检索 | 9型意图路由器优化参数 |
新颖的贡献
MIND Mem引入了现有存储系统中没有的几种技术:
| 技术 | 新内容 | 为什么重要 |
|---|---|---|
| 协同检索图 | 类似PageRank的分数在经常一起检索的块之间传播 | 在结构上相关的块上出现零词汇重叠(+2.0pp精度) |
| 事实卡子块索引 | 原子事实提取→ 使用父分数混合进行从小到大的检索 | 捕获全块BM25遗漏的细粒度事实(+2.6pp准确率) |
| 自适应膝盖切断 | 基于分数下降的截断,而不是固定的top K | 消除了影响LLM法官的噪声——自适应地返回3-15个结果 |
| 硬负开采 | 将BM25高/交叉编码器低块记录为误导,在未来的查询中受到惩罚 | 自我改进检索:精度随着时间的推移而提高,无需重新训练 |
| 决定性弃权 | 使用5个信号评分(实体、BM25、说话者、证据、否定)的LLM前信心门 | 防止对无法回答的问题产生幻觉答案——不需要ML |
| 治理管道 | 矛盾检测+漂移分析+安全应用审计跟踪 | 只有内存系统可以检测存储的知识何时出错 |
| 与代理无关的共享内存 | 跨Claude Code、Codex、Gemini、Cursor、Windsurf、Zed共享单个MCP工作区 | 跨工具共享内存化合物,而不是碎片化 |
______________________________________________________________________
特性
基于RRF融合的混合BM25+矢量搜索
线程并行BM25和具有互易秩融合的向量搜索(k=60)。每个信号的可配置权重。Vector是可选的,只适用于BM25。
RM3动态查询扩展
使用JM平滑语言模型的伪相关反馈。使用初始结果集中的顶级术语扩展查询。回到对抗性查询的静态同义词。零依赖。
9型意向路由器
将查询分类为为什么、何时、实体、什么、如何、列表、验证、比较或跟踪。每种意图类型都映射到优化的检索参数(限制、扩展设置、图遍历深度)。
A-MEM元数据演化
自动维护的每个块元数据:访问计数、重要性得分(限制在\[0.8,1.5\]重新排名提升)、关键字演变和共现跟踪。重要性随着指数的临近而衰减。
确定性重新排名
四个信号重新排序管道:否定意识(惩罚矛盾的结果)、日期接近度(高斯衰减)、20类分类匹配和近因增强。不需要ML。
可选交叉编码器
插入式ms-marco-MiniLM-L-6-v2交叉编码器(80MB)。混合0.6\*CE+0.4\*原始分数。不可用时优雅地回落。通过配置启用。
MIND内核(可选,本机速度)
17个编译的MIND评分内核(BM25F、RRF融合、重新排序、否定惩罚、日期接近度、类别提升、重要性、实体重叠、置信度、top-k、加权排名、类别亲和力、查询类别相关性、类别分配)。编译为本机 .so 通过 MIND编译器纯Python回退始终可用——没有编译就不会丢失任何功能。
MIC/MAP——MIND IR图序列化
STARGA有线格式的纯Python编解码器: mic@2 (面向行的文本,LLM可读,git友好)和 mic-b (变二进制,~4×更小)。两者都以字节相同的往返编码类型化数据流图(符号+类型+值+输出)。用于有界峰值内存的流解析器;可选Cython加速器 mind-mem[accelerated] (解析时为+16/+20/+36%)。两个MCP工具(mic_convert, mic_inspect)以及a mm mic CLI为代理和操作员显示它。看 docs/mic-map.md.
BM25F混合动力车召回
BM25F字段加权评分(k1=1.2,b=0.75),每个字段加权(语句:3x,标题:2.5x,姓名:2x,摘要:1.5x),波特词干分析,二元组短语匹配(每次点击提高25%),重叠句子分块(3个字节窗口,1个句子重叠),领域感知查询扩展,以及可选的基于2跳图的交叉引用邻居增强。零依赖。快速和确定性。
基于图形的召回
2跳交叉引用邻居增强——当找到关键字匹配时,引用或被匹配引用的块将得到增强(1跳:0.3倍衰减,2跳:0.1倍衰减)。与决策、任务和实体相关的曲面,它们不共享关键字,但在结构上相互连接。自动启用多跳查询。
矢量召回(可选)
可插拔的嵌入式后端——本地ONNX(全MiniLM-L6-v2,无需服务器)或云(Pinecone)。不可用时回退到BM25。
持久内存
结构化、经过验证、仅附加具有来源的决策/任务/实体/事件,并取代链。纯Markdown文件——人类可读,机器可解析。
免疫系统
持续完整性检查:矛盾、漂移、死亡决策、孤立任务、覆盖率评分、回归检测。74+结构验证规则。
安全治理
所有更改都通过分级模式进行: detect_only → propose → enforce.应用带有快照、收据、DIFF和验证失败时自动回滚的引擎。
对抗性弃权分类器
对抗性/验证查询的确定性LLM前置信门。根据实体重叠、BM25评分、说话者覆盖率、证据密度和否定不对称性计算置信度。低于阈值→ 在没有致电法学硕士的情况下强行弃权,防止对无法回答的问题产生幻觉。
带结构化提取的自动捕获
会话结束钩子检测决策/任务语言(26种具有置信度分类的模式),提取结构化元数据(主题、对象、标签),并写入 SIGNALS.md 只有。永远不要直接触及真理的源头。所有信号都通过 /apply.
并发安全
跨平台咨询文件锁定(fcntl/msvcrt/原子创建)保护所有并发写入路径。基于PID的清除的死锁检测。零依赖。
压实和GC
自动化工作空间维护:归档已完成的块,清理旧快照,压缩已解析的信号,将每日日志归档到年度文件中。具有干运行模式的可配置阈值。
可观测性
结构化JSON日志记录(通过stdlib)、进程内指标计数器和时序上下文管理器。所有脚本都会发出机器可解析的事件。通过控制 MIND_MEM_LOG_LEVEL 有人是。
多代理命名空间和ACL
工作区级别+每个代理的私有命名空间,具有基于JSON的ACL。代理策略的fnmatch模式匹配。用于跨代理传播的共享事实分类账,带有数据删除和审查门。
自动冲突解决
分级解析管道:时间戳优先级、置信度优先级、范围特异性、手动回退。生成具有完整性哈希的替代提案。人为否决循环——未经审查,决不会自动申请。
预写日志(WAL)+备份/恢复
通过基于日志的WAL进行防撞写作。完整工作区备份(tar.gz),git友好的JSONL导出,具有冲突检测和路径遍历保护的选择性还原。
转录JSONL捕获
扫描Claude Code转录文件,查找用户更正、惯例发现、错误修复见解和架构决策。16种具有角色过滤和置信度分类的转录本特定模式。
MCP服务器(84个工具,8个资源)
满的 模型上下文协议 服务器有84个工具和8个只读资源。适用于Claude Code、Claude Desktop、Cursor、Windsurf和任何兼容MCP的客户端。HTTP和stdio传输;HTTP需要承载令牌身份验证(失败关闭)——请参阅 令牌认证(HTTP)已添加v3.8.11版本 mic_convert_tool / mic_inspect_tool (MIC/MAP线格式);已添加v3.9.0 compile_truth_walkthrough, recall_with_persona, pipeline_status,以及 reindex_dirty;已添加v3.11.0 validate_block, block_lineage,以及 add_block_edge (确定性质量门+类型化沿袭边)。
74+结构检查+3024单元测试
validate.sh 检查模式、交叉引用、ID格式、状态值、替换链、约束签名等。由覆盖所有核心模块的3024个pytest单元测试支持。
审计跟踪
每个申请的提案都记录了时间戳、收据和DIFF。信号的完全可追溯性→ 提案→ 决定。
校准反馈回路
基于贝叶斯权重计算的逐块质量跟踪。当用户通过以下方式提供反馈(竖起大拇指/向下大拇指)时 calibration_feedback,该系统在30天的窗口内保持每个块的滚动质量分数。贝叶斯平滑将校准权重限制在0.5-1.5的范围内,防止任何单个块占据主导地位或被压制。校准权重直接集成到BM25+FTS5检索管道中——高质量块排名更高,低质量块自然降级。使用 calibration_stats 检查每个块的质量分布和全局校准健康状况。
LLM引导的多查询扩展
在搜索之前生成语义多样的查询重新表述——同义词扩展、特异性转换、时间重新表述和否定变体。将所有重新制定的查询与往复式排名融合相结合,在不牺牲精度的情况下实现更广泛的召回率。以零API调用在本地运行。
4层搜索重复数据删除
检索后数据删除管道:每个源的最佳块(保留每个文件中得分最高的块)、余弦相似性数据删除(>0.85阈值)、类型多样性上限(每个块类型最多3个结果)和每个源的块限制。消除浪费LLM上下文的冗余结果。
LLM引导的智能分块
内容感知分块,在语义边界(标题、段落分隔、列表项、代码块)而不是固定的字符数处进行分割。生成具有重叠的可变大小块以实现连续性。支持带有特定格式拆分规则的markdown、代码和散文。
编译的真相页面
按实体知识汇编:顶部为当前最佳理解,下面为带时间戳的证据线索。通过自动标记对证据条目进行矛盾检测。实体从所有会话中积累知识——每个新的证据条目都会与现有事实进行核对。
梦境周期(自主记忆丰富)
计划的背景丰富:扫描最近的内存,查找缺失的交叉引用、损坏的引用、孤立实体和整合机会。为过时的链接生成修复建议,检测尚未正式化的隐式实体,并压缩冗余条目。在空闲期间以可配置的深度运行。
特征完整性矩阵
| 能力 | 心灵记忆 | Mem0 | Zep | Letta | LangMem | |
|---|---|---|---|---|---|---|
| BM25词汇搜索 | Y | -- | -- | -- | ||
| 矢量语义搜索 | ||||||
| 混合BM25+矢量+RRF | Y | -- | -- | -- | -- | - |
| 交叉编码器重新排序 | Y | -- | -- | --- | -- | -- |
| 意向感知路由(9种类型) | Y | -- | -- | -- | ||
| RM3查询扩展 | Y | -- | -- | -- | -- | - |
| 协同检索图(PageRank) | Y | -- | -- | -- | -- | - |
| 事实子块索引 | Y | -- | -- | -- | -- | - |
| 硬负挖掘 | Y | -- | -- | -- | -- | - |
| 自适应膝盖切断 | Y | -- | -- | -- | ||
| 矛盾检测 | Y | -- | -- | --- | -- | -- |
| 漂移分析 | Y | -- | -- | --- | -- | -- |
| 治理管道(建议/应用) | Y | -- | -- | --- | -- | |
| 多代理共享内存(MCP) | Y | -- | -- | Y | -- | |
| 零核心依赖 | Y | -- | -- | --- | -- | -- |
| 仅限本地(不需要云) | Y | -- | -- | --- | -- | |
| 编译的本机内核(MIND) | Y | -- | -- | --- | -- | |
| 带拉链保护的备份/恢复 | Y | -- | -- | --- | -- | |
| RRF | Y | -- | -- | --- | -- | --的多查询扩展 |
| 四层搜索重复数据删除 | Y | -- | -- | --- | -- | |
| 语义感知智能组块 | Y | -- | -- | -- | ||
| 编译的真相页面(每个实体) | Y | -- | -- | --- | -- | |
| 梦想周期(自主充实) | Y | -- | -- | -- |
______________________________________________________________________
集成
诚实的定位。以下集成为 *软件级* — 命名工具通过模型上下文协议与MIND Mem进行对话。 他们是 不 与任何供应商的商业客户关系。 全面定位政策: docs/integrations.md.原生MCP与17个AI开发工具集成
pip install mind-mem
mm install-allmm install-all 自动检测计算机上支持的每个客户端 并为每个对象写入相应的配置文件。MIND Mem说 模型上下文协议 --任何 MCP兼容客户端只需一个命令即可连接。
| 客户 | 供应商 | 客户 | 供应商 |
|---|---|---|---|
| 克劳德代码 | 人类学 | 克莱恩 | 克莱恩机器人 |
| 克劳德桌面 | 拟人 | Roo | Roo代码 |
| Codex CLI | OpenAI | GitHub Copilot | GitHub/微软 |
| Gemini CLI | 谷歌 | 科迪 | 源码图 |
| Vibe(米斯特拉尔CLI) | 米斯特拉尔 | Qodo | Qodo |
| 光标 | 任意球 | 助手 | 助手聊天 |
| Windsurf | Codeium | OpenClaw | OpenAI(彼得·斯坦伯格) |
| Zed | Zed Industries | NemoClaw/Nemo | 英伟达 |
| 继续 | 继续开发 | 纳米爪 | 人类学 |
与主要LLM提供商兼容
MIND Mem的召回渠道与供应商无关。经过测试 拟人克劳德(3.5 Sonnet,4.x),OpenAI GPT(4o,5.4),谷歌 Gemini(2.0 Flash,3.1 Pro)、Mistral Large和本地端点 (Ollama,vLLM,骆驼注册会计师)。兼容性在API合同中 level——同一MIND Mem服务器返回相同的答案 不管哪个LLM要求。
STARGA的生产使用情况
MIND Mem是STARGA六个活动驾驶员的日常记忆层 项目: mind, mind-runtime, mindlang.dev, mind-inference, mind-fleet, arch-mind第一方,可由我们自己验证 提交历史。
我们不主张的
- ❌ “OpenAI/微软/Anthropic/谷歌是我们的客户”——不正确。
这些是软件级MCP集成,不是商业级的 关系。
- ❌ “被STARGA以外的N个制作团队使用”——我们没有
遥测。PyPI下载计数衡量的是安装次数,而不是活动使用次数。
如果未来的整合成为真正的商业关系 (已签署合同,付费飞行员,指定参考),它将出现在 请先阅读新闻稿,而不是在README中。
______________________________________________________________________
基准结果
MIND Mem的回忆引擎使用多种配置在标准的长期记忆基准上进行评估,从纯BM25到具有神经重排序的全混合检索。
草垛中的针(NIAH)
250/250-100%检索 跨越所有草堆大小、埋藏深度和针类型。
在语义多样的填充块的干草堆中,在受控的深度植入了一个单一的事实。系统必须仅使用自然语言查询来检索前5个结果中的针。
| 草垛尺寸 | 测试深度 | 针数 | 通过率 | 速率 |
|---|---|---|---|---|
| 10个区块 | 0/25/50/75/100% | 10 | 50/50 | 100% |
| 50个区块 | 0/25/50/75/100% | 10 | 50/50 | 100% |
| 100个区块 | 0/25/50/75/100% | 10 | 50/50 | 100% |
| 250个区块 | 0/25/50/75/100% | 10 | 50/50 | 100% |
| 500个区块 | 0/25/50/75/100% | 10 | 50/50 | 100% |
配置: 混合BM25+BAAI/bge-large-en-v1.5+RRF(k=60)+sqlite向量。详细信息: 基准测试/NIAH.md
LoCoMo LLM担任法官
与Mem0和Letta评估相同的管道:检索上下文,使用LLM生成答案,使用判断LLM对黄金参考进行评分。直接可比方法。
v1.0.7——混合动力+top_k=18 (Mistral回答者+裁判,conv-0199个问题):
| 类别 | N | Acc(>=50) | 平均分 |
|---|---|---|---|
| 总体 | 199 | 92.5% | 76.7 |
| 对手 | 47 | 97.9% | 89.8 |
| 多跳 | 37 | 91.9% | 74.3 |
| 开放域名 | 70 | 92.9% | 72.7 |
| 时间 | 13 | 92.3% | 76.2 |
| 单跳 | 32 | 84.4% | 68.9 |
管道: BM25+Qwen3-Embedded-8B(4096d)矢量搜索→ RRF融合(k=60)→ 前18个证据块→ 观测压缩→ 回答→ 法官。A/B验证:平均值+2.8,top_k=10基线。
v1.1.1--BM25+top_k=18 (Mistral Large回答者+评判,10次对话,1986个问题):
| 类别 | N | Acc(>=50) | 平均分 |
|---|---|---|---|
| 总体 | 1986 | 73.8% | 70.5 |
| 对手 | 446 | 92.4% | 87.2 |
| 单跳 | 282 | 80.9% | 68.7 |
| 开放域名 | 841 | 71.2% | 70.3 |
| 时间 | 96 | 66.7% | 65.9 |
| 多跳 | 321 | 50.5% | 51.1 |
管道: BM25+RM3查询扩展→ 前18个证据块→ 观测压缩→ 回答→ 法官。Mistral Large作为回答者和评判者的完整10个对话基准。
v1.0.0——仅BM25基线 (gpt-4o-迷你应答器+裁判,10个对话):
| 类别 | N | Acc(>=50) | 平均分 |
|---|---|---|---|
| 总体 | 1986 | 67.3% | 61.4 |
| 开放域名 | 841 | 86.6% | 78.3 |
| 时间 | 96 | 78.1% | 65.7 |
| 单跳 | 282 | 68.8% | 59.1 |
| 多跳 | 321 | 55.5% | 48.4 |
| 对手 | 446 | 36.3% | 39.5 |
自v1.0.0以来的主要改进: 通过弃权分类器+混合检索,对抗准确率从36.3%提高到92.4%。总体Acc≥50从67.3%提高到73.8%(+6.5pp)。
竞争格局
| 系统 | 评分 | 方法 |
|---|---|---|
| 心灵记忆 | 76.7% | 混合BM25+Qwen3-8B矢量+RRF融合(仅限局部) |
| Memobase | 75.8% | 专业提取 |
| 莱塔 | 74.0% | 文件+代理工具使用 |
| 心灵记忆 | 73.8% | 仅限BM25,满分10分(1986题,西北偏大) |
| Mem0 | 68.5% | 图形+LLM提取 |
MIND Mem现在 超越Mem0和Letta 随着 仅限本地 检索——在检索循环中没有云调用、没有图数据库、没有LLM。MIND Mem的独特价值在于 治理 (矛盾检测、漂移分析、审计跟踪)以及 与代理无关的共享内存 通过MCP——这些基准无法衡量的领域。
基准比较(2026-02-22)
| 系统 | LoCoMo Acc>=50 | LongMemEval R@10 | 基础设施 | 依赖关系 |
|---|---|---|---|---|
| 心灵记忆 (混合动力) | 76.7% | 88.1% | 仅限本地 | 零芯(可选:llama.cpp,句子转换器) |
| Memobase | 75.8% | -- | 云+GPU | 嵌入+矢量数据库 |
| Letta | 74.0% | -- | 云 | 嵌入+矢量数据库 |
| 心灵记忆 (BM25) | 73.8% | 88.1% | 仅限本地 | 零芯 |
| 完整上下文 | 72.9% | -- | N/A | LLM上下文窗口 |
| Mem0 | 68.5% | -- | 云(托管) | 图DB+嵌入 |
在没有云基础设施的情况下,MIND Mem超过了Mem0(68.5%)、Letta(74.0%)和Memobase(75.8%)。完整的10个对话基准(1986个问题)在规模上验证了这一点。
LongMemEval(ICLR 2025,470个问题)
| 类别 | N | R@1 | R@5 | R@10 | MRR |
|---|---|---|---|---|---|
| 总体 | 470 | 73.2 | 85.3 | 88.1 | .784 |
| 多会话 | 121 | 83.5 | 95.9 | 95.9 | .885 |
| 时间 | 127 | 76.4 | 91.3 | 92.9 | .826 |
| 知识更新 | 72 | 80.6 | 88.9 | 91.7 | .844 |
| 单次会议 | 56 | 82.1 | 89.3 | 89.3 | .847 |
性能(延迟和吞吐量)
使用SQLite FTS5后端在65个区块的工作空间(典型的个人工作空间)上进行测量:
| 操作 | 度量 | 值 | |
|---|---|---|---|
| 查询 (FTS5+重新存储) | p50延迟 | 2.1毫秒 | |
| 查询 (FTS5+重新存储) | p95延迟 | 4.9毫秒 | |
| 查询 (FTS5+重新排序) | 平均延迟 | 2.6毫秒 | |
| 增量重新索引 | 已过去 | 32毫秒 (13个区块已编入索引) | |
| 完整索引构建 | 已过去 | 48毫秒 (65个区块) | |
| MCP工具开销 | stdio往返 | **\` | 在所有内存文件中搜索排名结果(添加 --graph 用于交叉参考增强) |
______________________________________________________________________
建筑
your-workspace/
├── mcp_server.py # MCP server (FastMCP, 81 tools, 8 resources)
├── mind-mem.json # Config
├── MEMORY.md # Protocol rules
│
├── mind/ # 17 MIND source files (.mind)
│ ├── bm25.mind # BM25F scoring kernel
│ ├── rrf.mind # Reciprocal Rank Fusion kernel
│ ├── reranker.mind # Deterministic reranking
│ ├── abstention.mind # Confidence gating
│ ├── ranking.mind # Evidence ranking
│ ├── importance.mind # A-MEM importance scoring
│ ├── category.mind # Category relevance scoring
│ ├── recall.mind # Combined recall scoring
│ ├── hybrid.mind # BM25 + vector hybrid fusion
│ ├── rm3.mind # RM3 pseudo-relevance feedback
│ ├── rerank.mind # Score combination pipeline
│ ├── adversarial.mind # Adversarial query detection
│ ├── temporal.mind # Time-aware scoring
│ ├── prefetch.mind # Context pre-assembly
│ ├── intent.mind # Intent classification
│ └── cross_encoder.mind # Cross-encoder blending
│
├── lib/ # Compiled MIND kernels (optional)
│ └── libmindmem.so # mindc output — not required for operation
│
├── decisions/
│ └── DECISIONS.md # Formal decisions [D-YYYYMMDD-###]
├── tasks/
│ └── TASKS.md # Tasks [T-YYYYMMDD-###]
├── entities/
│ ├── projects.md # [PRJ-###]
│ ├── people.md # [PER-###]
│ ├── tools.md # [TOOL-###]
│ └── incidents.md # [INC-###]
│
├── memory/
│ ├── YYYY-MM-DD.md # Daily logs (append-only)
│ ├── intel-state.json # Scanner state + metrics
│ └── maint-state.json # Maintenance state
│
├── summaries/
│ ├── weekly/ # Weekly summaries
│ └── daily/ # Daily summaries
│
├── intelligence/
│ ├── CONTRADICTIONS.md # Detected contradictions
│ ├── DRIFT.md # Drift detections
│ ├── SIGNALS.md # Auto-captured signals
│ ├── IMPACT.md # Decision impact graph
│ ├── BRIEFINGS.md # Weekly briefings
│ ├── AUDIT.md # Applied proposal audit trail
│ ├── SCAN_LOG.md # Scan history
│ ├── proposed/ # Staged proposals + resolution proposals
│ │ ├── DECISIONS_PROPOSED.md
│ │ ├── TASKS_PROPOSED.md
│ │ ├── EDITS_PROPOSED.md
│ │ └── RESOLUTIONS_PROPOSED.md
│ ├── applied/ # Snapshot archives (rollback)
│ └── state/snapshots/ # State snapshots
│
├── shared/ # Multi-agent shared namespace
│ ├── decisions/
│ ├── tasks/
│ ├── entities/
│ └── intelligence/
│ └── LEDGER.md # Cross-agent fact ledger
│
├── agents/ # Per-agent private namespaces
│ └── /
│ ├── decisions/
│ ├── tasks/
│ └── memory/
│
├── mind-mem-acl.json # Multi-agent access control
├── .mind-mem-wal/ # Write-ahead log (crash recovery)
│
└── src/mind_mem/
├── mind_ffi.py # MIND FFI bridge (ctypes)
├── hybrid_recall.py # Hybrid BM25+Vector+RRF orchestrator
├── block_metadata.py # A-MEM metadata evolution
├── cross_encoder_reranker.py # Optional cross-encoder
├── intent_router.py # 9-type intent classification (adaptive)
├── recall.py # BM25F + RM3 + graph scoring engine
├── recall_vector.py # Vector/embedding backends
├── sqlite_index.py # FTS5 + vector + metadata index
├── connection_manager.py # SQLite connection pool (WAL read/write separation)
├── block_store.py # BlockStore protocol + MarkdownBlockStore
├── corpus_registry.py # Central corpus path registry
├── abstention_classifier.py # Adversarial abstention
├── evidence_packer.py # Evidence assembly and ranking
├── intel_scan.py # Integrity scanner
├── apply_engine.py # Proposal apply engine (delta-based snapshots)
├── block_parser.py # Markdown block parser (typed)
├── capture.py # Auto-capture (26 patterns)
├── compaction.py # Compaction/GC/archival
├── mind_filelock.py # Cross-platform advisory file locking
├── observability.py # Structured JSON logging + metrics
├── namespaces.py # Multi-agent namespace & ACL
├── conflict_resolver.py # Automated conflict resolution
├── backup_restore.py # WAL + backup/restore + JSONL export
├── transcript_capture.py # Transcript JSONL signal extraction
├── validate.sh # Structural validator (74+ checks)
└── validate_py.py # Structural validator (Python, cross-platform)______________________________________________________________________
如何比较
快速比较
| 功能 | 思维模式 | Mem0 | Letta | Zep/Graphiti |
|---|---|---|---|---|
| 本地 | 是 | 否(云API) | 否(运行时) | 否 |
| 零基础设施 | 是 | 否 | 否 | 不 |
| 混合检索 | BM25F+矢量+RRF | 仅矢量 | 混合 | 图形+矢量 |
| 治理(建议/审查/申请) | 是 | 否 | 否 | 不 |
| 矛盾检测 | 是 | 否 | 否 | 不 |
| 测试 | 3600+ | - | - | - |
| LoCoMo基准 | 86.33conv-0(v3.6,Mistral Large) | 66.88 | 74.0% | - |
| MCP工具 | 81个(58个遗留工具+7个调度员+16个v3.7→v3.9新增) | - | - | - |
| 核心依赖关系 | 0 | 许多 | 许多 | 很多 |
概览
| 工具 | 力量 | 权衡 |
|---|---|---|
| Mem0 | 快速托管服务、图形内存、多用户作用域 | 依赖云,无完整性检查 |
| 超级内存 | 最快检索(毫秒),从驱动器/Notion自动摄取 | 依赖于云,无需审查即可自动写入 |
| 克劳德·梅 | 专为Claude Code、ChromaDB向量构建 | 需要ChromaDB+Express工作器,没有完整性 |
| 莱塔 | 自编辑内存块、睡眠时间计算、74%LoCoMo | 完整代理运行时间(繁重),而不仅仅是内存 |
| 泽普 | 时态知识图、双时态模型、亚秒级 | 云服务、复杂架构 |
| 语言 | 原生LangChain/LangGraph集成 | 与LangChain生态系统紧密结合 |
| 标志 | 高级分块、网络内容桥接 | 面向研究、复杂设置 |
| 石墨 | 多模式摄取、语义搜索、托管平台 | 仅限云、托管服务 |
| ClawMem | 完整的ML流水线(交叉编码器+QMD+波束搜索) | 4.5GB VRAM,需要3个GPU进程 |
| MemU | 分层3层内存、多模式摄取、基于LLM的检索 | 需要LLM进行提取和检索,没有混合搜索 |
| 心灵记忆 | 完整性+治理+零核心deps+混合搜索+MIND内核+84个MCP工具(包括MIC/MAP、演练、角色、管道哈希)+每个版本10-LLM共识审计 | 默认词汇召回(向量/CE可选) |
全功能矩阵
与AI代理的每个主要内存解决方案相比(截至2026年):
| --------------- | :------------------------------------: | :-----------------------------------: | :-----------------------------------------------------: | :----------------------------: | :---------------------------: | :-----------------------------------------: | :-----------------------------: | :----------------------------------: | :---------------------------------------------: | :------------------------------------------: | :----------: | | 召回 | | | | | | | | | | | | |矢量|云|云|色度|是|是| 可选的 | |词汇|过滤器|--|--|--|--|--|--|---|--|BM25|--| BM25F | |图表|是|--|--|--是|--|是|--是|是|梁|--| 2跳 | |混合动力+RRF |部分|--|--|--|是|--|是|是| 是 | — | 是 | |交叉编码器|--|--|---|--|--|--|--|--|qwen3 0.6B|--| 迷你LM 80MB | |意向路由|--|--|---|--|--|--|---|--|-是|-| 9种类型 | |查询扩展|--|--|---|--|--|--|---|--|QMD 1.7B|--| RM3(零存款) | | 坚持 | | | | | | | | | | | | |结构化|JSON|JSON|SQL|Blk|Grph|KV|Grph| Grph|SQL|Markdown| 标记语言 | |实体|是|是|--|是|有|有|是|对|有|对|--|有| 是 | |时间|--|--|-|--|是|--|--|--|---|--|-| 是 | |取代|--|--|--|是|是|--|-|--|---|--|-| 是 | |仅附加|--|--|-|--|--|--|---|--|--2--|--||| 是 | |A-MEM元数据|--|--|---|--|--|--|---|--||是|--| 是 | | 正直 | | | | | | | | | | | | |矛盾| 是 | |漂移检测| 是 | |验证|--|--|---|--|--|--|--|--|-| 74+条规则 | |影响图|--|--|---|--|--|--|--|--|-| 是 | |覆盖范围|--|--|---|--|--|--|--|--|-| 是 | |多代理|--|--|--|是|--|--|--|---|--|-| 基于ACL | |冲突解决|--|--|---|--|--|--|--|--|-| 自动 | |行走/碰撞|--|--|---|--|--|--|--|--|-| 是 | |备份/还原|--|--|---|--|--|--|--|--|-| 是 | |弃权| 是 | | 治理 | | | | | | | | | | | | |自动捕获|自动|自动|自|外|外|内|自动| LLM外| 提议 | |建议队列|--|--|---|--|--|--|--|--|-| 是 | |回滚|--|--|---|--|--|--|--|--|-| 是 | |模式治理|--|--|---|--|--|--|--|--|-| 3种模式 | |审计跟踪|--|部分|--|--|--|--|--|--|---|--|-| 满的 | | 运营 | | | | | | | | | | | | |仅限本地|--|--|是|--|--|--|--|--|-是|是| 是 | |零核心存款|--|--|--|--|--|--|---|--|-| 是 | |没有守护进程|--|--|-|--|--是|--|---|--是| 是 | |所需GPU |--|--|-|--|--|--|---|--|---| 4.5GB |没有| 不 | |Git友好|--|--|-|部分|--|--|--|---|--|-是的| 是 | |MCP服务器|--|--|---|--|--|--|---|--||--| 81工具 | |MIND内核|--|--|--|--|--|--|---|--|-| 16来源 |
MIND Mem填补的空白
上面的每个工具都可以 存储+检索.他们都没有回答:
- “我的决定相互矛盾吗?”
- “哪些决定是积极的,但没有人再提及?”
- “我在聊天中做出了一个从未正式化的决定吗?”
- “如果我改变这个决定,会对下游产生什么影响?”
- “我的记忆状态现在在结构上有效吗?”
MIND Mem专注于内存治理和完整性——这是大多数内存系统完全忽略的关键层。
为什么普通文件比花哨的检索表现更好
Letta在2025年8月的分析显示,普通文件基线(以文件+代理文件系统工具存储的完整对话)得分 LoCoMo的74.0% gpt-4o-mini以68.5%击败了Mem0的顶级图表变体。主要原因:
- LLMs擅长基于工具的检索。 代理可以迭代地查询/优化文件搜索,比可能错过微妙连接的单次向量检索更好。
- 基准测试奖励回忆+对存储复杂性的推理。 强判断LLM在加载相关块后处理其余部分。
- 头顶疼。 专用管道引入了简单文件访问可以避免的故障模式(不良嵌入、分块错误、过时索引)。
- 对于文本密集的代理用例,“代理管理上下文的能力”>“检索索引的智能程度”
MIND Mem的确定性检索管道验证了这些发现: LoCoMo的67.3% 零依赖、无嵌入、无向量数据库——在Mem0基于图的方法的1.2pp内。关键见解:将检索视为推理管道(广泛的候选库→ 确定性重新排序→ 上下文打包)在没有任何机器学习基础设施的情况下缩小了大部分差距。与普通文件基线不同,MIND Mem通过MCP添加了完整性检查、治理和与代理无关的共享内存,这是其他系统所不提供的。
______________________________________________________________________
召回
默认值:BM25混合动力
python3 -m mind_mem.recall --query "authentication" --workspace .
python3 -m mind_mem.recall --query "auth" --json --limit 5 --workspace .
python3 -m mind_mem.recall --query "deadline" --active-only --workspace .BM25F评分(k1=1.2,b=0.75),包括每个字段加权、二元组短语匹配、重叠句子分块和查询类型感知参数调优。在所有结构化文件中搜索。
BM25F字段加权: 术语 Statement 字段得分比术语高3倍 Context (0.5倍)。这自然会优先考虑核心内容而不是辅助元数据。
RM3查询扩展: 来自top-k初始结果的伪相关性反馈。JM平滑语言模型提取扩展项,以可配置的alpha值用原始查询进行插值。回到对抗性查询的静态同义词。
反对性弃权: 确定性法学硕士预科信心门。根据实体重叠、BM25评分、说话者覆盖率、证据密度和否定不对称性计算置信度。低于阈值→ 迫使弃权。
堵塞: “查询”匹配“查询”,“部署”匹配“部署”。简化的波特词干分析器,零依赖。
混合搜索(BM25+矢量+RRF)
{
"recall": {
"backend": "hybrid",
"vector_enabled": true,
"rrf_k": 60,
"bm25_weight": 1.0,
"vector_weight": 1.0
}
}通过RRF融合线程并行BM25和矢量检索: score(doc) = bm25_w / (k + bm25_rank) + vec_w / (k + vec_rank).按块ID进行重复数据消除。仅当矢量后端不可用时,才会回退到BM25。
基于图(2跳交叉引用增强)
python3 -m mind_mem.recall --query "database" --graph --workspace .2跳图遍历:1跳邻居得到0.3倍的分数提升,2跳得到0.1倍(标记 [graph]).表面结构连接块通过 AlignsWith, Dependencies, Supersedes, Sources,以及约束签名范围。自动启用多跳查询。
矢量(可插拔)
{
"recall": {
"backend": "vector",
"vector_enabled": true,
"vector_model": "all-MiniLM-L6-v2",
"onnx_backend": true
}
}支持ONNX推理(本地,无服务器)或云嵌入。如果不可用,则自动回退到BM25。
______________________________________________________________________
MIND内核
MIND Mem包括17个 .mind 内核源文件——在 MIND编程语言MIND内核是 可选的.MIND Mem在没有它的情况下也能正常工作(纯Python回退)。有了它,评分以本机速度运行,并进行编译时张量形状验证。
编译
需要MIND编译器(mindc).看 mindlang.dev 用于安装。
# Compile all kernels to a single shared library
mindc mind/*.mind --emit=shared -o lib/libmindmem.so
# Or compile individually for testing
mindc mind/bm25.mind --emit=shared -o lib/libbm25.so内核索引
| 文件 | 功能 | 用途 |
|---|---|---|
bm25.mind | bm25f_doc, bm25f_batch, apply_recency, apply_graph_boost | BM25F射门得分 |
rrf.mind | rrf_fuse, rrf_fuse_three | 互惠排名融合 |
reranker.mind | date_proximity_score, category_boost, negation_penalty, rerank_deterministic | 确定性重新评级 |
rerank.mind | rerank_scores | 分数组合管道 |
abstention.mind | entity_overlap, confidence_score | 信任门控 |
ranking.mind | weighted_rank, top_k_mask | 证据排名 |
importance.mind | importance_score | A-MEM重要性评分 |
category.mind | category_affinity, query_category_relevance, category_assign | 类别蒸馏评分 |
prefetch.mind | prefetch_score, prefetch_select | 基于信号的上下文预装配 |
recall.mind | recall_score | 综合回忆评分 |
hybrid.mind | hybrid_fuse | BM25+矢量混合融合 |
rm3.mind | rm3_weight | RM3伪相关反馈 |
adversarial.mind | adversarial_gate | 对抗性查询检测 |
temporal.mind | temporal_decay | 时间感知评分 |
intent.mind | intent_params | 意图分类参数 |
cross_encoder.mind | ce_blend | 交叉编码器混合配置 |
演出
Compiled MIND kernels vs pure Python — 9 core scoring functions (200 iterations, perf_counter)
 
| 函数 | N=100 | N=1000 | N=5000 |
|---|---|---|---|
rrf_fuse | 10.8倍 | 69.0倍 | 72.5倍 |
bm25f_batch | 13.2x | 113.8x | 193.1x |
negation_penalty | 3.3倍 | 7.0倍 | 18.4倍 |
date_proximity | 10.7倍 | 15.3x | 26.9倍 |
category_boost | 3.3倍 | 19.8x | 17.7x |
importance_batch | 22.3倍 | 46.2倍 | 48.6x |
confidence_score | 0.9倍 | 0.8倍 | 0.9倍 |
top_k_mask | 3.1x | 8.1x | 11.8x |
weighted_rank | 5.1x | 26.6倍 | 121.8x |
| 总体 | 49.0倍 |
快49倍 端到端的生产规模(N=5000)。单个内核可达 193x 加速。编译后的库包括14个运行时保护层,开销几乎为零。
FFI 桥
编译 .so 公开了一个与C99兼容的ABI。Python通过以下方式调用 ctypes 通过 src/mind_mem/mind_ffi.py:
from mind_ffi import get_kernel, is_available, is_protected
if is_available():
kernel = get_kernel()
scores = kernel.rrf_fuse_py(bm25_ranks, vec_ranks, k=60.0)
print(f"Protected: {is_protected()}") # True with FORTRESS build没有头脑
如果 lib/libmindmem.so MIND Mem使用纯Python实现。Python回退产生相同的结果(在f32 epsilon内)。不会丢失任何功能——MIND是一种性能优化,而不是一项要求。
______________________________________________________________________
自动捕获
Session end
↓
capture.py scans daily log (or --scan-all for batch)
↓
Detects decision/task language (26 patterns, 3 confidence levels)
↓
Extracts structured metadata (subject, object, tags)
↓
Classifies confidence (high/medium/low → P1/P2/P3)
↓
Writes to intelligence/SIGNALS.md ONLY
↓
User reviews signals
↓
/apply promotes to DECISIONS.md or TASKS.md批量扫描: python3 -m mind_mem.capture . --scan-all 扫描最近7天的每日日志。
安全保证: capture.py 从不写信给 decisions/ 或 tasks/ 直接。所有信号必须通过应用发动机。
______________________________________________________________________
多代理内存
命名空间设置
python3 -m mind_mem.namespaces workspace/ --init coder-1 reviewer-1创造 shared/ (对所有人可见)以及 agents/coder-1/, agents/reviewer-1/ 具有ACL配置的(私有)目录。
访问控制
{
"default_policy": "read",
"agents": {
"coder-1": {"namespaces": ["shared", "agents/coder-1"], "write": ["agents/coder-1"], "read": ["shared"]},
"reviewer-*": {"namespaces": ["shared"], "write": [], "read": ["shared"]},
"*": {"namespaces": ["shared"], "write": [], "read": ["shared"]}
}
}共享事实分类账
提出高置信度事实 shared/intelligence/LEDGER.md 审核后,所有代理都可以看到。仅使用数据删除和文件锁定进行追加。
冲突解决
python3 -m mind_mem.conflict_resolver workspace/ --analyze
python3 -m mind_mem.conflict_resolver workspace/ --propose分级解决方案:置信度优先级>范围特异性>时间戳优先级>手动回退。
成绩单采集
python3 -m mind_mem.transcript_capture workspace/ --transcript path/to/session.jsonl
python3 -m mind_mem.transcript_capture workspace/ --scan-recent --days 3扫描Claude Code JSONL转录本,以查找用户更正、惯例发现和架构决策。具有置信度分类的16种模式。
备份与恢复
python3 -m mind_mem.backup_restore backup workspace/ --output backup.tar.gz
python3 -m mind_mem.backup_restore export workspace/ --output export.jsonl
python3 -m mind_mem.backup_restore restore workspace/ --input backup.tar.gz
python3 -m mind_mem.backup_restore wal-replay workspace/______________________________________________________________________
治理模式
| 模式 | 功能 | 何时使用 |
|---|---|---|
detect_only | 仅扫描+验证+报告 | 从这里开始。 安装后的第一周。 |
propose | 报告+生成修复建议 proposed/ | 经过一周的清洁观察,没有出现任何关键问题。 |
enforce | 有界自动替换+约束内自愈 | 生产模式。需要明确的选择加入 |
建议推出:
- 安装→ 磨合
detect_only7天 - 查看扫描日志→ 如果干净,切换到
propose - 2-3周的分诊建议→ 如果有信心,启用
enforce
______________________________________________________________________
块格式
所有结构化数据都使用一种简单的、可解析的markdown格式:
[D-20260213-001]
Date: 2026-02-13
Status: active
Statement: Use PostgreSQL for the user database
Tags: database, infrastructure
Rationale: Better JSON support than MySQL for our use case
ConstraintSignatures:
- id: CS-db-engine
domain: infrastructure
subject: database
predicate: engine
object: postgresql
modality: must
priority: 9
scope: {projects: [PRJ-myapp]}
evidence: Benchmarked JSON performance
axis:
key: database.engine
relation: standalone
enforcement: structural块由以下方式解析 block_parser.py --一个零依赖markdown解析器,用于提取 [ID] 标题和 Key: Value 将字段转换为结构化字典。
______________________________________________________________________
配置
中的所有设置 mind-mem.json (由创建 init_workspace.py):
{
"version": "2.8.0",
"workspace_path": ".",
"auto_capture": true,
"auto_recall": true,
"governance_mode": "detect_only",
"recall": {
"backend": "bm25",
"rrf_k": 60,
"bm25_weight": 1.0,
"vector_weight": 1.0,
"vector_model": "all-MiniLM-L6-v2",
"vector_enabled": false,
"onnx_backend": false
},
"proposal_budget": {
"per_run": 3,
"per_day": 6,
"backlog_limit": 30
},
"compaction": {
"archive_days": 90,
"snapshot_days": 30,
"log_days": 180,
"signal_days": 60
},
"scan_schedule": "daily"
}| 密钥 | 默认值 | 描述 |
|---|---|---|
version | "2.8.0" | 配置文件版本 |
auto_capture | true | 在会话结束时运行捕获引擎 |
auto_recall | true | 在会话开始时显示回忆上下文 |
governance_mode | "detect_only" | 治理模式(detect_only, propose, enforce) |
recall.backend | "scan" | "scan" (BM25), "hybrid" (BM25+矢量+RRF),或 "vector" |
recall.rrf_k | 60 | RRF融合参数k |
recall.bm25_weight | 1.0 | RRF融合中的BM25重量 |
recall.vector_weight | 1.0 | RRF融合中的向量权重 |
recall.vector_model | "all-MiniLM-L6-v2" | 向量搜索的嵌入模型 |
recall.vector_enabled | false | 启用矢量搜索后端 |
recall.onnx_backend | false | 使用ONNX进行本地嵌入(无需服务器) |
proposal_budget.per_run | 3 | 每次扫描生成的最大提案数 |
proposal_budget.per_day | 6 | 每天最大提案数 |
proposal_budget.backlog_limit | 30 | 暂停前待处理提案的最大数量 |
compaction.archive_days | 90 | 存档超过N天的已完成块 |
compaction.snapshot_days | 30 | 删除超过N天的应用快照 |
compaction.log_days | 180 | 存档超过N天的日志 |
compaction.signal_days | 60 | 删除超过N天的已解决/已拒绝信号 |
scan_schedule | "daily" | "daily" 或 "manual" |
______________________________________________________________________
MCP服务器
MIND Mem搭载 模型上下文协议 该服务器将内存作为资源和工具暴露给任何兼容MCP的客户端。
安装
pipx install "mind-mem[mcp]" # preferred — isolated venv with mind-mem-mcp on PATH
# or
pip install --user "mind-mem[mcp]"这 [mcp] 额外拉力 fastmcp>=3.2.0 (中声明的版本行 pyproject.toml)并注册 mind-mem-mcp 控制台脚本。
自动设置(推荐)
./install.sh --all自动配置所有检测到的客户端。看 快速开始.
手动设置
对于Claude Code、Claude Desktop、Cursor、Windsurf和Gemini CLI,添加到以下相应的JSON配置中 mcpServers:
{
"mcpServers": {
"mind-mem": {
"command": "mind-mem-mcp",
"args": [],
"env": {"MIND_MEM_WORKSPACE": "/path/to/your/workspace"}
}
}
}mind-mem-mcp 控制台脚本是由注册的吗 pipx install "MIND-Mem[mcp]" (或 pip install --user "MIND-Mem[mcp]").如果你在跑步 代替源代码签出,替换 "command": "mind-mem-mcp" 随着 "command": "python3", "args": ["/path/to/mind-mem/mcp_server.py"].
| 客户端 | 配置文件 |
|---|---|
| Claude 代码命令行工具 | ~/.claude/mcp.json |
| 克劳德桌面 | ~/.config/Claude/claude_desktop_config.json |
| Gemini CLI | ~/.gemini/settings.json |
| 光标 | ~/.cursor/mcp.json |
| 帆板运动 | ~/.codeium/windsurf/mcp_config.json |
对于 Codex CLI (TOML格式),添加到 ~/.codex/config.toml:
[mcp_servers.mind-mem]
command = "mind-mem-mcp"
args = []
[mcp_servers.mind-mem.env]
MIND_MEM_WORKSPACE = "/path/to/your/workspace"对于 泽德,添加到 ~/.config/zed/settings.json 在...之下 context_servers:
{
"context_servers": {
"mind-mem": {
"command": {
"path": "mind-mem-mcp",
"args": [],
"env": {"MIND_MEM_WORKSPACE": "/path/to/your/workspace"}
}
}
}
}直接(stdio/HTTP)
# stdio transport (default)
MIND_MEM_WORKSPACE=/path/to/workspace mind-mem-mcp
# HTTP transport (multi-client / remote) — requires MIND_MEM_TOKEN per v3.7.0 fail-closed contract
MIND_MEM_WORKSPACE=/path/to/workspace MIND_MEM_TOKEN=$(openssl rand -hex 32) \
mind-mem-mcp --transport http --host 127.0.0.1 --port 8765资源(只读)
| URI | 描述 |
|---|---|
mind-mem://decisions | 积极决策 |
mind-mem://tasks | 所有任务 |
mind-mem://entities/{type} | 实体(项目、人员、工具、事件) |
mind-mem://signals | 自动捕获的信号等待审查 |
mind-mem://contradictions | 检测到矛盾 |
mind-mem://health | 工作区运行状况摘要 |
mind-mem://recall/{query} | BM25召回搜索结果 |
mind-mem://ledger | 共享事实分类账(多代理) |
工具(21)
| 工具 | 说明 |
|---|---|
recall | 使用BM25搜索内存(查询、限制、仅限活动) |
propose_update | 提出决策/任务——仅写入SIGNALS.md |
approve_apply | 应用分阶段提案(默认情况下dry_run=True) |
rollback_proposal | 按接收时间戳回滚已申请的提案 |
scan | 运行完整性扫描(矛盾、漂移、信号) |
list_contradictions | 使用自动解析分析列出矛盾 |
hybrid_search | 基于RRF融合的混合BM25+矢量搜索 |
find_similar | 查找与给定块相似的块 |
intent_classify | 对查询意图进行分类(9种类型,带参数建议) |
index_stats | 索引统计、MIND内核可用性、块计数 |
retrieval_diagnostics | 管道拒收率、意图直方图、硬阴性 |
reindex | 重建FTS5索引(可选包括向量) |
memory_evolution | 查看/触发块的A-MEM元数据演化 |
list_mind_kernels | 列出可用的MIND内核配置 |
get_mind_kernel | 以JSON格式读取特定的MIND内核配置 |
category_summary | 与给定主题相关的类别摘要 |
prefetch | 根据最近的对话信号预先组装上下文 |
delete_memory_item | 按ID删除内存块(管理员作用域) |
export_memory | 将工作区导出为JSONL(用户作用域) |
calibration_feedback | 提交检索块的质量反馈(竖起大拇指/向下竖起大拇指) |
calibration_stats | 查看每个块和全局校准统计数据 |
令牌认证(HTTP)
MIND_MEM_TOKEN=your-secret mind-mem-mcp --transport http --port 8765从v3.7.0开始,HTTP身份验证失败。 如果两者都没有 MIND_MEM_TOKEN 也不 MIND_MEM_ADMIN_TOKEN 已设置,服务器拒绝 开始。对于本地开发,您可以选择回归传统 行为,但仅限于环回绑定:
MIND_MEM_ALLOW_UNAUTHENTICATED_LOCALHOST=1 \
mind-mem-mcp --transport http --host 127.0.0.1 --port 8765 \
--allow-unauthenticated-localhost如果绑定主机不是,则标记为no op 127.0.0.1 / ::1 / localhost --服务器仍然拒绝启动。生产 部署应始终设置令牌。
安全保证
propose_update永远不要写入DECISIONS.md或TASKS.md。 所有提案均提交给SIGNALS.md。approve_apply默认为dry_run=True。 在申请回滚之前创建快照。- 所有资源都是只读的。 任何MCP客户端都不能通过资源改变真相的来源。
- 命名空间感知。 多代理工作区按代理ACL作用域资源。
______________________________________________________________________
安全
威胁模型
| 我们保护什么 | 如何 |
|---|---|
| 内存完整性 | 74+结构检查,约束签名验证 |
| 意外覆盖 | 仅基于提案的突变(从不直接写入) |
| 回滚安全 | 每次应用前的快照,原子 os.replace() |
| Symlink攻击 | 恢复路径中的Symlink检测 |
| 路径遍历 | 通过解析所有路径 os.path.realpath(),仅相对工作空间 |
| 我们不保护什么 | 为什么 |
|---|---|
| 恶意本地用户 | 单用户CLI工具--文件系统访问=数据访问 |
| 网络攻击 | 无网络呼叫、无监听端口、无遥测 |
| 加密存储 | 文件是明文Markdown——如果需要,请使用磁盘加密 |
无网络呼叫
MIND Mem制造 零网络呼叫 从其核心。没有遥测,没有打电话回家,没有云依赖。可选功能(矢量嵌入、交叉编码器)可以在首次使用时下载模型。
______________________________________________________________________
需求
- Python 3.10+
- 无外部包 --stdlib仅用于核心功能
可选依赖关系
| 包装 | 用途 | 安装 |
|---|---|---|
fastmcp | MCP服务器 | pip install mind-mem[mcp] |
onnxruntime + tokenizers | 局部向量嵌入 | pip install mind-mem[embeddings] |
sentence-transformers | 交叉编码器重新排序 | pip install mind-mem[cross-encoder] |
ollama | LLM提取(局部) | pip install ollama |
思维模式:4b——经过专业培训的法学硕士
为了获得最佳的LLM提取质量,请使用 思维模式:4b --在MIND Mem的8个提取任务(实体提取、事实提取、观察压缩、矛盾检测、治理分析、意图分类、轴感知检索、LLM重新排序)上对Qwen3.5-4B进行了全面的微调。RTX 3080(Q4_K_M,2.6GB VRAM)的经验: 104tok/s代,1585tok/s预充.
奥利玛(推荐):
# Download the GGUF from HuggingFace
wget https://huggingface.co/star-ga/mind-mem-4b/resolve/main/mind-mem-4b-Q4_K_M.gguf
# Create Ollama model
cat > Modelfile "
PARAMETER stop ""
EOF
ollama create mind-mem:4b -f Modelfile然后设置 mind-mem.json:
{
"extraction": {
"enabled": true,
"model": "mind-mem:4b",
"backend": "ollama"
}
}RTX 3080(Q4_K_M,2.6GB VRAM)的经验: 104tok/s代,1585tok/s预充.
全微调(变压器,无适配器):
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("star-ga/mind-mem-4b", device_map="auto", torch_dtype="bfloat16")
tokenizer = AutoTokenizer.from_pretrained("star-ga/mind-mem-4b")| 资源 | 链接 |
|---|---|
| 型号(GGUF+bf16安全张量) | 明星ga/mind-mem-4b |
| 基本型号 | Qwen/Qwen3.5-4B |
| 训练 | 在Runpod H200 SXM(141 GB HBM3e)、v3.12.0语料库(4392个示例)、bf16、paged-AdamW-8bit、批2×accum 16、max_length 2048、LR 1.5e-5余弦+3%预热上进行全面微调 |
| Eval(v3.12.0-fullft,在v3.12.1中发布) | 95/95 = 100% 跨十个类别——工具调用(20/20)、块模式(10/10)、工作流(5/5)、v39_new_tools(13/13)、v33_transform_hash(3/3)、v34_transport_guard(4/4)、v311_new_tools(10/10,v311_解释字段(10/10。两个探头故意软化——见HF型号卡“已知型号错误”一节。 |
平台支持
| 平台 | 状态 | 注释 |
|---|---|---|
| Linux | 完整版 | 主要目标 |
| macOS | 完整 | POSIX兼容的shell脚本 |
| Windows(WSL/Git Bash) | 完整版 | 使用WSL2或Git Bash进行shell挂钩 |
| Windows(本机) | 仅限Python | 使用 validate_py.py;挂钩需要WSL |
______________________________________________________________________
故障排除
| 问题 | 解决方案 |
|---|---|
validate.sh 说“找不到mind-em.json” | 在工作区中运行,而不是在repo根目录中运行。跑 init_workspace.py 第一。 |
recall 未返回结果 | 工作区为空。首先添加决策/任务。 |
capture 说“没有每日日志” | 否 memory/YYYY-MM-DD.md 今天。先写点东西。 |
intel_scan 发现0个矛盾 | 很好——没有冲突的决定。 |
| Windows上的测试失败 | 使用 validate_py.py 而不是 validate.sh挂钩需要WSL。 |
| MIND内核未加载 | 使用编译 mindc mind/*.mind --emit=shared -o lib/libmindmem.so。或者忽略——纯Python的工作原理完全相同。 |
常见问题
召回没有结果? 检查工作区路径是否正确并指向已初始化的工作区 包含决策、任务或实体。如果FTS5索引过时或丢失, 运行 reindex MCP工具来重建它。
MCP连接失败? 核实一下 fastmcp 已安装(pip install fastmcp).检查运输 客户端MCP配置中的配置(stdio vs HTTP)。确保 MIND_MEM_WORKSPACE 环境变量指向有效的工作区目录。
MIND内核未加载? 跑 bash src/mind_mem/build.sh 编译MIND源文件(需要 mindc). 如果MIND编译器不可用,MIND Mem会自动使用纯Python 回退,结果相同。
索引损坏? 跑吧 reindex MCP工具,或从命令行: python3 -m mind_mem.sqlite_index --rebuild --workspace /path/to/workspace. 这将从所有工作区文件中删除并重新创建FTS5索引。
______________________________________________________________________
规格
关于形式语法、不变规则、状态机和原子性保证,请参见 规格.md.
______________________________________________________________________
贡献
欢迎捐款。请先打开一个问题,讨论您想更改的内容。
看 贡献.md 作为指导方针。
______________________________________________________________________
许可证
Apache 2.0 -版权所有2026 STARGA公司和贡献者。
