先说结论:gzip 压缩只对直连 api.anthropic.com 的请求生效。用 AICodeWith 这类第三方 API 时,Claude Code 本来就不压缩请求,开不开这个开关首字速度都一样,响应慢要从别处找原因。
我们实测了 10 次:默认设置和关掉压缩,首字时间都在 2 秒左右,看不出差别。
2.1.300 改了什么
Claude Code 官方的 更新日志 在 2.1.300 里写了这样一条:发往 api.anthropic.com 的大请求改为使用 gzip 压缩,即使关闭了遥测也会压缩;设置 CLAUDE_CODE_GZIP_REQUEST_BODIES=0 可以关掉。
长会话里每次请求都要带上之前的对话和文件内容,请求体可能有几百 KB。压缩之后上传的数据变少,网络慢的时候能省一点时间。
先看版本,再升级
claude --version
低于 2.1.300 就没有这项改动。升级用:
claude update
我们测试时先用 2.1.300,又升级到当时最新的 2.1.302 复测了一遍,结果相同。
什么时候要关掉压缩
如果你直连官方 API,中间又经过公司代理或者自建网关,而它们不认 gzip 压缩的请求体,就可能出现请求报错。这时把压缩关掉。
写进 ~/.claude/settings.json 的 env 里,不用在终端里设置环境变量:
{
"env": {
"CLAUDE_CODE_GZIP_REQUEST_BODIES": "0"
}
}
如果 settings.json 里已经有env,把这一行加进去就行,不要再写一个env。
用 AICodeWith 的 Key 实测
测试环境:Claude Code 2.1.300 和 2.1.302,ANTHROPIC_BASE_URL 指向 https://api.aicodewith.ai,模型是默认的 claude-opus-5-5。每次发一段约 145 KB 的长文本(模拟长会话),实际请求体约 222 KB。
第三方 API 下请求不会被压缩
我们在本机放了一个记录请求的代理,看 Claude Code 实际发出的请求头:
| 设置 | Content-Encoding | 请求体大小 |
|---|---|---|
| 默认 | 没有(未压缩) | 223,222 字节 |
| CLAUDE_CODE_GZIP_REQUEST_BODIES=0 | 没有(未压缩) | 223,222 字节 |
两种设置发出的请求完全一样,2.1.302 也一样。这和更新日志一致:压缩只针对 api.anthropic.com。
首字时间对比
默认和关掉压缩交替各跑 5 次,记录从发出命令到第一个字出现的时间:
| 第几次 | 默认 | 关掉压缩 |
|---|---|---|
| 1 | 3.29 秒 | 2.01 秒 |
| 2 | 2.06 秒 | 2.02 秒 |
| 3 | 2.03 秒 | 2.05 秒 |
| 4 | 2.09 秒 | 2.24 秒 |
| 5 | 2.05 秒 | 4.33 秒 |
| 中位数 | 2.06 秒 | 2.05 秒 |
中位数几乎一样。偶尔一次 3~4 秒是网络波动,两边都出现过。
网关不接受压缩过的请求体
我们还直接给 AICodeWith 网关发了一个 gzip 压缩过的请求,网关返回 400,没有正常处理;同样内容不压缩就返回 200。
这对正常使用没有影响,因为 Claude Code 接第三方 API 时本来就不压缩。只有你自己写程序调用接口时,不要给请求体加 gzip。
还是慢,从这几处找原因
- 会话太长:上下文越长,每次请求越大,首字越慢。闲置后压缩上下文的做法见《Claude Code 闲置压缩》。
- 模型太重:简单的活交给轻量模型的子代理,见《Claude Code 子代理配置 Haiku》。
- 想要更快的输出:可以试试 Fast Mode,见《Claude Opus 5.5 Fast Mode》。
创建 Key 并配置地址
先在 AICodeWith 创建 Key:
然后写进 ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key"
}
}
更多配置方式见《Claude Code 如何接入第三方 API》。
常见问题
用第三方 API 需要设置 CLAUDE_CODE_GZIP_REQUEST_BODIES=0 吗?
不需要。实测接第三方 API 时 Claude Code 不压缩请求,设不设结果一样。
升级到 2.1.300 以后变慢了,是 gzip 导致的吗?
如果你用的是第三方 API,不是。请求没有被压缩,变慢要看会话长度、模型和网络。
直连官方 API 时报错,怎么判断是不是压缩的问题?
在 settings.json 的 env 里加上 "CLAUDE_CODE_GZIP_REQUEST_BODIES": "0",重开 Claude Code 再试。关掉后正常了,就是中间的代理或网关不认压缩请求。
首字多快算正常?
我们实测约 222 KB 的请求,首字时间中位数约 2 秒。明显比这慢很多,先试试开一个新会话,看是不是上下文太长。



