Claude Code 配置第三方模型后,内置工具到底用的谁的?TaoToken 统一通道实测拆解
1. Claude Code 接第三方模型后内置工具到底谁在干活Claude Code 配置第三方模型之后WebSearch、WebFetch、图片分析这些内置工具到底是谁在执行是很多人在接入 GLM 或其它兼容 Anthropic 协议的模型时最容易被绕晕的地方。简单说Claude Code 是一个跑在你本地的命令行客户端它自己并不具备联网搜索、网页抓取、图片理解这些能力这些能力要么由 API 服务端提供要么由客户端本地 pipeline 配合模型完成。当你把ANTHROPIC_BASE_URL指向第三方兼容端点后请求的目标地址变了但请求体结构、流式协议、工具调用格式都没变Claude Code 依然以为自己在跟 Anthropic 对话。所以判断工具归属的核心逻辑只有一条看这个工具的请求最终发到了哪个服务器。我实测下来配置第三方模型后模型推理、WebSearch、图片分析、WebFetch 摘要这几类能力全部由你配置的那个第三方后端处理。原因在于 Claude Code 的架构设计它把所有需要「智能」的环节都通过 Messages API 发出去本地只保留 HTML 抓取和 Markdown 转换这类纯机械操作。WebSearch 是一个服务端工具Claude Code 会创建一个二次对话把web_search_20250305工具请求发到ANTHROPIC_BASE_URL谁接住这个地址谁就负责执行搜索。图片分析是模型级能力图片以 base64 编码随 Messages API 请求发送后端收到后用自己支持的视觉模型处理。WebFetch 稍微特殊它的 HTML 抓取和 Turndown 转 Markdown 在本地 Node.js 进程里完成但最后一步调 Haiku 模型做摘要这个摘要请求同样走 API而ANTHROPIC_DEFAULT_HAIKU_MODEL已经被你映射到了第三方模型所以摘要也是第三方在做。这套机制对使用 TaoToken 统一通道的用户来说意义很直接你只需要维护一个 Base URL 和一个 Key所有工具调用都从这一个通道出去归属清晰、排查简单。下面我会从环境变量配置、settings 片段、验证请求、常见报错几个角度把这条链路拆开讲清楚让你能自己动手确认每个工具的实际执行方。2. TaoToken 统一通道前置准备与 ANTHROPIC_BASE_URL 配置在动手改配置之前先把 TaoToken 这条统一通道准备好。TaoToken 的作用是给你一个兼容 Anthropic 协议的 API 端点Claude Code 把请求发到这里由它转发到后端模型。你需要先拿到 API Key然后确认 Base URL 和 Model ID 这三件套。访问 https://taotoken.net/api 可以查看 API 接入说明Key 的获取在 https://taotoken.net/console/api-keys 模型对话调试入口在 https://taotoken.net/model-chat 接入文档在 https://taotoken.net/doc 。如果你打算长期用 Claude Code 做编码和 Agent 任务可以了解 https://taotoken.net/coding-plan 它针对持续编码场景做了额度规划。拿到 Key 之后核心就是设置环境变量。Claude Code 读取ANTHROPIC_BASE_URL来决定请求发往哪里读取ANTHROPIC_AUTH_TOKEN或ANTHROPIC_API_KEY来做鉴权读取ANTHROPIC_MODEL系列变量来决定模型映射。这里有个关键点ANTHROPIC_BASE_URL只替换请求目标地址请求体、流式协议、工具调用格式都不变。Claude Code 不知道后面是谁它只要求这个地址能接受同样形状的请求并返回 Anthropic 格式的响应。模型映射是让内置工具归属清晰的关键。你需要把 Claude 的模型名映射到第三方模型 ID这样当 WebFetch 需要调 Haiku 做摘要时它会用你映射的模型而不是去找一个不存在的 Anthropic 模型。下面这张表是我实测时用的映射关系你可以根据自己的模型 ID 调整环境变量映射到作用ANTHROPIC_MODEL你的主模型 ID主对话模型ANTHROPIC_DEFAULT_OPUS_MODEL你的主模型 IDOpus 档位映射ANTHROPIC_DEFAULT_SONNET_MODEL你的主模型 IDSonnet 档位映射ANTHROPIC_DEFAULT_HAIKU_MODEL你的主模型 ID后台任务、WebFetch 摘要ANTHROPIC_REASONING_MODEL你的主模型 ID推理档位映射设置方式有两种一种是直接在 shell 里 export适合临时测试另一种是写进 Claude Code 的 settings 文件适合长期使用。临时测试可以这样export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKEN你的TaoToken Key export ANTHROPIC_MODEL你的模型ID export ANTHROPIC_DEFAULT_HAIKU_MODEL你的模型ID注意ANTHROPIC_BASE_URL后面不要带多余的路径具体以接入文档为准。设置完之后Claude Code 启动时会读取这些变量所有请求都会走这个地址。如果你同时装了多个工具建议用 settings 文件隔离配置避免环境变量互相污染。3. 可复制的 settings 配置片段与工具归属对照长期使用建议写配置文件而不是每次 export。Claude Code 的配置可以放在项目级或用户级目录常见路径是~/.claude/settings.json或项目根目录下的.claude/settings.json。下面这段 JSON 是我实测可用的配置片段路径和字段名保持与 Claude Code 一致你可以直接复制后替换 Key 和模型 ID{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: 你的TaoToken Key, ANTHROPIC_MODEL: 你的模型ID, ANTHROPIC_DEFAULT_OPUS_MODEL: 你的模型ID, ANTHROPIC_DEFAULT_SONNET_MODEL: 你的模型ID, ANTHROPIC_DEFAULT_HAIKU_MODEL: 你的模型ID, ANTHROPIC_REASONING_MODEL: 你的模型ID } }如果你用的是 Codex 风格的auth.json或者通过 CC Switch、Cline MCP 这类工具管理多套配置记住三件套必须写全Base URL、Key、Model ID。缺任何一个都会导致鉴权失败或模型找不到。CC Switch 里配置时Base URL 填https://taotoken.net/apiKey 填你的 TaoToken KeyModel ID 填你实际要用的模型标识。Cline MCP 场景下如果你把 Claude Code 作为 MCP 服务端接入同样要确保这三件套在环境变量里完整传递否则 MCP 调用会因为找不到模型而中断。配置写好后工具归属的对照关系是这样的。WebSearch 是服务端工具Claude Code 会发一个带web_search_20250305工具的二次对话请求到ANTHROPIC_BASE_URL谁接住谁执行搜索。图片分析是模型级能力图片 base64 随 Messages API 请求发送后端用视觉模型处理。WebFetch 是客户端 pipelineHTML 抓取和 Turndown 转 Markdown 在本地完成最后调 Haiku 做摘要而 Haiku 已经被你映射到第三方模型所以摘要也走第三方。模型推理本身当然是服务端处理。这四类能力里只有 WebFetch 的抓取和转换是本地行为其余全部由你配置的后端负责。这里要提醒一点Anthropic 官方文档说过 WebSearch 在非 Anthropic 端点上可能被隐藏Claude Code 检测到非官方端点时会隐藏 WebSearch 工具。但实测中兼容层做得好的端点可以让 WebSearch 正常可用。如果你发现 WebSearch 不见了先检查 Base URL 是否被识别为兼容端点再检查模型映射是否完整。4. 验证请求与成功结果确认工具实际执行方配置完成后怎么确认工具真的在用你配置的后端最直接的办法是看日志和返回特征。Claude Code 在运行时会把请求打到ANTHROPIC_BASE_URL你可以在 TaoToken 的 console 里看到请求记录或者在本地用抓包工具观察请求目标地址。如果请求目标是https://taotoken.net/api而不是 Anthropic 官方地址说明链路已经切换成功。验证 WebSearch 时你可以在 Claude Code 里直接问一个需要联网的问题比如「帮我搜一下今天有什么 AI 新闻」。如果 WebSearch 可用Claude Code 会触发二次对话发送web_search_20250305工具请求。你可以在日志里看到这个工具调用记录返回结果里会带有搜索来源。如果 WebSearch 被隐藏你会看到 Claude Code 直接回答「我无法联网搜索」这时候要检查端点是否被识别为兼容端点。验证 WebFetch 时给它一个网页 URL让它抓取并总结。WebFetch 的流程是本地抓 HTML、本地转 Markdown、调 Haiku 做摘要。你可以在日志里看到摘要步骤的模型调用如果模型 ID 是你映射的第三方模型说明摘要走的是你的后端。验证图片分析时把一张图片粘贴进对话问它图片里有什么。图片会以 base64 随 Messages API 请求发送后端用视觉模型处理。如果返回的描述合理说明视觉能力可用。一个实用的验证动作是看返回的模型标识。有些兼容端点在响应里会带上实际使用的模型名你可以通过这个确认请求确实到了你配置的后端。另外TaoToken 的模型对话入口 https://taotoken.net/model-chat 可以单独测试模型连通性先确认 Key 和模型 ID 没问题再回到 Claude Code 里验证工具调用。如果模型对话里正常Claude Code 里工具不可用那问题多半在工具检测或模型映射上而不是鉴权。实测下来只要 Base URL、Key、Model ID 三件套正确WebSearch、WebFetch、图片分析都能正常工作且全部由你配置的后端执行。你不需要额外装 MCP 来获得搜索或图片能力因为兼容层已经处理了这些工具调用。但如果你用的是官方推荐的 MCP 方案那是另一套并行机制和模型级能力不冲突。5. 本篇常见报错排查401、local proxy failed、reading choices、OAuth配置第三方模型时最常见的报错有这几类我逐个拆解排查思路。401 鉴权失败是最常见的。报错通常是401 Unauthorized或invalid api key。排查顺序先确认ANTHROPIC_AUTH_TOKEN或ANTHROPIC_API_KEY填的是 TaoToken 的 Key不是 Anthropic 官方的 Key再确认 Key 没有多余空格或换行然后确认 Base URL 是https://taotoken.net/api没有多写路径。如果用的是 settings.json检查 JSON 格式是否正确字段名有没有拼错。CC Switch 或 Cline MCP 场景下检查三件套是否完整传递有时候 MCP 配置里只写了 Base URL 没写 Key就会 401。local proxy failed通常出现在你本地有代理设置或端口冲突时。Claude Code 会尝试连接ANTHROPIC_BASE_URL如果本地网络环境导致连接失败就会报这个错。排查时先确认网络能正常访问https://taotoken.net/api可以用 curl 测试连通性。如果本地有其它服务占用了 Claude Code 需要的端口也会导致 proxy failed。检查环境变量里有没有残留的HTTP_PROXY或HTTPS_PROXY指向了不可用的地址。reading choices这类报错通常和响应格式有关。当后端返回的响应不符合 Anthropic 格式时Claude Code 解析会失败。排查时确认你用的模型 ID 是兼容 Anthropic 协议的并且 Base URL 指向的是兼容端点。如果模型 ID 写错后端可能返回一个非标准响应导致解析报错。另外流式响应中断也会导致类似错误检查网络稳定性。OAuth 相关报错通常出现在你之前登录过 Anthropic 官方账号Claude Code 缓存了 OAuth token和第三方 Key 冲突。排查时清理 Claude Code 的登录缓存或者显式设置ANTHROPIC_AUTH_TOKEN覆盖 OAuth。有些版本的 Claude Code 会优先使用 OAuth你需要确认环境变量优先级。如果报错里出现OAuth token expired或invalid grant说明它在尝试用官方 OAuth 而不是你的 Key这时候要检查配置加载顺序。还有一个容易忽略的点模型映射不完整。如果你只设了ANTHROPIC_MODEL没设ANTHROPIC_DEFAULT_HAIKU_MODELWebFetch 的摘要步骤会找不到 Haiku 模型导致工具调用失败。报错可能是model not found或invalid model。把五个模型变量都映射到你的模型 ID可以避免这类问题。6. 统一通道下的调用归属与长期使用建议把 Claude Code 接到 TaoToken 统一通道后调用归属其实很清晰所有需要模型智能的环节都从这一个通道出去由你配置的后端处理。WebSearch 的搜索请求、图片分析的视觉请求、WebFetch 的摘要请求、主对话的推理请求全部走ANTHROPIC_BASE_URL。本地只保留 HTML 抓取和 Markdown 转换这类不涉及模型的操作。这意味着你只需要维护一套 Key 和一套模型映射排查问题时也只需要看一个通道的日志。对于长期用 Claude Code 做编码和 Agent 任务的用户建议把配置写进 settings 文件而不是临时 export避免每次开终端都要重新设置。模型映射要写全五个变量尤其是ANTHROPIC_DEFAULT_HAIKU_MODEL它影响后台任务和 WebFetch 摘要。如果你同时用多个工具用 CC Switch 这类配置管理工具隔离环境确保每个工具的三件套完整。验证时先用模型对话入口确认模型连通再回到 Claude Code 里测工具调用这样能把鉴权问题和工具问题分开定位。最后说一个实用技巧如果你不确定某个工具到底谁在执行看请求目标地址和模型 ID 就够了。请求发到https://taotoken.net/api模型 ID 是你配置的那执行方就是你配置的后端。Claude Code 本身不执行搜索、不执行视觉分析它只负责组装请求和解析响应。理解这一点你就能在任何兼容 Anthropic 协议的端点上快速判断工具归属不会被「内置工具」这个名字误导。