核心用法
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 旧配置块 | 严格遵循官方迁移指南 |
总体评估:技术方案成熟、文档详尽、开发者自用背书可信,但「显式写入」设计对用户的工程素养提出明确要求。