MemPalace 旧 Drawer 缺少 authored_at 字段怎么修复:backfill 脚本与重挖两种方式

发布时间:2026/11/5 12:14:37

MemPalace 旧 Drawer 缺少 authored_at 字段怎么修复:backfill 脚本与重挖两种方式 MemPalace 旧 Drawer 缺少 authored_at 字段怎么修复backfill 脚本与重挖两种方式【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace如果你的 MemPalace 里有些对话类 Drawer 只有入库时间、没有内容实际书写时间authored_at本文给出两条文档支持的修复路径原地 backfill 脚本推荐不重新嵌入和删除后重挖。适用前提是这些 Drawer 来自带逐行时间戳的 Claude Code / Codex JSONL 对话且对应的.jsonl转录文件仍在磁盘上。问题背景为什么旧 Drawer 没有 authored_atMemPalace 的 miner 在挖掘对话转录时会把每行 ISO-8601timestamp里最近的一条记录为该 Drawer 的authored_at——也就是内容真正被写下的时间。这个字段和入库时间是两回事字段含义filed_at/ 结果的created_atDrawer 被挖掘写入宫殿的时间批量重挖会让它们塌缩到同一时刻authored_at底层内容被写下的时间从转录时间戳恢复重挖后仍然保留authored_at会出现在搜索结果里CLIsearch输出中也会展示并作为混合排序中的确定性 tie-break分数相同的结果authored_at更近的排前面。关键限制在于重挖并不能修复旧 Drawer。扫描器会跳过已经在当前NORMALIZE_VERSION下挖掘过的文件所以单纯重新跑挖掘不会给这些旧 Drawer 补上authored_at。修复只有两条路见 docs/authored-at.md原地 backfill推荐不重新嵌入——scripts/backfill_authored_at.py读取每个 convos Drawer 的源转录只更新authored_at元数据。删除后重挖——删掉受影响的 Drawer 再重新挖掘转录新挖的会带上authored_at但会把所有内容重新嵌入。修复前准备确认你的宫殿目录路径脚本参数--palaceChromaDB palace 目录文档示例用~/.mempalace/palace。确认.jsonl转录文件所在的目录例如~/.claude和~/.codex。源转录不在磁盘上的 Drawer 会被原样跳过所以--sessions要指向仍保存着这些.jsonl的目录。先备份再动手文档给出的备份命令tar czf palace-backup.tgz -C palace-dir .palace-dir替换成你的宫殿目录路径即--palace指向的目录Docker 部署可改为对mempalace-data卷做快照。方式一原地 backfill 脚本推荐脚本 scripts/backfill_authored_at.py 只处理ingest_mode convos的 Drawer只改元数据、不碰嵌入向量无重新嵌入成本。它幂等已正确的 Drawer 会被跳过可以安全重跑。第 1 步dry-run 预检。默认不带--apply只报告将改动的数量、不写入python scripts/backfill_authored_at.py \ --palace ~/.mempalace/palace \ --sessions ~/.claude --sessions ~/.codex # dry run--sessions可重复传入多个目录。运行后你会看到一行统计形如文档示例格式数值随你的宫殿而异DRY-RUN (use --apply to write): scannedN updatedN resolved_filesN unresolved_filesN其中updated是将被补上authored_at的 Drawer 数unresolved_files是源转录在磁盘上找不到、因而保持filed_at回退的文件数。第 2 步确认无误后写入。加上--applypython scripts/backfill_authored_at.py \ --palace ~/.mempalace/palace \ --sessions ~/.claude --sessions ~/.codex --apply # write写入成功后输出前缀变为APPLIED统计字段含义不变。Docker MCP 镜像变体可选。如果你跑的是 Docker 部署把数据卷和会话目录以只读方式挂载进去脚本头部给出了完整的docker run调用docker run --rm \ -v mempalace-data:/data \ -v ~/.claude:/sessions/claude:ro -v ~/.codex:/sessions/codex:ro \ -v $PWD/scripts/backfill_authored_at.py:/tmp/backfill.py:ro \ --entrypoint /app/.venv/bin/python mempalace:local \ /tmp/backfill.py --palace /data/.mempalace/palace \ --sessions /sessions/claude --sessions /sessions/codex --apply这里$PWD是仓库根目录scripts/backfill_authored_at.py的所在仓库--apply表示直接写入如需预检去掉--apply即可。方式二删除后重挖文档描述的更简单但代价更大的做法删掉受影响的 Drawer再重新挖掘转录新挖出来的会自动盖上authored_at。副作用是所有内容都会被重新嵌入。删除通过 MCP 工具mempalace_delete_drawer按 ID 删除见 website/reference/mcp-tools.md该参考还描述了按source_file批量删除对应 Drawer 的能力适合清掉某个来源下的全部记录。删除前建议同样先备份。重新挖掘按 mempalace/instructions/mine.md 的对话挖掘方式对会话导出目录运行mempalace mine dir --mode convosdir替换成你的会话导出目录。重新挖掘完成后新 Drawer 会自带authored_at。验证结果两种方式都完成后跑一次 MemPalace 的搜索查看结果的authored_at字段修复前缺少该字段的 Drawer 在结果里会回退显示为filed_at见 mempalace/searcher.py 中authored_at缺失时回退到filed_at的逻辑。修复后这些 Drawer 的authored_at应显示为从转录时间戳恢复出的实际书写时间而不再是入库时间。backfill 脚本本身也自带判断依据updated反映实际补了多少个unresolved_files反映有多少源转录没找到而保持回退——若unresolved_files不为 0说明对应的.jsonl不在你传入的--sessions目录里。边界与限制backfill 脚本只处理ingest_mode convos的 Drawer。Markdown 等没有逐行时间戳的 Drawer 保持filed_at回退不会被改动。源转录已从磁盘删除的 Drawer 会被原样跳过继续回退到filed_at——这是 backfill 的预期行为不是脚本失败。脚本只改元数据、不触碰嵌入向量且幂等可重复运行。重挖方式方式二会把内容重新嵌入成本更高如果只是想补时间字段优先用 backfill。下一步两种方式的命令、参数与输出字段以 docs/authored-at.md 和 scripts/backfill_authored_at.py 头部说明为准。挖掘、搜索的完整说明见 mempalace/instructions/mine.md 和 website/reference/mcp-tools.md。【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/5 1:37:32

