v2.5.2 — 移除上下文压缩 + 内部截断无缝续写
🗜️ 移除上下文智能压缩 (Reverted)
移除 v2.5.1 引入的"智能压缩替裁剪"功能。
问题回顾:上下文压缩会将历史 Action output(文件内容、命令输出等)压缩为 [30000 chars...] 摘要,导致大模型在后续轮次中彻底"失忆"——无法回忆已读取文件的具体内容,进而陷入重复读取文件的死循环、产生幻觉,甚至复读 [Called Bash(command... 等错误格式后卡死。
结论:Claude Code 等 Agent 高度依赖完整的工具调用历史来决策下一步行动,粗暴压缩历史记录弊大于利。
彻底解决长输出被截断后工具调用退化为纯文本的致命问题!
场景:当模型使用 Write 工具写入大文件(几万字)、或 Read 返回超长输出时,Cursor API 底层的 max_tokens 限制会强行切断正在输出的 JSON 代码块,导致工具调用格式损坏。
旧行为:截断后 Claude Code 收到残缺的纯文本,要么停顿几分钟(Crunched for Xm Xs),要么需要用户手动点击"继续"按钮。
新行为:Proxy 在底层自动检测截断(代码块/XML 未闭合),然后静默发起续写请求(最多 4 次),将多次响应无缝拼接为完整的 JSON 工具调用块后,再一次性返回给 Claude Code。
Claude Code 端完全无感知,始终收到格式完整的工具结果。
🔧 工具参数修复 (tool-fixer)
移除 file_path → path 的隐式强制重命名逻辑,修复 Claude Code v2.1.71 中 Read 工具因必需参数 file_path 被篡改而陷入验证失败死循环的问题。
📦 清理
移除已废弃的上下文压缩相关测试文件(
compression-test.ts
、
integration-compress-test.ts
)
移除不再使用的压缩常量和 compressMessage() 函数