Claude Code 缓存优化代理
用 claude-code-cache-fix 提高 Claude Code 的缓存命中率,省额度
一句话介绍
claude-code-cache-fix 是一个第三方开源小工具,作用是帮 Claude Code 省额度。
简单理解:它像一个「中间人」,挡在你的电脑和 OminiApi 之间,把每次发出去的请求「整理整齐」,让上游更容易复用之前的对话(也就是命中缓存)。命中缓存的部分按 模型广场 里的「缓存读」价格计费,比普通输入便宜得多。
它不会让 AI 变聪明,只是让你的额度更耐用。
为什么需要它
Claude Code 用得越久,你可能会发现:
- 同样几句话,额度掉得比想象中快;
- 恢复一个旧对话(
--resume),像重新付了一次费; - 开了 MCP、Skills、Hooks 后,消耗莫名变高。
这些大多不是 bug,而是 Claude Code 的请求结构不够「稳定」,导致上游认不出「这是同一段上下文」,于是按全价重新计费。claude-code-cache-fix 干的就是一件事:把请求洗干净、排好序、打上正确的缓存标记。
| 它做的事 | 对你的好处 |
|---|---|
| 修正恢复会话时的请求结构 | --resume 后不再被当成新对话重新计费 |
| 去掉版本号等不稳定标记 | Claude Code 升级后缓存不会突然失效 |
| 把工具、MCP 定义按固定顺序排列 | 同样的配置每次请求长得一样,缓存能命中 |
自动打好 cache_control 标记 | 主动告诉上游「这段请缓存」 |
| 记录每次缓存命中情况 | 出问题时方便排查,文件在 ~/.claude/quota-status/ |
适合谁用
- ✅ 重度使用 Claude Code、对额度敏感的用户
- ✅ 经常
--resume长会话、开了一堆 MCP / Skills 的用户 - ✅ 愿意动一点命令行的用户
- ❌ 完全不想碰终端、只想开箱即用的用户(先不用上这个)
它不能解决所有额度问题
它只优化本地请求结构和缓存相关的问题。模型本身的价格、长上下文消耗、选错模型、频繁读大文件等,仍然需要单独排查。可以在 使用日志 里对比开启前后的缓存读 Token。
Windows 原生环境不适用
不建议在 Windows 原生 CMD / PowerShell 里配置。Windows 用户请在 WSL 里完成 Node.js、Claude Code、OminiApi 和这个代理的整套配置,不要把 Windows 原生 Claude Code 和 WSL 里的代理混用,否则很容易出现路径、环境变量、端口不一致的问题。
第三方工具提醒
claude-code-cache-fix 不是 OminiApi 官方维护的工具,你的 API 请求(包括 Key)会经过它。安装前请自行审查源码、依赖和配置方式。
推荐用 AI 辅助配置
这个工具涉及本地代理、环境变量和后台服务,手动配置容易漏项。可以把下面这段提示词直接发给 Claude Code 或其它 AI,让它按你的机器生成命令:
请根据 https://github.com/cnighswonger/claude-code-cache-fix 的最新 README,
帮我在当前系统中配置 Claude Code 缓存优化代理。
要求:
1. 我使用 OminiApi,upstream 必须是 https://omini.ominiapi.top
2. Claude Code 的 ANTHROPIC_BASE_URL 应指向本地代理 http://127.0.0.1:9801
3. 保留 ANTHROPIC_AUTH_TOKEN,用我的 OminiApi API Key
4. Windows 用户请按 WSL Linux 环境来配置,不要使用 Windows 原生 CMD / PowerShell
5. 给出验证代理健康状态和 Claude Code 回复是否正常的命令
6. 长期使用时,请给出适合当前系统的后台服务配置方式最小验证流程
安装并启动代理
在 Linux / macOS / WSL 里运行:
npm install -g claude-code-cache-fix
CACHE_FIX_PROXY_UPSTREAM=https://omini.ominiapi.top cache-fix-proxy server让 Claude Code 走本地代理
把 ~/.claude/settings.json 里的 ANTHROPIC_BASE_URL 改成本地代理地址,ANTHROPIC_AUTH_TOKEN 继续填你的 OminiApi Key,其它项保持 Claude Code 配置 里的推荐值:
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:9801",
"ANTHROPIC_AUTH_TOKEN": "你的 API Key",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS": "1"
}
}验证代理
另开一个终端检查代理状态:
curl http://127.0.0.1:9801/health返回 {"status":"ok"} 后,重新打开终端运行 claude,能正常回复就说明代理和 OminiApi 已经连通。
长期使用建议
手动启动代理只适合临时验证。长期使用的话,继续让 AI 按你的系统生成 systemd、launchd 等后台服务配置,免得每次用 Claude Code 前都要手动启动代理。代理没启动时 Claude Code 会连不上,这时把 ANTHROPIC_BASE_URL 改回 https://omini.ominiapi.top 即可恢复直连。