抓取并分析 OpenClaw JSONL 会话日志,重建并回填代理记忆文件。适用于:(1) 模型切换后记忆不完整,(2) 验证记忆覆盖度,(3) 重建丢失记忆,(4) 通过 cron/heartbeat 自动同步每日记忆。支持简单提取及基于 LLM 的叙事摘要,并自动清理敏感信息。
内存同步(Mymory Sync):用于在自动秘密消毒的模型开关间保持代理内存连续性的工具. . 要求 Python 3.11+并点击: QQ快速启动.Comm是一项面向实际任务的技能,主要用于Description.compare。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
一款用于在模型切换时维持智能体记忆连续性的工具,支持自动敏感信息脱敏。
需 Python 3.11+ 及 click 库:
pip install click # 可选:如不使用 OpenClaw 后端,则需直接调用 API 进行摘要生成 pip install openai
# 直接从技能目录运行 python ~/.openclaw/skills/memory-sync/memory_sync.py compare # 或为便捷起见创建别名 alias memory-sync="python ~/.openclaw/skills/memory-sync/memory_sync.py" # 检查记忆缺失项 memory-sync compare # 补全今日记忆(简易提取模式 —— 快速,无需 LLM) memory-sync backfill --today # 使用 LLM 生成叙事性摘要(调用 OpenClaw 原生模型,无需 API Key) memory-sync backfill --today --summarize # 补全所有缺失日期的记忆 memory-sync backfill --all
| 命令 | 说明 |
|---|---|
compare |
查找会话日志与记忆文件之间的缺失项 |
backfill --today |
为当前日期生成记忆 |
backfill --since YYYY-MM-DD |
从指定日期起补全至当前日期 |
backfill --all |
补全所有缺失日期的记忆 |
backfill --incremental |
仅补全自上次运行以来发生变更的日期 |
extract |
按条件提取对话内容 |
summarize --date YYYY-MM-DD |
为单日生成 LLM 摘要 |
transitions |
列出模型切换记录 |
validate |
检查记忆文件是否存在一致性问题 |
stats |
显示覆盖统计信息 |
backfill 命令支持两种模式:
简易提取(默认,不带 --summarize 参数):
--preserve 时:手写内容将被追加到新生成文件末尾LLM 摘要生成(启用 --summarize)—— 推荐使用:
--preserve 时:已有内容将被作为上下文传入 LLM,并指示其将其整合进新摘要中,保持时间顺序与主题结构常规使用推荐命令:
# 最佳质量:LLM 摘要,同时融合已有笔记 memory-sync backfill --today --summarize --preserve
两种模式均会在写入前自动执行敏感信息脱敏。
# 查看缺失项 memory-sync compare # 补全全部历史(可能耗时较长) memory-sync backfill --all
# 最佳实践:LLM 摘要 + 融合已有笔记 memory-sync backfill --today --summarize --preserve # 智能模式:仅处理自上次运行后变更的日期 memory-sync backfill --incremental --summarize --preserve # 或指定其他后端(如需) memory-sync backfill --today --summarize --preserve --summarize-backend anthropic
# 补全从上周起至今的所有日期 memory-sync backfill --since 2026-01-28 --summarize
# 重生成时保留人工编写的笔记 memory-sync backfill --date 2026-02-05 --force --preserve --summarize
所有内容在写入前均自动脱敏,防止密钥泄露:
敏感信息统一替换为 [REDACTED-TYPE] 占位符。
完整规则列表请参阅 SECRET_PATTERNS.md。
--summarize 参数支持通过 --summarize-backend 指定多种后端:
| 后端 | 说明 | 是否需要 API Key |
|---|---|---|
openclaw(默认) |
调用 OpenClaw 的 sessions spawn,使用您已配置的模型 |
否 |
anthropic |
通过 openai 包直连 Anthropic API | ANTHROPIC_API_KEY |
openai |
通过 openai 包直连 OpenAI API | OPENAI_API_KEY |
# 默认:使用 OpenClaw 原生模型(无需 API Key) memory-sync backfill --today --summarize # 显式指定后端 memory-sync backfill --today --summarize --summarize-backend openclaw memory-sync backfill --today --summarize --summarize-backend anthropic memory-sync backfill --today --summarize --summarize-backend openai # 为任意后端覆盖模型名称 memory-sync backfill --today --summarize --model claude-sonnet-4-20250514 memory-sync backfill --today --summarize --summarize-backend openai --model gpt-4o
推荐使用 openclaw 后端,因其:
对当日数据执行 LLM 摘要生成,并保留已有笔记:
0 3 * * * cd ~/.openclaw/skills/memory-sync && python memory_sync.py backfill --today --summarize --preserve >> ~/.memory-sync/cron.log 2>&1
自动检测自上次运行以来发生变化的日期:
# 初始全量补全(仅运行一次,采用简易提取以提升速度) python memory_sync.py backfill --all # 后续设置夜间增量任务(含 LLM 摘要) 0 3 * * * cd ~/.openclaw/skills/memory-sync && python memory_sync.py backfill --incremental --summarize --preserve >> ~/.memory-sync/cron.log 2>&1
状态信息保存于 ~/.memory-sync/state.json。
默认路径:
~/.openclaw/agents/main/sessions/*.jsonl~/.openclaw/workspace/memory/可通过 CLI 参数覆盖:
--sessions-dir /path/to/sessions--memory-dir /path/to/memory环境变量(仅适用于直连 API 的后端):
ANTHROPIC_API_KEY —— 用于 --summarize-backend anthropicOPENAI_API_KEY —— 用于 --summarize-backend openai默认的 openclaw 后端无需 API Key,它直接复用您的 OpenClaw 配置。
# 仅当使用直连 API 后端时才需设置 export ANTHROPIC_API_KEY=sk-ant-... export OPENAI_API_KEY=sk-...
--preserve 标志的行为取决于是否同时启用 --summarize:
未启用 --summarize(简易提取模式):
启用 --summarize(LLM 模式):
示例:
# 使用 LLM 重新生成,并将现有笔记融入摘要中 memory-sync backfill --date 2026-02-05 --force --preserve --summarize
自动生成的标记:
*Auto-generated from N session messages**Review and edit this draft to capture what's actually important.*页脚标记之后的内容被视为手写内容,将被保留。
日期选择(任选其一):
--date YYYY-MM-DD —— 指定单日--today —— 仅当前日期(适用于夜间自动化)--since YYYY-MM-DD —— 自指定日期起至当前(适用于断档恢复)--all —— 所有缺失日期(适用于初始配置)--incremental —— 仅上次运行后发生变更的日期(智能自动化)其他参数:
--dry-run —— 预览将生成的内容,不实际写入文件--force —— 强制覆盖已有文件(重生成必需)--preserve —— 重生成时保留手写内容--summarize —— 启用 LLM 生成叙事性摘要--summarize-backend BACKEND —— 摘要后端:openclaw(默认)、anthropic、openai--model MODEL —— 摘要模型(各后端默认值不同)| 模式 | 单日耗时 | 适用场景 |
|---|---|---|
--all |
5–10 分钟 × N 天 | 仅限初始配置 |
--since |
5–10 分钟 × N 天 | 断档恢复 |
--today |
30–60 秒 | 夜间自动化 |
--incremental |
30–60 秒 × 变更天数 | 智能自动化 |
相关专题
热门下载
相关下载
精品课程
共0课时 | 0人学习
共74课时 | 139.4万人学习
共8课时 | 8万人学习