Claude 内存工具: 路径 → 自定义 ID 正则化冲突,默认覆盖与之无关的内存文件

作者: rajarshidattapy创建于 2026年8月19日更新于 2026年9月17日
标签bug

** 严重性:** 中度(静态数据损失) ** 纸张:**`包装/工具/弧/ZZTERM0-Memory.ts:52-58'

□ 说明

" 将Path ToCustom 规范化 Id/. ' 改为`:

私人常态PathToCustomId(路径:字符串):字符串{ 返回路径 取而代之(/^/,"")//条条首斜线 .取代 (//g," "). . .取而代之(/./g," "). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


绘图不是注射式的。 所有这些都产生了相同的自定义Id
`回忆-注-txt':

# # 路径 # # 自定义 # # #
|-|-|-.
`/回忆/注.txt ' `回忆-注 txt'`
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *

以及`/记忆/项目/a.md'与`/记忆/项目-a.md'相冲突。

由于`海关 ' 是`客户.add() ' 、`create ' 、`create ' 的证件身份,
" str 取而代之 " 、 " 插入 " 、 " 重命名 " 和 " 删除 " 等碰撞是指:

- 在第二道上创建 - 覆盖了第一个文件的内容,没有
该工具报告成功。
- 任何路径的“查看”返回,无论哪个文档最终获胜。
- 无论是走哪条路 都会毁掉两者

内存目录是现实的触发器: Claude的内存工具
常规创建“/记忆/项目/foo.md”等路径,以及任何兄弟
`/记忆/项目-foo.md'(或第二个巢穴平地水平)
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}没有声响 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}没有声响

□ 建议修正

使编码可逆性——在取而代之之前先从分隔器中逃脱,例如.
`path.取而代之(/ /g," "). 取而代之(/[/.]/g," ")',或放弃变相.
完全和散开路径(`CustomId = "mem " + sha256(path.slic(0,32)'),如果
后端接受任意自定义ID。 不管怎么样,都加个往返论
为上面的三条相撞道.

内容来源: supermemoryai/supermemory