1. 为什么要在 VS Code 里把 Claude Code 接到 GPUStack
VS Code 里的 Claude Code 插件,本质是一个跑在编辑器里的编程 Agent:它能读你当前工作区的文件、执行命令、按你的自然语言指令改代码。默认情况下它连的是 Anthropic 官方服务,但很多团队的真实需求是——模型跑在自己机房的 GPUStack 上,代码不出内网,同时还想保留 Claude Code 这套顺手的交互体验。
GPUStack 是一个把本地 GPU 资源统一编排成 OpenAI 兼容接口的推理平台,你部署好之后会拿到一个 API 地址、一个 Auth Token 和一个模型名。Claude Code 走的是 Anthropic 协议,GPUStack 走的是 OpenAI 兼容协议,两者字段名不一样,所以中间需要一个协议转换层。TaoToken 在这里扮演的就是统一 Key 与统一 API 通道的角色:你只需要在 TaoToken 侧维护一份 Key,Claude Code 的settings.json里填 TaoToken 的地址和 Key,请求由 TaoToken 转发到你的 GPUStack 实例,模型名、Token 上限这些参数都在配置里声明清楚。
这套链路适合三类人:一是内网/离线开发环境,外网 API 不可达;二是想把本地大模型接进日常编码工作流,又不想改 Claude Code 源码;三是已经在用 GPUStack 跑推理,想复用现有算力做编程助手。整条链路的关键文件只有一个settings.json,加上 ECC 插件做工作流增强,配好之后在 VS Code 里输入一句“打印 Hello World”就能验证通不通。
下面按“前置准备 → TaoToken 配置 → settings.json 骨架 → 端到端验证 → 排障”的顺序走一遍,每一步都给可复制的片段。
2. 前置准备:GPUStack、Node.js 与 TaoToken Key
2.1 确认 GPUStack 侧的三要素
在动 VS Code 之前,先把 GPUStack 这边的信息抄下来,后面配置全靠它:
| 要素 | 示例值 | 说明 |
|---|---|---|
| API 地址 | http://10.11.11.11 | 不带/v1后缀,不要有多余引号或换行 |
| Auth Token | gpustack_552d0f47462_7750dfda0eb60bc6 | GPUStack 生成的访问令牌 |
| 模型名 | qwen3.6-27b | 必须与 GPUStack 里注册的模型名完全一致 |
先用 curl 确认 GPUStack 本身是活的,避免后面把网络问题误判成配置问题:
curl -s http://10.11.11.11/v1/models \ -H "Authorization: Bearer gpustack_552d0f47462_7750dfda0eb60bc6"返回里能看到qwen3.6-27b就说明 GPUStack 侧没问题。注意这里 curl 用的是/v1/models,而 Claude Code 配置里填的ANTHROPIC_BASE_URL不带/v1,这是两个不同层面的路径,别混。
2.2 装好 Node.js 与 VS Code
Claude Code 插件依赖 Node.js 运行时,建议用当前稳定版。VS Code 版本建议 1.80.0 以上,Windows 10+、macOS 10.15+、Ubuntu 18.04+ 都能跑。装完 Node.js 后在终端确认:
node -v npm -v两条命令都有版本号输出即可。如果node找不到,多半是安装时没勾选加入 PATH,重装一次勾上就行。
2.3 在 TaoToken 侧拿到统一 Key
打开 TaoToken 控制台,进入 API Keys 页面创建一个新 Key。这个 Key 就是你后面填进settings.json的ANTHROPIC_AUTH_TOKEN。创建时建议按用途命名,比如vscode-gpustack-dev,方便以后区分是哪个环境在用。
创建完成后先别关页面,Key 只完整显示一次。如果你还没决定用哪个模型通道,可以先去模型对话页面确认一下当前可用的模型列表,再回到 API Keys 页面复制 Key。长期做编码和 Agent 任务的话,Coding Plan 页面里有针对性的套餐说明,可以先看一眼再决定用哪种计费方式。
3. 可复制配置:settings.json 骨架与字段含义
3.1 安装 Claude Code 插件
在 VS Code 里按Ctrl+Shift+X(macOS 是Cmd+Shift+X)打开扩展面板,搜索Claude Code,认准 Anthropic 官方发布的那一个,点 Install,装完重启 VS Code。
3.2 写 settings.json
配置文件放在用户目录下的.claude文件夹里。Windows 是C:\Users\你的用户名\.claude\settings.json,macOS/Linux 是~/.claude/settings.json。如果目录不存在就手动建一个。
完整骨架如下,把尖括号部分替换成你自己的值:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "<你的 TaoToken API Key>", "ANTHROPIC_MODEL": "qwen3.6-27b", "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "65536" }, "model": "qwen3.6-27b" }逐字段说明:
ANTHROPIC_BASE_URL填 TaoToken 的 API 地址https://taotoken.net/api,不要带/v1,也不要加引号以外的任何字符。这个地址是 Claude Code 发出请求的入口,TaoToken 收到后按你的 Key 路由到对应通道。
ANTHROPIC_AUTH_TOKEN填刚才在 TaoToken 控制台创建的 Key。这个字段决定请求能不能被授权,填错会直接 401。
ANTHROPIC_MODEL填 GPUStack 里注册的模型名,必须一字不差。名字对不上时,GPUStack 侧会返回模型不存在的错误。
CLAUDE_CODE_MAX_OUTPUT_TOKENS控制单次输出上限。本地模型的上下文窗口有限,输入 Token 加输出 Token 超过窗口就会报 400。设成 65536 是个相对安全的起点,如果你的模型窗口更小,按实际值往下调。
model字段和ANTHROPIC_MODEL保持一致,避免插件界面显示和实际调用不一致。
注意:JSON 不支持注释,复制上面片段时不要往里加
//说明,否则解析会失败。
3.3 配置作用范围
Claude Code 的配置有多个作用域,用户级配置对所有工作区生效,项目级配置只对当前仓库生效。上面这份是用户级配置,适合个人开发机。如果你在团队里想统一管理,可以把同样的内容放到项目根目录的.claude/settings.json,但注意不要把 Key 提交到 Git,用环境变量或本地覆盖文件处理。
4. 端到端验证:从 VS Code 发出第一次请求
4.1 重启并打开面板
改完settings.json后必须重启 VS Code,插件只在启动时读一次配置。重启后点左侧 Claude Code 图标打开面板。
4.2 发一条最小指令
在对话框输入:
打印 Hello World如果链路通了,你会看到模型返回一段代码或文字。这一步验证的是:VS Code 插件 → TaoToken → GPUStack → 模型 → 原路返回,整条链路都活着。
4.3 用 curl 单独验证 TaoToken 通道
如果面板里没反应,先用 curl 把 TaoToken 这一段单独测掉,缩小排查范围:
curl -s https://taotoken.net/api/v1/messages \ -H "Content-Type: application/json" \ -H "x-api-key: <你的 TaoToken API Key>" \ -H "anthropic-version: 2023-06-01" \ -d '{ "model": "qwen3.6-27b", "max_tokens": 128, "messages": [{"role": "user", "content": "只回复两个字:通了"}] }'返回里有正常内容,说明 TaoToken 到 GPUStack 这一段没问题,问题在 VS Code 插件侧;如果这里就报错,按错误码去排障章节对号入座。
4.4 装 ECC 插件增强工作流
ECC(Everything Claude Code)是 Claude Code 的增强插件,提供一批 Agents、Skills 和 Commands。两种装法:
第一种,在 Claude Code 对话框输入/plugin,弹出 Manage Plugins,在 Marketplaces 栏填入仓库地址https://github.com/affaan-m/everything-claude-code添加,再到 Plugins 里搜索everything-claude-code安装。
第二种,直接克隆仓库跑安装脚本:
git clone https://github.com/affaan-m/everything-claude-code cd everything-claude-code ./install.sh --profile full装完后常用命令有/plan(需求澄清到步骤计划)、/code-review(代码审查)、/build-fix(构建报错修复)、/tdd(测试驱动工作流)。这些命令走的是同一套 TaoToken 通道,不需要额外配 Key。
5. 本篇常见错排查
5.1 400 报错:上下文超限
现象是请求直接返回 400,提示 token 数超过窗口。原因是CLAUDE_CODE_MAX_OUTPUT_TOKENS设得太大,或者当前对话历史太长。处理办法是把输出上限调小,比如从 65536 降到 32768,同时清理对话历史重新开始。本地模型的窗口通常比云端小,别照搬云端参数。
5.2 401 报错:Key 无效
检查ANTHROPIC_AUTH_TOKEN是否完整复制,有没有多空格或换行。TaoToken 控制台里如果 Key 被删除或过期,也会 401,重新创建一个替换即可。
5.3 模型不存在
ANTHROPIC_MODEL和 GPUStack 里注册的名字不一致时会报这个。回到 GPUStack 界面复制模型名,粘贴到配置里,注意大小写和连字符。
5.4 连接被拒或超时
先确认 GPUStack 服务在跑,再用 2.1 节的 curl 测一次。如果 curl 通但 VS Code 不通,检查ANTHROPIC_BASE_URL是不是误加了/v1后缀,或者地址里混进了引号、换行符。这类字符肉眼难发现,建议把值单独复制到文本编辑器里看一眼。
5.5 插件面板无响应
多半是配置没被读取。确认文件路径是~/.claude/settings.json而不是~/.claude.json,确认 JSON 语法合法(可以用在线 JSON 校验器过一遍),然后彻底退出 VS Code 再启动,不是只关窗口。
6. 把 Key 和通道固定下来,后续只改模型名
链路跑通之后,日常维护其实很轻:TaoToken 的 Key 和 API 地址基本不动,换模型时只改ANTHROPIC_MODEL和model两个字段,重启 VS Code 即可。如果要在多个本地模型之间切换,可以在 GPUStack 侧把模型都注册好,然后在配置里改名字,不用重新走一遍接入流程。
需要再确认 Key 状态或新建 Key,去 API Keys 页面;想先试试模型对话效果再决定用哪个,去模型对话页面;准备把 Claude Code 长期用于编码和 Agent 任务,去 Coding Plan 页面看套餐;接入过程中遇到字段或路径问题,接入文档里有完整的参数说明。