开发者 Anish 在 Hacker News 发布开源项目 Mnemolith,目标解决 AI 编码工具在会话之间遗忘项目背景、或继续沿用已失效事实的问题。该项目以 MCP 服务器形式提供,目前版本为 v0.2.1。
发生了什么
Mnemolith 面向 Claude Code、Cursor、Codex 等编码代理,按 git 仓库为每个项目维护一份共享记忆。当代理写入一条记忆时,可以把这条记忆关联到它所依赖的文件,Mnemolith 会记录这些文件当时的 git blob 哈希。
一旦相关文件内容发生变化,无论是否已提交,对应记忆就会被搁置并标记为待复核,代理随即停止依赖它。项目还提供本地仪表盘,用于查看代理记住了什么、每条记忆来自哪个工具与会话、基于哪些文件版本,以及完整的变更历史;用户可以确认记忆仍然有效,或将其废弃并说明当前事实。
在矛盾判断上,Mnemolith 交由代理本身裁决,而不是设置相似度阈值。作者给出的校准例子是,“我们使用 Postgres”与“我们迁移到了 MySQL”的相似度得分仅为 0.30,因此阈值方式难以区分矛盾与无关事实。当前有效的记忆还可以同步到 AGENTS.md / CLAUDE.md 的受管段落,以便在 PR 流程中被审阅。
为什么重要
编码代理的项目记忆通常以文本形式长期保存,缺少与代码状态的联动,容易在技术栈迁移、配置调整之后继续引用过期信息。Mnemolith 将记忆的有效性与文件内容哈希绑定,把“记忆过期”变成一个可检测、可复核的事件,而非依赖用户事后纠正。
该项目在实现上使用作者用 Java 从零编写的引擎,包含兼容 Redis 的服务器、内置记忆模型和 HNSW 向量索引,嵌入模型为本地运行的 all-MiniLM-L6-v2,数据全部保留在用户机器上。
背景补充
作者说明,除 AGENTS.md / CLAUDE.md 文件外,目前尚无团队同步能力,运行需要 Java 11 及以上版本,若本机没有会自动下载一份私有副本。他表示希望获得在真实代码库上使用编码代理的开发者反馈,尤其是代理反复出错的具体场景。
来源:Show HN: Mnemolith – AI coding memory that goes stale when y…(发布于 2026-10-22)
评论 (0)
暂无评论,欢迎留下你的看法。
发表评论