记忆导出/导入脚本¶
与其他用户分享你的 claude-mem 知识!这些脚本允许你导出特定记忆(观察、会话、摘要和提示),并将它们导入到另一个 claude-mem 安装中。
使用场景¶
- 分享 Windows 兼容性知识给 Windows 用户
- 分享 Bug 修复模式给贡献者
- 跨团队分享项目特定经验
- 备份特定记忆集合以便妥善保管
工作原理¶
导出脚本¶
使用混合搜索(结合 ChromaDB 向量嵌入与 FTS5 全文搜索)搜索数据库,并导出所有匹配的内容:
- 观察(Observations) - 单独的学习成果和发现
- 会话(Sessions) - 会话元数据
- 摘要(Summaries) - 会话摘要
- 提示(Prompts) - 促成工作的用户提示
输出是一个可移植的 JSON 文件,可以共享。
隐私说明: 导出文件以纯文本形式包含所有匹配的记忆数据。在分享前请检查导出内容,确保其中不包含敏感信息(API 密钥、密码、私有路径)。
导入脚本¶
导入记忆并具备重复预防功能:
- 在插入前检查每条记录是否已存在
- 自动跳过重复记录
- 通过事务性导入维护数据完整性
- 报告已导入与已跳过的内容
当目标安装中已存在某个会话时,其本地标题、提示和已注册的记忆会话 ID 会被保留。来自导出的新观察和新摘要会附加到该现有会话上。如果该会话还没有记忆会话 ID,导入程序会先注册导出的 ID,然后再添加这些记忆。重新导入同一份导出文件时,仍会跳过已恢复的记忆。
重复检测策略:
- 会话(Sessions):通过 claude_session_id(唯一)
- 摘要(Summaries):通过 sdk_session_id(唯一)
- 观察(Observations):通过 sdk_session_id + title + created_at_epoch(复合)
- 提示(Prompts):通过 claude_session_id + prompt_number(复合)
使用方法¶
导出记忆¶
# Export all Windows-related memories
npx tsx scripts/export-memories.ts "windows" windows-memories.json
# Export bug fixes
npx tsx scripts/export-memories.ts "bugfix" bugfixes.json
# Export specific feature work
npx tsx scripts/export-memories.ts "progressive disclosure" progressive-disclosure.json
参数:
1. <query> - 搜索查询(使用混合语义 + 全文搜索)
2. <output-file> - 输出的 JSON 文件路径
3. --project=name - 可选:将结果筛选到特定项目
示例输出:
🔍 Searching for: "windows"
✅ Found 54 observations
✅ Found 12 sessions
✅ Found 12 summaries
✅ Found 7 prompts
📦 Export complete!
📄 Output: windows-memories.json
📊 Stats:
• 54 observations
• 12 sessions
• 12 summaries
• 7 prompts
导入记忆¶
参数:
1. <input-file> - 输入的 JSON 文件(来自导出脚本)
示例输出:
📦 Import file: windows-memories.json
📅 Exported: 2025-12-10T23:45:00.000Z
🔍 Query: "windows"
📊 Contains:
• 54 observations
• 12 sessions
• 12 summaries
• 7 prompts
🔄 Importing sessions...
✅ Imported: 12, Skipped: 0
🔄 Importing summaries...
✅ Imported: 12, Skipped: 0
🔄 Importing observations...
✅ Imported: 54, Skipped: 0
🔄 Importing prompts...
✅ Imported: 7, Skipped: 0
✅ Import complete!
📊 Summary:
Sessions: 12 imported, 0 skipped
Summaries: 12 imported, 0 skipped
Observations: 54 imported, 0 skipped
Prompts: 7 imported, 0 skipped
重新导入(重复预防)¶
如果对同一文件再次运行导入,重复记录会被自动跳过:
🔄 Importing sessions...
✅ Imported: 0, Skipped: 12 ← All skipped (already exist)
🔄 Importing summaries...
✅ Imported: 0, Skipped: 12
🔄 Importing observations...
✅ Imported: 0, Skipped: 54
🔄 Importing prompts...
✅ Imported: 0, Skipped: 7
分享记忆¶
给导出作者的说明¶
-
导出你的记忆:
-
通过以下方式分享 JSON 文件:
- GitHub gist
- 项目仓库(
shared-memories/) - 直接文件传输
-
打包到发布版本中
-
记录包含的内容:
- 使用了什么查询
- 包含哪些知识
- 哪些人可能从中受益
给导入用户的说明¶
-
将导出文件下载到本地机器
-
查看其中的内容(可选):
-
导入到你的数据库:
-
通过搜索验证导入:
JSON 导出格式¶
{
"exportedAt": "2025-12-10T23:45:00.000Z",
"exportedAtEpoch": 1733876700000,
"query": "windows",
"totalObservations": 54,
"totalSessions": 12,
"totalSummaries": 12,
"totalPrompts": 7,
"observations": [ /* array of observation objects */ ],
"sessions": [ /* array of session objects */ ],
"summaries": [ /* array of summary objects */ ],
"prompts": [ /* array of prompt objects */ ]
}
安全特性¶
✅ 重复预防 - 不会重新导入已存在的记录 ✅ 事务性 - 全有或全无的导入(数据库保持一致) ✅ 只读导出 - 导出脚本以只读模式打开数据库 ✅ 依赖排序 - 会话先于观察/摘要导入 ✅ 验证 - 在开始前检查数据库是否存在
高级用法¶
按项目导出¶
# Export only claude-mem project memories
npx tsx scripts/export-memories.ts "bugfix" bugfixes.json --project=claude-mem
# Export all memories for a specific project
npx tsx scripts/export-memories.ts "" all-project.json --project=my-app
按类型导出¶
# Export only discoveries
npx tsx scripts/export-memories.ts "type:discovery" discoveries.json
# Export only bug fixes
npx tsx scripts/export-memories.ts "type:bugfix" bugfixes.json
按日期范围导出¶
您可以在导出后对结果进行筛选:
# Export all memories, then filter manually with jq
npx tsx scripts/export-memories.ts "" all-memories.json
cat all-memories.json | jq '.observations |= map(select(.created_at_epoch > 1700000000000))' > recent-memories.json
合并多个导出¶
# Export different topics
npx tsx scripts/export-memories.ts "windows" windows.json
npx tsx scripts/export-memories.ts "linux" linux.json
# Import both
npx tsx scripts/import-memories.ts windows.json
npx tsx scripts/import-memories.ts linux.json
故障排查¶
数据库未找到¶
解决方法:请确保 claude-mem 已安装且至少运行过一次。
导入文件未找到¶
解决方法:检查文件路径。如有需要,请使用绝对路径。
部分导入¶
如果导入中途失败,事务将回滚——您的数据库保持不变。请修复问题后重试。
贡献记忆集¶
如果您导出了可能对他人有用的宝贵知识:
- 向
shared-memories/目录提交一个 PR - 包含一个 README,说明导出内容
- 使用相关关键词进行标记(windows、linux、bugfix 等)
- 社区成员随后即可导入您的知识!
实用导出示例¶
Windows 兼容性知识:
渐进式披露架构:
缺陷修复模式:
性能优化:
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/claude-mem