核心用法
Context Shrink 是一款会话上下文管理 Hook,当对话上下文使用率超过 85% 阈值时自动触发压缩机制。其工作流程为:检测上下文负载 → 筛选超期日志(默认保留最近 3 天详细记录)→ 调用本地 Qwen2.5 3B 模型将旧日志压缩为摘要 → 写入 MEMORY.md 长期存储 → 自动 Git commit 归档。开发者可通过修改 TypeScript 配置调整触发阈值、保留天数及最小文件数等参数。
显著优点
自动化运维:零人工干预的内存回收机制,避免手动清理的繁琐操作。成本优化:通过本地小模型压缩替代云端长上下文续费,显著降低 API 调用成本。数据持久化:Git 版本控制确保记忆可追溯,MEMORY.md 结构便于检索。轻量集成:MIT 协议开源,Hook 架构设计使其可嵌入各类 AI 会话系统。
潜在缺点与局限性
精度损耗:3B 参数模型的摘要质量有限,复杂逻辑链可能被过度简化。阈值刚性:85% 固定触发点可能无法适配突发性长输入场景,缺乏动态调节能力。本地依赖:依赖 Ollama 本地服务,无 GPU 环境时压缩延迟显著增加。Git 污染风险:高频自动 commit 可能淹没有意义的代码变更记录。
适合人群
- 运行长会话 AI 应用的开发者(客服机器人、个人知识库助手)
- 需要控制上下文 token 成本的中小型团队
- 重视对话历史可追溯性的隐私敏感型用户
常规风险
| 风险类型 | 说明 |
|---------|------|
| 数据完整性 | 压缩过程可能丢失细粒度时间戳与元数据 |
| 模型幻觉 | 本地小模型摘要可能出现事实性偏差 |
| 存储膨胀 | MEMORY.md 长期累积仍需定期人工清理 |
| 并发冲突 | 多会话同时触发压缩时存在文件锁竞争可能 |