cnighswonger/claude-code-cache-fix

Fixes prompt cache regression in Claude Code that causes up to 20x cost increase on resumed sessions

解决的问题

本项目解决了 Claude Code 中的 Prompt Cache Bug,这些 Bug 会导致过度的 Token 使用(配额消耗)和不稳定的缓存读取率。它专门修复了在恢复的会话或长时间运行的会话中,缓存创建 Token 反复激增的问题,从而防止不必要的成本并稳定请求前缀。

工作原理

它作为一个本地 HTTP 代理运行,位于 Claude Code 和 Anthropic API 之间。该代理拦截并重写 POST /v1/messages 请求,以规范化请求结构(如块顺序、fingerprint 和 TTL),确保 Prompt Caching 高效运行。

它提供两种主要的运行模式:

  • 反向代理模式 (Reverse-Proxy Mode):用户将 Claude Code 的 ANTHROPIC_BASE_URL 指向该代理。
  • 正向代理模式 (Forward-Proxy Mode):代理作为 HTTPS_PROXY 运行,使用本地生成的 CA 终止 api.anthropic.com 的 TLS,从而在保持 Claude Code 内部功能(如 Remote Control)激活的同时允许请求转换。

适用对象

使用 Claude Code 且面临高 Token 成本、长会话中低缓存命中率,或面临严格 API 配额压力的开发者。

亮点

  • 缓存优化:提高缓存命中率(例如,在某些测试中从 82.3% 提高到 95.5%)。
  • 透明集成:适用于所有 Claude Code 版本,包括 Bun 二进制文件。
  • 支持 Remote Control:正向代理模式允许使用在自定义 base URL 下会被禁用的 Claude Code 高级功能。
  • 可观测性:包含在安装前通过会话转录 (session transcripts) 测量缓存健康状况的工具。
  • ListNode:执行不会修改实际对话内容的幂等转换。

相关

  • Dispatch
  • 项目
  • Dispatch
  • 项目
  • 项目