伺服编码器停产替代的三条实战路径

1. 这不是换零件,是给产线做一次“神经外科手术”上周五下午三点,我接到华东一家汽车零部件厂的紧急电话。他们产线上那台用了八年的德国伺服压装机突然报错——编码器信号丢失。维修师傅拆开一看,原装的Heidenhain ECN 1313-2048已经停产三年…

2026/11/5 12:14:29

Stimulsoft Reports 2019.2.2 落地指南:老系统兼容与版本陷阱规避

简介:Stimulsoft Reports 2019.2.2 是一款面向.NET开发者的专业报表控件,适用于WinForms、ASP.NET及WPF平台,帮助开发者快速构建数据可视化报表与打印输出功能,尤其适合中高级C#工程师在企业级管理系统、BI看板或财务报表模块中集…

2026/11/5 12:14:29

H110/B250主板BIOS魔改:CPU微码、ME与刷写校验全流程

简介:面向希望为 B150、B250、H110 等老主板扩展 Intel 8/9 代 CPU 兼容性的 DIY 玩家与装机爱好者,这份 BIOS 魔改工具包提供了一套较完整的固件修改辅助材料,适合具备一定硬件基础、了解刷写风险的用户在做好备份与稳定供电的前提下研究使用…

2026/11/5 12:14:29

GD32E10x官方例程入门:从点灯到外设调试全流程

简介:这份GD32E10x系列官方例程面向使用兆易创新GD32E10x系列MCU的嵌入式开发者与初学者,基于ARM Cortex-M3内核,集合了从基础外设到通信、电机控制等场景的示例代码,可用于快速理解芯片用法并搭建工程。压缩包共935个文件&#x…

2026/11/5 12:09:24

潍坊高纯氢氧化镁生产厂家怎么选:泽隆新材料靠谱商家测评排名

潍坊高纯氢氧化镁怎么选不踩坑:从产能、品控到定制能力,一篇讲透靠谱厂家的判断标准采购高纯氢氧化镁、阻燃级氢氧化镁,最怕的不是价格高,而是批次不稳、指标浮动、交期失控。尤其是做线缆料、橡胶制品、阻燃母粒的企业&#xff0…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