用途:Honey CCR(Compress-Cache-Retrieve)用于在工具输出进入上下文之前,压缩体量大且重复的数组数据,例如日志、扫描结果、时间序列和事件流。其理念是“最便宜的 token 是没被发送的 token”,一次为找一行错误而读取 500 行日志,会占用 500 行上下文;CCR 保留携带信号的行,缓存其余部分,并可按哈希取回,避免信息丢失。
主要能力:该方案借鉴 headroom 的 SmartCrusher,按设计是有损的,只适合快速浏览的数据,不适合每一行都关键的载荷(例如代码审查交接,实施者需要全部发现项,此时应使用 eson encode 无损编码)。当工具返回由大量记录组成的统一 JSON 数组(约 5 项以上且存在冗余)时适用;小数组会原样通过,非数组数据不处理。
使用方式:可通过管道调用,例如 tool-that-spews-json | eson crush,输出保留的样本加一个哨兵标记 {"_ccr":"<<ccr:HASH N_rows_offloaded>>"};需要被丢弃的行时,从哨兵读取哈希并运行 eson retrieve <hash>,即可逐字取回完整原始数组。缓存目录为 .honey-ccr/,可用 HONEY_CCR_DIR 覆盖。低于大小门槛时,crush 原样返回数组且不带哨兵,因此可安全地管道任何内容。
常驻钩子:Honey 激活期间,注册的 PostToolUse 钩子会自动对 Bash 输出应用该机制,无需每次调用手动选择。大型统一 JSON 数组(≥20 项、≥2k 字符)会被压缩;重复文本(≥25 行)会把连续重复折叠为 ⟨×N⟩。原始内容总是先被暂存,重写结果末尾会附带可恢复它的确切 eson retrieve <hash> 命令。/honey off 可禁用该钩子;已进入上下文的历史不可变,因为该机制只在入口处触发。
限制:受 anthropics/claude-code#68951 影响的 Claude Code 构建会忽略钩子的 Bash 重写,使钩子失效(会话启动时会给出警告)。手动 some-tool | eson crush 管道不受影响,在这些环境中应优先使用。资料未提供价格、平台支持范围等更多信息。