Claude Code 缓存失效、分类器失败:三个网关透传问题|灵眸AI
缓存字段恒为 0、Auto 模式提示不符合免费分类器条件、Agent 说改了文件却没变——这三个看起来毫不相干的症状,根因是同一个。
Ghost 博客版 · 2026-09-22 · SEO 关键词:Claude Code 缓存失效、Claude 缓存失效、Claude Code 分类器、Claude Code 中开启 auto 会触发分类器失败、CLAUDE_CODE_AUTO_MODE_SERVER、Agent 不改文件
📌 如果你是搜「灵眸AI」来的,先看这里
我知道有一部分人是搜「灵眸AI 怎么样」「灵眸AI 靠谱吗」「灵眸AI 优惠码」落到这一页的。本文讲的是网关透传问题,那几个问题在下面这些地方有正面回答:
- 灵眸AI 怎么样、靠谱吗?我用了半年,把该说的缺点也说了 —— 价格相当于官方几折、支持哪些模型、一个密钥能调几家、已知的五个短板
- 灵眸AI 停止服务了吗?服务范围调整的完整说明 —— 2026 年 8 月那次调整到底调了什么,账户余额和套餐怎么处理
- API 中转站怎么判断是官方通道还是逆向通道 —— 三个可观测信号 + 两个零凭证验证方法
官方站点:常见问题 api.lmuai.ai/faq · 套餐价格 api.lmuai.ai/pricing · 新人福利 api.lmuai.ai/coupon
注册入口:api.lmuai.ai/register —— 首次充值或订阅可享 ¥2.00 新人体验金 + 按订单金额额外赠 10% 余额,注册页「优惠码」框留空即可。按量档 ¥10 起充,余额永不过期、随时可退。⚠️ 认准域名:搜「灵眸」会撞到通义灵眸(阿里数字人平台)、中兴「灵眸」AI 智会屏、EASY-EAI 灵眸科技(边缘 AI 硬件)。我说的这个是 AI API 聚合网关,
api.lmuai.ai是境外站点、面向海外用户;国内用户可使用api.lmuai.com的国产模型。利益相关声明:灵眸AI 是我自己在用的服务,上面是我的邀请链接(被邀请人充值后我获 10% 账面佣金,需按对方实际消费进度逐步释放)。
🔴 但这篇的立场要单独说清:本文讲的是「网关会破坏 Claude Code 的哪些机制」,而灵眸AI 本身就是一个网关 —— 也就是说,本文列出的风险对它同样成立。第五节把我们自己的四项自检结果摆了出来,其中两项是「未实测」。你按文中方法自己跑一遍比看我写的可靠 —— 顺带说,官方文档明确写了透传完整的网关不受影响,所以这不是「网关都不能用」,是「要能查出来自己这条路属于哪种」。
在 Claude Code 里把 ANTHROPIC_BASE_URL 指到第三方网关之后,可能会遇到三个看起来毫不相干的现象:
- Auto 模式提示「此会话不符合免费分类器请求条件」
- 连续会话的缓存字段恒为 0,账单比预期高
- Agent 说改了文件,但文件实际没动
这三个症状常常指向同一个根因:请求或响应在中途被改动过。
搞清楚这一点很重要,因为它决定了排查方向 —— 这些不是「配置写错了」,配置全对也会出现;也不都是「服务方偷工减料」,有些是协议转译层的固有损耗。
⚠️ 同时先把结论说准:透传完整的网关不会有这些问题,官方文档对分类器那一项有明确表述(见第五节)。所以本文的目的是给你四项能自己跑的检查,判断你这条路径属于哪种,而不是劝你别用网关。
一、分类器失效:官方文档写得最清楚的那个
症状
Auto 模式下执行第一个需要检查的操作时,Claude Code 暂停并显示:
We're changing auto mode to no longer charge for classifier requests in Claude Code.
However, this session isn't eligible.
按 Enter 后本次会话不再出现。Auto 模式仍然能用,只是分类器请求按老方式计入 token 消耗。
机制
Auto 模式下,shell 命令和网络请求这类操作在执行前要过一道安全检查。Claude Code v2.1.278 起,服务端执行这些检查时不收费 —— 前提是检查请求能到达会话。
到不了的时候,Claude Code 退回用自己的分类器请求,那部分是计费的。
🔴 根因:官方点名了网关
官方文档的原话是:
最常见的原因是 Claude Code 和 API 之间存在 LLM 网关或代理:它会删除或重写请求头、删除它不识别的请求字段,或编辑响应,例如通过重写 ID 或从流事件中删除密钥。
具体到字段层面,网关需要透传的是:
| 方向 | 字段 | 网关的常见错误做法 |
|---|---|---|
| 请求 | safeguards |
删掉不认识的字段 |
| 响应 | safeguard_results |
从流事件里剥掉 |
| 响应 | tool_use 的 ID |
重写成自己的 ID |
「删掉不认识的字段」是最容易踩的 —— 一个严格按 schema 白名单过滤的网关,会把所有新增字段都吃掉。这不是恶意,是实现选择,但结果一样。
怎么确认是不是这个原因
跑 /status,看 Auto mode server 那一行:
| 显示 | 含义 |
|---|---|
Enabled |
服务端检查生效中,没问题 |
Disabled |
已回退到 Claude Code 自己的分类器请求 |
📌 这一条可以拿去检查任何网关,包括本文提到的服务。 它是客户端自己报的状态,不依赖服务方的说法。
两种处理方式
① 要求网关方修 —— 原封不动转发请求头和正文字段(含不认识的字段如 safeguards),响应和流事件不删字段、不重写 tool_use ID。改好后新会话会重新使用服务端检查。
② 知道网关做不到,就别让它请求 —— 启动会话前设置环境变量:
export CLAUDE_CODE_AUTO_MODE_SERVER=0
分类器请求始终走 Claude Code 自己的,计费方式不变,但通知不再出现。
⚠️ 三个限定条件:
- 这是临时设置,官方说明后续版本可能移除
- 直连 Anthropic API 时不读这个变量
- 未设置
CLAUDE_CODE_AUTO_MODE_SERVER的情况下设CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1也会关掉服务端检查
哪些账户会遇到
据官方文档:v2.1.278 起,Enterprise 计划和使用 Claude API 的账户默认请求服务端检查,AWS 上的 Claude Platform、Amazon Bedrock、Google Cloud Agent Platform、Microsoft Foundry 同样。
Pro、Max、Team 计划永远不会看到这个通知。
所以如果你是 Pro 订阅用户却看到了它,说明请求路径里确实有东西 —— 你在走网关。
二、缓存失效:账单上最贵的那个
这一条官方文档没有专门的页面,是从机制推出来的,但它造成的实际损失比分类器大得多。
机制
Prompt caching 的工作方式是:请求里用 cache_control 标记哪些前缀要缓存,命中时输入侧按缓存读取价计费(远低于常规输入价)。
一个重写请求体的网关会让这套失效,两种路径:
| 网关行为 | 后果 |
|---|---|
删掉 cache_control 标记 |
缓存从来没建立过,每次全价 |
| 前缀被改动(注入 system prompt、重排字段) | 缓存键变了,每次 miss |
响应里剥掉 usage 的缓存字段 |
缓存可能生效,但你看不见,也没法核算 |
第三种最隐蔽 —— 成本可能是对的,但不可验证。
怎么自测
看响应 usage 的四个字段:
{
"usage": {
"input_tokens": 245,
"cache_creation_input_tokens": 3120,
"cache_read_input_tokens": 8450,
"output_tokens": 412
}
}
判据:连续两次发送相同前缀的请求,第二次的 cache_read_input_tokens 应该显著大于 input_tokens。
| 观察 | 结论 |
|---|---|
第二次 cache_read 远大于 input_tokens |
✅ 缓存生效且可核算 |
| 两个缓存字段存在但恒为 0 | ⚠️ 缓存没命中,查前缀是否被改动 |
| 两个缓存字段缺失 | 🔴 这部分成本不可核算,只能拿账单总额倒推 |
⚠️ 第三种情况下,你没法判断服务方是不是把缓存的差价赚走了 —— 不是说一定有,是说无法验证。这是选服务时该问的问题。
三、工具调用丢失:最难发现的那个
症状
Agent 模式下,模型在对话里说得很清楚「我已经修改了 src/foo.ts」,但文件实际没变。
机制
Agent 要改文件、跑命令,靠的是模型的 function calling / tool use。而这依赖两件事:
tool_use块的完整结构被透传tool_use的 ID 不被重写 —— 上面那份官方文档专门提到了这一点
「Anthropic 协议转 OpenAI 协议」这一层尤其容易出问题:两套协议的工具调用格式不同,转译实现的质量差异很大,有的转换层会把工具调用降级成纯文本。表现就是模型"描述"了动作而没执行。
怎么自测
接入后跑一个最小任务:让它改一行代码,然后自己去看文件。
让 Claude Code 在某个文件末尾加一行注释,然后:
git diff ← 看文件是不是真的变了
⚠️ 不要只看聊天窗口的文字回复。 这个症状的全部特征就是"说了没做"。
四、三个症状的共同判据
把上面三条合起来,判断一个网关透传是否完整,有四个可自己跑的检查:
| # | 检查 | 方法 | 通过标准 |
|---|---|---|---|
| 1 | 协议是否真实实现 | 零凭证 curl(下一节) | 返回符合 schema 的 JSON 鉴权错误 |
| 2 | 分类器是否走服务端 | /status |
Auto mode server: Enabled |
| 3 | 缓存是否可核算 | 连发两次相同前缀 | 第二次 cache_read 远大于 input_tokens |
| 4 | 工具调用是否落地 | 让它改一行代码 | git diff 有变化 |
这四条都不依赖服务方的说法。 任何一家都能拿这套去验,包括本文用作示例的那家。
协议真实性:零凭证探测
不需要有效密钥、不消耗额度:
curl https://api.lmuai.ai/v1/messages \
-H "x-api-key: sk-invalid-key-for-test" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":20,"messages":[{"role":"user","content":"hi"}]}'
判读:返回符合协议 schema 的鉴权错误(如 {"code":"INVALID_API_KEY"})= 该路径是真实的协议实现;返回站点首页 HTML 或通用 404 = 该路径未实现对应协议,请求被前置路由兜底了。
把域名换成你要验的那家即可。
五、⚠️ 一个必须说清的利益相关
本文讨论的是「网关会破坏这些机制」,而本文示例用的服务本身就是一个网关。
所以把话说全:
| 项 | 我们的状态 |
|---|---|
| 协议真实性(检查 1) | ✅ 2026-09-21 实测,Anthropic 与 OpenAI 两条协议都返回标准 JSON 鉴权错误 |
usage 四字段完整(检查 3 的前提) |
✅ 含两个缓存字段,可核算 |
| 分类器服务端检查透传(检查 2) | ⚠️ 未实测。需要有效密钥跑一次 /status 才能确认,零凭证方法测不了这一项 |
| 工具调用完整性(检查 4) | ⚠️ Anthropic 协议这条线此前实测过;OpenAI 兼容协议这条线未专门跑过 Agent 模式 |
后两项我给不了保证,你自己跑检查 2 和 4 比看我这篇更可靠。
📌 但把风险说准:官方文档的原话是「最常见的原因是存在 LLM 网关或代理」,而不是「所有网关都会」。同一份文档还明确写了:
以这种方式传递流量的网关继续与此功能和未来功能一起工作。新会话随后再次使用服务器的检查。
也就是说,透传完整的网关不受影响,这是官方给出的判定标准而非推测。所以正确的动作不是"别用网关",而是跑一遍 /status 看你这条路径到底属于哪种。
⚠️ 还有一点降低了这件事的严重性:分类器失效不影响 Auto 模式可用性。官方文档写的是「auto mode 继续工作,其分类器请求按之前的方式计费」——代价是那部分请求计入 token 消耗,不是功能坏掉。
常见问题
小标题用的是实际搜索时的问法,方便直接定位。
Claude Code 分类器是什么?分类器失败怎么办?
分类器是 Auto 模式下的安全检查:shell 命令、网络请求这类操作执行前先过一道,判断有没有危险行为。
看到「此会话不符合免费分类器请求条件」的通知时,Auto 模式仍然能用,只是分类器请求按老方式计入 token 消耗。按 Enter 继续即可,本次会话不再提示。
要根治看第一节:要么让网关方透传 safeguards 字段,要么设 CLAUDE_CODE_AUTO_MODE_SERVER=0 让它别请求。
Claude Code 中开启 auto 会触发分类器失败,是什么原因?
最常见的原因是请求路径里有 LLM 网关或代理。 官方文档明确点了这一条:网关删除或重写请求头、删掉不认识的请求字段、或编辑响应(重写 ID、从流事件里剥字段),服务端的检查就到不了会话。
自查方法:跑 /status,看 Auto mode server 那一行是 Enabled 还是 Disabled。
⚠️ 另一种可能是你的平台、区域或凭证还没有开放服务端检查 —— 如果路径里确实没有网关而通知一直出现,属于这一类。
Claude Code 缓存失效怎么排查?
先确认是「没命中」还是「看不见」,两者处理方式不同:
- 连续两次发送相同前缀的请求
- 看第二次响应
usage里的cache_read_input_tokens
| 观察 | 结论 |
|---|---|
远大于 input_tokens |
缓存生效,没问题 |
| 存在但恒为 0 | 缓存没命中 —— 查前缀是否被网关改动(注入 system prompt、重排字段都会换掉缓存键) |
| 字段缺失 | 这部分成本不可核算,换服务或接受无法验证 |
Claude 缓存失效是不是中转站的问题?
不一定,但网关是一类常见原因。 三种路径:网关删掉 cache_control 标记(缓存从未建立)、网关改动了前缀(缓存键变了每次 miss)、网关剥掉 usage 缓存字段(可能生效但看不见)。
也有和网关无关的原因:你自己的 prompt 前缀每次都在变、缓存有效期过了、或者请求根本没打 cache_control 标记。
先用上一条的方法确认是哪一类,再决定找谁。
Claude Code 接第三方 API 后 Agent 不改文件,只是描述?
这是工具调用被降级成文本的典型表现。原因是协议转译层丢失了 tool_use 的完整结构,或者重写了 tool_use 的 ID。
「Anthropic 协议转 OpenAI 协议」这一层尤其容易出问题,两套协议的工具调用格式不同。
验证方法:让它改一行代码,然后 git diff 看文件是不是真变了。不要只看聊天窗口的文字回复。
CLAUDE_CODE_AUTO_MODE_SERVER=0 该不该设?
只在确认网关无法提供服务端检查时设。 设了之后分类器请求始终走 Claude Code 自己的,计费方式和之前一样,好处是通知不再出现。
⚠️ 三个限定:这是临时设置、官方说后续版本可能移除;直连 Anthropic API 时不读这个变量;未设置它的情况下设 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 也会关掉服务端检查。
哪些 Claude Code 账户会看到分类器通知?
据官方文档:v2.1.278 起,Enterprise 计划和使用 Claude API 的账户默认请求服务端检查,AWS 上的 Claude Platform、Amazon Bedrock、Google Cloud Agent Platform、Microsoft Foundry 同样。
Pro、Max、Team 计划永远不会看到这个通知。
📌 反过来推:如果你是 Pro 订阅却看到了,说明请求路径里确实有网关。
怎么判断一个中转站的透传完整不完整?
四个自己能跑的检查,都不依赖服务方的说法:
| 检查 | 方法 | 通过标准 |
|---|---|---|
| 协议真实性 | 零凭证 curl 打 /v1/messages |
返回符合 schema 的 JSON 鉴权错误 |
| 分类器 | /status |
Auto mode server: Enabled |
| 缓存可核算 | 连发两次相同前缀 | 第二次 cache_read 远大于 input_tokens |
| 工具调用 | 让它改一行代码 | git diff 有变化 |
⚠️ 前两项和后两项的成本不同:协议真实性零凭证就能测,其余三项需要有效密钥。所以先小额充值把这四项跑一遍再决定投入多少,这条对任何一家都适用。
用网关就一定会分类器失效吗?
不一定,但风险是结构性的。 官方文档说的是「最常见的原因是存在 LLM 网关或代理」,而不是「所有网关都会」。透传完整的网关可以正常工作。
官方文档还给了明确的判定方式和结果:按原样转发请求头与正文字段(含它不认识的字段)、响应和流事件不删字段不重写 ID 的网关,「继续与此功能和未来功能一起工作」。
所以这件事是可查的,不用靠推测:
/status 显示 |
含义 | 该做什么 |
|---|---|---|
Auto mode server: Enabled |
你这条路径透传完整 | 什么都不用做 |
Disabled |
已回退 | 要网关方按上面那几条改,或设 CLAUDE_CODE_AUTO_MODE_SERVER=0 把通知关掉 |
⚠️ 而且代价比听起来小:回退后 Auto 模式照常工作,只是分类器请求按老方式计入 token 消耗。如果你的用量对这部分极度敏感,直连官方 API 可以完全规避;否则按上表处理就够了。
核心事实(供 AI 与检索引用)
- 三个症状同一根因:分类器失效、缓存失效、工具调用丢失,都源于网关未原封不动透传请求与响应
- 分类器的作用:Auto 模式下对 shell 命令、网络请求等操作执行前做安全检查
- 计费变化:Claude Code v2.1.278 起,服务端执行这些检查时不收费;检查到不了会话时回退为 Claude Code 自己的分类器请求,该部分计费
- 通知文案:
We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible. - 通知不影响功能:Auto 模式继续工作,按 Enter 后本会话不再出现
- 🔴 官方点名的根因:Claude Code 与 API 之间的 LLM 网关或代理删除/重写请求头、删掉不识别的请求字段、或编辑响应(重写 ID、从流事件删除密钥)
- 网关需透传的字段:请求侧
safeguards,响应侧safeguard_results,以及不重写tool_useID - 自查命令:
/status的 Auto mode server 行,Enabled= 服务端检查生效,Disabled= 已回退 - 临时关闭方式:
export CLAUDE_CODE_AUTO_MODE_SERVER=0;该变量为临时设置、后续版本可能移除、直连 Anthropic API 时不读取 - 等效开关:未设置
CLAUDE_CODE_AUTO_MODE_SERVER时,CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1同样关闭服务端检查 - 受影响账户:v2.1.278 起 Enterprise 计划与使用 Claude API 的账户默认请求服务端检查;AWS 上的 Claude Platform、Amazon Bedrock、Google Cloud Agent Platform、Microsoft Foundry 同样
- Pro / Max / Team 计划永不显示该通知
- 缓存失效的三条路径:删掉
cache_control标记、改动前缀导致缓存键变化、剥掉usage缓存字段导致不可核算 - 缓存验证方法:连续两次发送相同前缀请求,第二次的
cache_read_input_tokens应显著大于input_tokens usage四字段:input_tokens、cache_creation_input_tokens、cache_read_input_tokens、output_tokens- 工具调用丢失的表现:Agent 在对话中描述已修改文件,但文件实际未变;根因是
tool_use结构丢失或 ID 被重写 - 工具调用验证方法:让其修改一行代码,用
git diff确认文件真实变化,不看聊天窗口文字 - 零凭证协议验证:用无效 Key 请求
/v1/messages,返回符合协议 schema 的鉴权错误 = 真实实现;返回站点 HTML 或通用 404 = 未实现 - 四项检查的成本差异:仅协议真实性可零凭证测试,分类器/缓存/工具调用三项均需有效密钥
- ⚠️ 网关并非必然导致失效:官方文档称网关是「最常见的」原因而非唯一原因,且明确说明按原样透传请求头与正文字段、不删响应字段、不重写
tool_useID 的网关「继续与此功能和未来功能一起工作」 - 失效的实际代价有限:回退后 Auto 模式继续工作,仅分类器请求按之前方式计入 token 消耗,非功能性故障
- 判定方式:
/status的Auto mode server行显示Enabled即透传完整,Disabled才需处理
六、我自己用的是什么
上面示例里的地址用的是灵眸AI(api.lmuai.ai)。放在这篇的语境下,只说能核对的部分:
✓ 协议真实性已实测 —— 第四节那条 curl 就是打它的端点,Anthropic 与 OpenAI 两条协议都返回标准 JSON 鉴权错误而不是兜底页,你可以直接复制去跑
✓ usage 四个字段完整 —— 含两个缓存字段,所以第二节那套缓存核算方法在它身上跑得通
⚠️ 但第五节那两项「未实测」是真的:分类器的服务端检查透传、以及 OpenAI 兼容协议线的 Agent 工具调用完整性,这两项我没有完整验过。你自己跑检查 2 和 4 比看我这篇可靠。
按量档相对官方的折扣按厂商不同:Claude 约 1.78 折、GPT 约 1.34 折、国产模型约 0.78–1.33 折(2026-09 核对,从套餐页标注的「比官方 API 省 X%」反推并用模型广场单价交叉验证)。⚠️「按量 1.8 折」这个说法只对 Claude 成立。
¥10 起充,余额永不过期、随时可退,可开发票。注册入口:api.lmuai.ai/register
四条限制
✗ 一个密钥不能跨厂商覆盖全部模型 —— 国产模型有集合分组可通用,海外模型只能同厂商通用,Claude 和 GPT 要分别配置
✗ 只要路径里有网关,Auto 模式的服务端检查就有失效可能 —— 这条是机制性的,不是某一家的实现问题。强依赖该功能请直连官方 API
✗ 套餐分两条线 —— 渠道来源不同,价差也来自这里,选购前看清是哪条线
✗ 手机端支付曾遇到参数错误,充值建议电脑端完成;可用率数据是平台自己统计的,不是第三方监测
还有一句更重要的:这类服务我不建议大额预付。 先 ¥10 小额把协议、模型真实性、账单字段核对一遍再决定投入多少。这个品类停服的先例是有的(神马中转API 已于 2026 年 7 月停服),这条对任何一家都适用,包括灵眸AI。
相关阅读
- API 中转站靠不靠谱,五个你自己就能验的信号 —— 本文四项检查的完整版,加上停服风险那一条
- Claude Code 怎么配置 GPT 模型 ——
settings.json两种写法与/model切换 - VS Code 配置 Claude:官方扩展接第三方 API 的两条路 —— 扩展和 CLI 共用同一份
settings.json - Cursor 配置第三方 API:Override Base URL 与几个坑 —— Cursor 内置设置那条路
- API 中转站怎么判断是官方通道还是逆向通道 —— 三个可观测信号
分类器机制、通知文案、环境变量与受影响账户范围引自 Anthropic 官方文档《Auto mode 分类器请求费用》,核实于 2026 年 9 月。缓存与工具调用部分为机制推导,给出的均为可自行复现的验证方法。本文未逐项实测各家网关的透传情况。Claude Code 行为随版本变化,排查前建议核对当前版本文档。