内存导出/导入脚本
与其他用户分享你的 claude-mem 知识!这些脚本允许你导出特定记忆(观察、会话、摘要和提示)并将它们导入到另一个 claude-mem 安装中。
使用案例
- 与 Windows 用户分享 Windows 兼容性知识
- 与贡献者分享漏洞修复模式
- 在团队之间共享特定项目的经验教训
- 备份特定内存集以保管
运作方式
导出脚本
使用 混合搜索(结合 ChromaDB 向量嵌入和 FTS5 全文搜索)搜索数据库,并导出所有匹配项:
- 观察 - 个人的学习和发现
- 会话 - 会话元数据
- 摘要 - 会议摘要
- 提示 - 导致该作品的用户提示
输出是一个可共享的便携式 JSON 文件。
隐私提示: 导出文件包含所有匹配的内存数据的明文。在共享之前请审查导出内容,以确保不包含任何敏感信息(API 密钥、密码、私有路径)。
导入脚本
导入记忆,并防止重复:
- 在插入之前检查每条记录是否已存在
- 自动跳过重复项
- 通过事务导入保持数据完整性
- 报告已导入与已跳过的内容
重复检测策略:
- 会话:由
claude_session_id(唯一) - 摘要:由
sdk_session_id(唯一) - 观察:由
sdk_session_idtitlecreated_at_epoch(复合) - 提示: 由
claude_session_idprompt_number(合成)
使用
导出记忆
bash
# 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参数:
<query>- 搜索查询(使用混合语义全文搜索)<output-file>- 输出 JSON 文件路径--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导入记忆
bash
# Import from an export file
npx tsx scripts/import-memories.ts windows-memories.json参数:
<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分享回忆
供出口作者使用
导出你的回忆:
bashnpx tsx scripts/export-memories.ts "windows" windows-memories.json通过以下方式共享 JSON 文件:
- GitHub 代码片段
- 项目仓库 (
shared-memories/) - 直接文件传输
- 版本中的包
记录所包含的内容:
- 使用了什么查询
- 包含了哪些知识
- 谁可能会从中受益
针对进口用户
将导出文件下载到您的本地机器
查看其中内容(可选):
bashcat windows-memories.json | jq '.totalObservations, .totalSessions'导入到你的数据库:
bashnpx tsx scripts/import-memories.ts windows-memories.json通过搜索验证导入:
bashcurl "http://localhost:37777/api/search?query=windows&format=index&limit=10"
JSON 导出格式
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 */ ]
}安全功能
✅ 重复防止 - 不会重新导入已有记录 ✅ 事务性 - 全有或全无的导入(数据库保持一致) ✅ 只读导出 - 导出脚本以只读模式打开数据库 ✅ 依赖顺序 - 会话导入在观察/总结之前 ✅ 验证 - 在启动前检查数据库是否存在
高级用法
按项目导出
bash
# 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按类型导出
bash
# 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按日期范围导出
导出后你可以筛选导出的内容:
bash
# 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合并多个导出
bash
# 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故障排除
未找到数据库
❌ Database not found at: /Users/you/.claude-mem/claude-mem.db解决方案: 确保已安装 claude-mem 并至少运行过一次。
未找到导入文件
❌ Input file not found: windows-memories.json解决方案: 检查文件路径。如有需要,使用绝对路径。
部分导入
如果导入在中途失败,事务将回滚——您的数据库保持不变。修复问题后请重试。
贡献内存集
如果你已经输出了他人可能受益的宝贵知识:
- 在
shared-memories/目录下创建一个 PR - 包含一个描述导出内容的自述文件
- 用相关关键词标记(windows、linux、bug修复等)
- 社区成员然后可以导入你的知识!
有用出口的例子
Windows 兼容性知识:
bash
npx tsx scripts/export-memories.ts "windows compatibility installation" windows-fixes.json渐进披露架构:
bash
npx tsx scripts/export-memories.ts "progressive disclosure architecture token" pd-patterns.json错误修复模式:
bash
npx tsx scripts/export-memories.ts "bugfix error handling" bugfix-patterns.json性能优化:
bash
npx tsx scripts/export-memories.ts "performance optimization caching" perf-tips.json