Skip to content

Commit 1d52e1a

Browse files
authored
Merge pull request #18 from BingZi-233/main
docs(cli): add beginner-friendly cache-fix proxy guide
2 parents d03ec33 + 8320c5a commit 1d52e1a

2 files changed

Lines changed: 159 additions & 0 deletions

File tree

src/.vuepress/sidebar.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,19 @@ export default sidebar({
124124

125125
],
126126
},
127+
{
128+
text: "额外配置",
129+
icon: "mdi:tune",
130+
prefix: "cli/",
131+
collapsible: false,
132+
children: [
133+
{
134+
text: "CC缓存优化代理",
135+
icon: "material-symbols:cached",
136+
link: "5-cache-fix.md",
137+
},
138+
],
139+
},
127140
{
128141
text: "绘图模型教程",
129142
icon: "pepicons-pop:paint-pallet-circle",

src/docs/cli/5-cache-fix.md

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
---
2+
title: Claude Code 缓存优化代理
3+
icon: material-symbols:cached
4+
order: 5
5+
---
6+
7+
## 一句话介绍
8+
9+
[claude-code-cache-fix](https://github.com/cnighswonger/claude-code-cache-fix)
10+
是一个**第三方开源小工具**,作用是帮 Claude Code **省额度**
11+
12+
简单理解:它像一个“中间人”,挡在你的电脑和 Claude 服务器之间,
13+
帮你把每次发出去的请求“整理整齐”,让 Claude 更容易**复用之前的对话**
14+
(也就是**命中缓存**),从而少花额度。
15+
16+
> 它不会让 AI 变聪明,只是让你的额度更耐用。
17+
18+
## 为什么需要它?
19+
20+
Claude Code 用得越久,你可能会发现:
21+
22+
- 同样几句话,**额度掉得比想象中快**
23+
- 恢复一个旧对话(`--resume`),**像重新付了一次费**
24+
- 开了 MCP、Skills、Hooks 后,**消耗莫名变高**
25+
26+
这些大多不是 bug,而是 Claude Code 的请求结构有点“不稳定”,
27+
导致服务器认不出“这是同一段上下文”,于是**重新计费**
28+
29+
`claude-code-cache-fix` 干的事情就一件:**把请求洗干净、排好序、
30+
打上正确的缓存标记**,让 Claude 服务器一眼认出“这段我见过”,
31+
直接走便宜的缓存价。
32+
33+
它具体做了什么(看不懂可以跳过):
34+
35+
| 它做的事 | 对你的好处 |
36+
| --- | --- |
37+
| 修正恢复会话时的请求结构 | `--resume` 后不再被当成新对话重新计费 |
38+
| 去掉版本号等不稳定标记 | Claude Code 升级后缓存不会突然失效 |
39+
| 把工具、MCP 定义按固定顺序排列 | 同样的配置每次请求长得一样,缓存能命中 |
40+
| 自动打好 `cache_control` 标记 | 主动告诉服务器“这段请缓存” |
41+
| 记录每次缓存命中和额度情况 | 出问题时方便排查,文件存在 `~/.claude/quota-status/` |
42+
| 不依赖老的 `NODE_OPTIONS` 注入 | 新版 Bun 版 Claude Code 也能用 |
43+
44+
## 适合谁用?
45+
46+
- ✅ 重度使用 Claude Code、对额度敏感的用户
47+
- ✅ 经常 `--resume` 长会话、开了一堆 MCP / Skills 的用户
48+
- ✅ 愿意动一点命令行的用户
49+
- ❌ 完全不想碰终端、只想开箱即用的用户(先不用上这个)
50+
51+
::: warning 它不能解决所有额度问题
52+
这个工具只能优化本地请求结构和缓存相关问题。模型本身价格、长上下文消耗、
53+
服务端配额降级、错误模型选择、频繁大文件读取等问题,仍然需要单独排查。
54+
:::
55+
56+
::: danger Windows 原生环境不适用
57+
`claude-code-cache-fix` **不建议在 Windows 原生 CMD / PowerShell 中配置使用**
58+
59+
Windows 用户请优先在 **WSL 的 Linux 环境** 中完成 Node.js、Claude Code、
60+
PackyAPI 和 `claude-code-cache-fix` 的整套配置。不要把 Windows 原生
61+
Claude Code 与 WSL 代理混在一起使用,否则很容易出现路径、环境变量、
62+
后台服务和本地端口不一致的问题。
63+
:::
64+
65+
::: warning 第三方工具提醒
66+
`claude-code-cache-fix` 不是 PackyAPI 官方维护工具。它会经过本机 API 请求,
67+
安装前请自行审查源码、依赖和配置方式。
68+
:::
69+
70+
## 推荐使用 AI 辅助配置
71+
72+
这个工具涉及本地代理、环境变量和后台服务配置,手动配置容易漏项。
73+
推荐把你的系统环境、PackyAPI Endpoint 和 GitHub 项目链接一起发给 AI,
74+
让 AI 按你的机器生成命令。
75+
76+
可以直接使用下面这段提示词:
77+
78+
```text
79+
请根据 https://github.com/cnighswonger/claude-code-cache-fix 的最新 README,
80+
帮我在当前系统中配置 Claude Code 缓存优化代理。
81+
要求:
82+
1. 我使用 PackyAPI,upstream 必须是 https://www.packyapi.com
83+
2. Claude Code 的 ANTHROPIC_BASE_URL 应指向本地代理 http://127.0.0.1:9801
84+
3. 保留 ANTHROPIC_AUTH_TOKEN,用我的 PackyAPI CC 分组令牌替换
85+
4. Windows 用户请按 WSL Linux 环境来配置,不要使用 Windows 原生 CMD / PowerShell
86+
5. 给出验证代理健康状态和 Claude Code 回复是否正常的命令
87+
6. 长期使用时,请给出适合当前系统的后台服务配置方式
88+
```
89+
90+
## 最小验证流程
91+
92+
下面的命令适合在 Linux / macOS / WSL 中先验证代理是否能跑通:
93+
94+
```bash
95+
npm install -g claude-code-cache-fix
96+
CACHE_FIX_PROXY_UPSTREAM=https://www.packyapi.com cache-fix-proxy server
97+
```
98+
99+
如果你使用的是优化线路 Endpoint,可以把 `CACHE_FIX_PROXY_UPSTREAM` 改成:
100+
101+
```bash
102+
https://api-slb.packyapi.com
103+
```
104+
105+
## 配置 Claude Code
106+
107+
代理启动后,将 Claude Code 的 `settings.json``ANTHROPIC_BASE_URL`
108+
改为本地代理地址,`ANTHROPIC_AUTH_TOKEN` 继续填写你的 PackyAPI
109+
**CC** 分组令牌:
110+
111+
```json
112+
{
113+
"env": {
114+
"ANTHROPIC_BASE_URL": "http://127.0.0.1:9801",
115+
"ANTHROPIC_AUTH_TOKEN": "xxx",
116+
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
117+
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
118+
"CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "1"
119+
}
120+
}
121+
```
122+
123+
## 验证代理
124+
125+
另开一个终端,检查代理健康状态:
126+
127+
```bash
128+
curl http://127.0.0.1:9801/health
129+
```
130+
131+
如果返回 `{"status":"ok"}`,再重新打开终端运行:
132+
133+
```bash
134+
claude
135+
```
136+
137+
能正常进入 Claude Code 并收到回复,说明代理和 PackyAPI 配置已经连通。
138+
139+
## 长期使用建议
140+
141+
手动启动代理只适合临时验证。长期使用时,建议继续让 AI 根据你的系统生成
142+
`systemd``launchd` 或其它后台服务配置,避免每次使用 Claude Code 前都要
143+
手动启动代理。
144+
145+
再次提醒:Windows 用户请在 WSL 里完成整套配置,不要使用 Windows 原生
146+
CMD / PowerShell 作为运行环境。

0 commit comments

Comments
 (0)