
MemPalace Hallways与Palace Graph解析跨Wing隧道如何实现跨项目记忆关联【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalaceMemPalace 是一个免费开源的 AI 记忆系统The best-benchmarked open-source AI memory system它把记忆组织成一座记忆宫殿Wing侧翼对应项目Room房间对应主题Drawer抽屉存放具体记忆片段。真正让多项目记忆活起来的是两套关联机制——跨 Wing 隧道Tunnels与Wing 内走廊Hallways。本文带你彻底搞懂这套跨项目记忆关联的原理与用法。记忆宫殿的空间模型Wing、Room、Drawer 是什么在理解隧道之前先建立空间感层级含义举例Palace宫殿你的全部记忆库~/.mempalace下的一个实例Wing侧翼一个独立领域/项目wing_code、wing_myproject、wing_teamRoom房间领域内的一个主题chromadb-setup、riley-college-appsDrawer抽屉房间里的具体记忆条目一段对话摘要、一条决策记录核心洞察同一个名字的 Room 出现在多个 Wing 里就说明这几个项目在该主题上有交集——这正是隧道自动产生的依据。跨 Wing 隧道Tunnels自动发现项目之间的暗道被动隧道同名 Room 自动连线Palace Graph 的构建逻辑非常直接见 palace_graph.py节点 Room命名的想法边 隧道同一 Room 横跨多个 Wing 形成的连接边类型 Hall走廊即主题分类也就是说不需要任何外部图数据库图完全是从 ChromaDB 的元数据算出来的。比如chromadb-setup这个房间同时存在于wing_code和wing_myproject中系统就会自动生成一条连接两个 Wing 的隧道并记录它属于哪个 Hall、共出现多少次。build_graph()还支持 60 秒 TTL 的模块级缓存写入时通过invalidate_graph_cache()失效保证查询快且数据不陈旧。图谱能回答什么问题模块开头的 docstring 给出了三个典型查询恰好是跨项目记忆的精髓从wing_code的chromadb-setup出发走到wing_myprojecttraverse()BFS 遍历默认 2 跳返回带connected_via的路径列表找出所有与riley-college-apps相连的房间wing_hardware和wing_myproject之间有哪些主题在搭桥find_tunnels()按出现次数排序最多返回 50 条graph_stats()则给出全景统计总房间数、被动隧道房间数、显式隧道数、每个 Wing 的房间分布以及跨得最多的 Top 10 隧道。显式隧道手动打通两个项目的记忆自动隧道只覆盖同名 Room而现实中更多关联是语义层面的。MemPalace 提供create_tunnel()手动创建显式隧道palace_graph.pycreate_tunnel(project_api, api-design, project_database, schema, labelAPI 契约依赖数据库表结构)几个值得注意的设计隧道是无向且幂等的create_tunnel(A, B)与create_tunnel(B, A)生成同一个规范 ID重复调用只会更新 label不会产生重复记录。端点严格校验显式隧道必须指向真实存在的房间否则会抛ValueError杜绝悬空链接。连接会成长每条隧道带 L7 动态字段strength/stability/access_count被访问、被重新激活会改变连接强度形成一个活着的关联层。三类隧道共存被动隧道同名 Room 自动、topic隧道挖掘时按共同主题自动生成房间名为合成的topic:name、explicit隧道人工创建。顺着隧道走follow_tunnelsfollow_tunnels(wing, room)从指定房间出发沿显式隧道返回其他 Wing 中相连的抽屉内容——这是跨项目记忆召回的最后一公里你在wing_code里查 API 设计时会自动看到wing_myproject里与之打通的相关记忆。Hallways走廊Wing 内部实体间的心智联想隧道管跨 Wing那么Wing 内部谁和谁总是一起出现呢这就是 hallways.py 的 Hallways 机制挖掘mine时系统扫描该 Wing 下所有抽屉的entities元数据分号分隔的实体串如Aya;Lumi;consciousness。同一个抽屉里共现的任意两个实体计一次共现共现次数 ≥ 2min_count即固化为一条 Hallway 记录并记录它们共同出现过的房间。比如Aya 和 Lumi 在日记、信件、灵感三个房间的 47 个抽屉里共同出现就会产生一条Aya ↔ Lumi的走廊。文档把整个层级关系总结得非常清晰Wing → 拥有 Drawers标记实体→ 实体之间由 Hallways 相连Wing 内→ Tunnels 基于 Hallways 数据衍生出跨 Wing 连接Hallway 的 ID 由wing 排序后的实体对 SHA-256 前 8 位派生_hallway_id()排序保证(Aya, Lumi)和(Lumi, Aya)是同一条记录重复挖掘只会 upsert 而不会翻倍。数据原子化写入hallways.json0600 权限临时文件 os.replace防写坏可手工检查与编辑。实战如何用 CLI 与 MCP 工具查看隧道和走廊一条命令查看 Wing 内的走廊python -m mempalace hallways --wing wing_diary --limit 20该命令入口在 cli.py 的cmd_hallways()输出形如N hallway(s):的关联列表如果还没有数据会提示它们在你挖掘时由抽屉实体自动构建。通过 MCP 工具让 AI 助手走图mcp_server.py 为 MCP 客户端Claude Code、Cursor 等暴露了一整套图谱工具工具作用mempalace_traverse从某房间出发行走图谱展示跨 Wing 相连的想法mempalace_find_tunnels找桥接两个 Wing 的房间哪些主题把wing_code和wing_team连起来mempalace_graph_stats宫殿图谱总览房间数、隧道数、边数、连通性mempalace_create_tunnel/mempalace_list_tunnels/mempalace_delete_tunnel显式隧道的增删查mempalace_list_hallways/mempalace_delete_hallway走廊记录的查询与删除mempalace_follow_tunnels沿隧道追出其他 Wing 中的相关抽屉一个典型使用场景在project_api里做 API 设计时AI 助手调用mempalace_find_tunnels发现它和project_database之间有topic:authentication隧道于是自动回忆起另一个项目里踩过的鉴权坑——这就是跨项目记忆关联落地的瞬间。关键文件导航想深入源码或文档可以从以下相对路径入手图谱与隧道核心实现mempalace/palace_graph.py走廊实体共现实现mempalace/hallways.pyMCP 工具层隧道/走廊工具注册处mempalace/mcp_server.pyCLI 的hallways子命令mempalace/cli.py记忆宫殿空间概念介绍website/concepts/the-palace.md知识图谱概念website/concepts/knowledge-graph.md记忆栈整体架构website/concepts/memory-stack.md隧道/走廊行为测试tests/test_palace_graph.py、tests/test_palace_graph_tunnels.py、tests/test_hallways.py小结为什么这套设计值得借鉴零额外依赖图不是再存一份而是从既有向量库元数据即时派生被动隧道零成本自动维护。三层关联齐备实体级HallwayWing 内共现→ 主题级同名 Room / topic 隧道跨 Wing→ 人工级显式隧道语义把关粒度从细到粗。面向 AI 助手设计所有能力都通过 MCP 工具暴露让 AI 能像人一样沿走廊走到另一个项目的房间里。如果你希望多个项目、多个 AI 会话共享一套可推理的记忆网络MemPalace 的 Hallways Palace Graph 机制给出了一个简洁而优雅的开源答案。【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考