Clever Compact

🧠 终结 OpenClaw 失忆、丢失与漂移

OpenClaw 原生插件,解决会话失忆、压缩丢失和记忆漂移三大记忆故障,通过状态文件注入实现零令牌开销的上下文连续性。

收藏
6.3k
安装
1.3k
版本
2.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Clever Compact 是一款面向 OpenClaw 高级用户的原生插件,专门解决长期对话中的三种典型记忆故障模式:

1. `/new` 失忆症:新会话启动时,代理完全遗忘用户身份与历史上下文
2. 压缩丢失:上下文窗口触发 compaction 时,正在进行的任务流被强制中断

3. 记忆漂移:跨会话的决策记录逐渐淡化,导致重复犯错

双机制架构

  • 自动恢复:会话启动时(包括 /new 和 compaction 后),自动注入 72 小时内生成的状态文件作为系统上下文,仅在首回合执行,零 per-turn 令牌开销
  • 显式写入:通过三种触发方式保存状态——手动指令、cron 定时任务(推荐在 compaction 前 5 分钟执行)、或 HEARTBEAT.md 阈值检测(75% 上下文占用时)

技术依赖:要求 OpenClaw ≥ 2026.3.7,通过 api.fn("clever-compact:write") 支持程序化调用。

显著优点

  • 零运行时开销:v2.2.0 修正了早期版本的 per-turn 注入问题,改为会话级单次注入,显著降低 token 消耗和 compaction 频率
  • 架构务实:在未开放 pre-compaction 系统钩子的情况下,cron + heartbeat 的组合方案是工程上的最优解
  • 格式标准化:状态文件采用结构化 Markdown,包含 Active Workstreams、Key Decisions、Open Tasks、Remember Flags 四栏,便于人工审阅与版本控制
  • 配置灵活性:支持 reserveTokens 调参(建议 15,000 vs 默认 50,000),可将 compaction 触发点从 ~150k 延后至 ~185k,减少 3-4 倍压缩事件

潜在局限

  • 写入非自动化:核心局限在于 OpenClaw 未暴露 pre-compaction 生命周期钩子,状态保存依赖外部触发(cron/heartbeat/手动),存在时间窗口风险;若用户未配置触发机制,功能降级为纯手动模式
  • 72 小时窗口:自动忽略超过 3 天的状态文件,对低频使用场景可能造成上下文断裂
  • 单平台绑定:原生插件架构深度耦合 OpenClaw 生态,无跨平台移植性
  • 无冲突解决:若多设备/多会话同时生成状态文件,缺乏合并策略,后者覆盖前者

适合人群

  • 每日高频使用 OpenClaw 的深度用户(>3 小时/天)
  • 运行长期项目(>1 周)且需要跨会话决策一致性的团队
  • 对上下文压缩机制有认知、愿意维护 cron/heartbeat 配置的 power user
  • 不适合:偶尔使用、期望「开箱即用」的 casual user,或无服务器权限配置定时任务的环境

常规风险

| 风险类型 | 描述 | 缓解建议 |
|---------|------|---------|
| 状态过期 | 超过 72 小时未使用,自动恢复失效 | 保持每日至少一次触发,或接受手动恢复 |
| 写入窗口丢失 | cron/heartbeat 未命中,compaction 前未保存 | 设置冗余触发(cron + heartbeat 双保险) |
| 敏感信息泄露 | 状态文件明文存储本地 `memory/` 目录 | 对目录启用加密,避免云同步 |
| 版本兼容 | 插件与 OpenClaw 版本强绑定 | 升级前核对 `Requires` 字段 |
| 迁移摩擦 | v1→v2 需移除 AGENTS.md 旧配置块 | 严格遵循官方迁移指南 |

总体评估:技术方案成熟、文档详尽、开发者自用背书可信,但「显式写入」设计对用户的工程素养提出明确要求。

Clever Compact 内容

scripts文件夹
templates文件夹
手动下载zip · 9.0 kB
pre-compact-scan.mdtext/markdown
请选择文件