Install
openclaw skills install @thcjp/context-compressor-freeopenclaw skills install @thcjp/context-compressor-free让Agent的记忆瘦身。4-8倍压缩比,关键信息零丢失。
你的Agent的MEMORY.md是否已经膨胀到上万字?每日日志是否以2500字的速度堆积?关键决策是否被淹没在冗余的过程描述中?
上下文压缩器免费版采用"去重复、留转折、去过程、留白"四大压缩原则,将冗长的原始日志压缩为结构化精华。这不是简单的"摘要缩短",而是基于信息密度评估的智能压缩方法论。
┌────────────────────────────────────────────────┐
│ 三层记忆压缩体系 │
├────────────────────────────────────────────────┤
│ │
│ 第一层:身份档案 (IDENTITY.md) │
│ 超压缩,稳定不变 │
│ 你是谁,什么最重要 │
│ │
│ 第二层:策展记忆 (MEMORY.md) ◄──┐ │
│ 4:1压缩后的结构化摘要 │ │
│ 关键事件 + 教训 + 待办 │ │
│ │ │
│ 第三层:原始日志 (memory/YYYY-MM-DD.md) │
│ 完整细节,所有内容 ──────┘ │
│ 约2500字/天 │
│ │
│ 上下文压缩器:第三层 ──► 第二层 │
└────────────────────────────────────────────────┘
# 压缩单日日志为结构化摘要
node scripts/context-compressor.js memory/2026-03-14.md
# 指定输出路径
node scripts/context-compressor.js memory/2026-03-14.md /tmp/compressed.md
# 压缩后追加到长期记忆
node scripts/context-compressor.js memory/2026-03-14.md /tmp/today.md
cat /tmp/today.md >> MEMORY.md
将以下内容加入Agent的维护周期:
#
## 记忆维护(每2-3天执行)
1. 执行:node scripts/context-compressor.js memory/YYYY-MM-DD.md /tmp/compressed.md
2. 人工审核压缩结果准确性
3. 追加:cat /tmp/compressed.md >> MEMORY.md
4. 记录时间戳:date +%s > .last-memory-maintenance
大多数记忆工具在面对非结构化日志时会失效,本工具采用三步混合策略:
第一步 - 关键词匹配:扫描标题,识别40+种中英文模式:
| 类别 | 中文模式 | 英文模式 |
|---|---|---|
| 事件 | 重大进展、突破、里程碑、决策 | breakthrough, milestone, decision |
| 教训 | 教训、反思、洞察、收获 | insight, takeaway, lesson |
| 成长 | 进化、改进、优化 | evolution, improvement |
| 待办 | 待办、紧急、重要 | todo, next step, urgent |
第二步 - 兜底提取:当无关键词匹配时(如基于时间的标题## 08:44 站会),自动提取所有章节的顶部条目。确保零数据丢失。
第三步 - 混合模式:对于多日合并文件,匹配章节用关键词提取,未匹配章节用兜底提取。两者共存,不丢弃任何内容。
输入: 用户提供智能混合提取所需的指令和必要参数。 处理: 按照skill规范执行智能混合提取操作,遵循单一意图原则。 输出: 返回智能混合提取的执行结果,包含操作状态和输出数据。
| 原则 | 含义 | 示例 |
|---|---|---|
| 去重复 | 提及一次即足够 | 不在3个章节重复"WebSocket重连" |
| 留转折 | 只保留变化点 | "从nginx切换到直连Node.js WSS" > 5段调试过程 |
| 去过程 | 结果重于过程 | "失败3次后用X修复" > 3段失败描述 |
| 留白 | 让读者自行推断 | 层级列表暗示关系,无需赘述 |
输入: 用户提供四大压缩原则所需的指令和必要参数。 处理: 按照skill规范执行四大压缩原则操作,遵循单一意图原则。 输出: 返回四大压缩原则的执行结果,包含操作状态和输出数据。
**输入**: 用户提供结构化输出模板所需的指令和必要参数。
**处理**: 按照skill规范执行结构化输出模板操作,遵循单一意图原则。
**输出**: 返回结构化输出模板的执行结果,包含操作状态和输出数据。
- 执行此能力时使用`input_params`参数,支持创建/查询/导出操作
**能力覆盖范围**:本skill的核心能力覆盖以下场景关键词:智能压缩对话日志、为结构化摘要、倍压缩比、保留关键决策与教、Token、上下文压缩器免费、版解决、Agent、长期协作中、记忆膨胀、的核心痛点、MEMORY、动辄上万字、每日日志堆积如山、关键决策被冗余信、息淹没、成本随对话增长线、性飙升、Use、when、模型调用、智能对话、LLM、应用时使用、不适用于需要、确定性的关键决策、适用于独立开发者、企业团队和自动化、工作流场景等。
## 2026-03-14 关键经验
### 关键事件
- **事件标题**
- 细节1
- 细节2
### 核心教训
- 教训内容
### 待办/遗留
- 紧急事项
- 重要事项
| 场景 | 处理方式 |
|---|---|
| 空文件 | 优雅跳过,不报错 |
| BOM编码 | 自动检测并剥离 |
| 非UTF-8编码 | 警告并继续处理 |
| 输出目录缺失 | 自动创建 |
| 无Markdown结构 | 友好提示信息 |
| 多日合并文件 | 混合策略,保留所有日期 |
痛点:独立开发者使用AI Agent辅助开发,每日产生约2500字的对话日志,一个月后MEMORY.md膨胀至75000字,Agent读取缓慢且关键决策被淹没。
解决方案:
# 每周批量压缩本周日志
for file in memory/2026-03-{08..14}.md; do
[ -f "$file" ] && node scripts/context-compressor.js "$file" "/tmp/$(basename $file)"
done
# 合并压缩结果到长期记忆
cat /tmp/2026-03-*.md >> MEMORY.md
效果:7天日志从17500字压缩至约2200字,压缩比8:1。Agent读取MEMORY.md的速度提升,关键决策不再被过程描述淹没。
痛点:个人使用AI助手管理日常事务,长期对话导致上下文窗口被旧日志占满,新对话响应变慢,Token成本逐月上升。
解决方案:
# 每月定期压缩
node scripts/context-compressor.js memory/2026-02.md /tmp/feb-summary.md
# 审核后替换原始日志
mv /tmp/feb-summary.md memory/2026-02-compressed.md
效果:月度日志从75000字压缩至约10000字,Token消耗降低约60%,Agent响应速度显著提升。
痛点:学生团队使用AI Agent协助完成学期项目,3个月下来日志累积过多,期末回顾时无法快速定位关键决策和技术选型原因。
解决方案:
# 压缩整个项目周期的日志
for file in memory/2026-{02,03,04}-*.md; do
[ -f "$file" ] && node scripts/context-compressor.js "$file" "/tmp/$(basename $file)"
done
# 生成项目决策摘要
cat /tmp/2026-*.md > PROJECT-DECISIONS.md
效果:3个月日志压缩为结构化决策文档,期末回顾时快速定位每个技术选型的原因和教训。
用法:
node scripts/context-compressor.js <日志文件> [输出文件]
node scripts/context-compressor.js --help
参数:
<日志文件> 必填,要压缩的日志文件路径
[输出文件] 可选,压缩结果输出路径,默认输出到标准输出
示例:
node scripts/context-compressor.js memory/2026-03-14.md
node scripts/context-compressor.js memory/2026-03-14.md /tmp/compressed.md
不会。本工具采用"零关键信息丢失"原则,通过三步混合提取策略确保所有关键事件、决策、教训都被保留。压缩去除的是冗余重复、过程描述和无关细节,而非关键信息。建议首次使用时人工审核压缩结果,确认无误后即可放心使用。
支持标准Markdown格式的日志文件,包括使用#、##、###标题层级的文件。对于无Markdown结构的纯文本文件,会给出友好提示。支持UTF-8编码,自动处理BOM头。非UTF-8编码文件会警告但继续处理。
平均压缩比为4-8倍,具体取决于原始日志的冗余程度。冗余越多,压缩比越高。对于高度结构化且无重复的日志,压缩比可能为2-3倍。对于充满重复过程描述的日志,压缩比可达10倍以上。
将压缩命令加入Agent的心跳维护周期(每2-3天执行一次)。本工具提供了可复制的维护模板,只需替换日期参数即可。建议在Agent规则中明确要求定期执行记忆维护。
免费版支持单文件压缩、固定输出模板、基础关键词匹配。批量压缩需手动循环执行。不支持自定义模板、压缩质量评分、增量压缩等高级功能。解锁全部功能请使用专业版:context-compressor-pro。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
| Node.js 14+ | 运行时 | 必需 | 从nodejs.org安装 |
| context-compressor.js | 脚本 | 必需 | 随本技能提供 |
本技能基于原始开源作品改进,保留原始版权声明:
本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:
原始MIT-0 license允许使用、复制、修改和分发,无需保留版权声明。本改进作品在保留原始版权声明的基础上添加自有署名,完全符合MIT-0 license要求。
本免费体验版限制以下高级功能:
解锁全部功能请使用专业版:context-compressor-pro
### 一分钟压缩你的第一个日志
```bash
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |