# Claude Code 集成

> 把 ANTHROPIC_BASE_URL 指向本网关, Claude Code 两行环境变量切换;含模型 id 清单与 402/400 排错

来源：https://model.dflop.top/docs/integrations/claude-code

> Claude Code 通过环境变量切换 API 端点。把 base URL 指向本网关后,所有 `claude-*` 模型走本网关。

## 前置条件

- 一把 API Key:在 [model.dflop.top/dashboard/keys](https://model.dflop.top/dashboard/keys) 创建。Key 格式为 `sk-gpushare-` 前缀 + 64 位十六进制字符(总长 76 字符),创建后可随时在 Key 详情页重新查看(服务端加密存储)。
- 账户余额 > 0:所有 Key 共享同一个账户余额(美元钱包),注册即送 **$0.30 体验额度**。余额为 0 时,配置再正确,第一条消息也会直接收到 `402` / `billing_error`。充值入口在主站 dflop.top/dashboard/billing(Stripe,最低 $1,与 model.dflop.top 同账号 SSO 共享余额)。

## 配置

```bash
# ~/.bashrc 或 ~/.zshrc
export ANTHROPIC_BASE_URL=https://api.dflop.top
export ANTHROPIC_AUTH_TOKEN=sk-gpushare-<64 位十六进制>
```

然后重启 Claude Code:

```bash
claude
```

## 验证

启动后随便发一句消息,Claude Code 不应报 `401` 或 `403`。如果想确认走的是本网关而非 Anthropic 直连,可以用一把刚创建的 Key,在 [model.dflop.top/dashboard/keys](https://model.dflop.top/dashboard/keys) 看是否有用量记录。

## 切换模型

网关对 model id 做**精确匹配**(仅大小写不敏感):没有 `-latest` 别名,也不会把带日期的官方 id 归一化到目录内 id。发出目录外的 id 会收到 `400`(Anthropic 协议下 `error.type=not_found_error`,message 形如 ``model `xxx` is not available``)。

当前可用的 `claude-*` id(截至 2026-06,完整定价见 [模型列表](../reference/models.md)):

| Model ID | 说明 |
|---|---|
| `claude-opus-4-8` / `claude-opus-4-7` / `claude-opus-4-6` | Opus 系列,1M 上下文 |
| `claude-sonnet-4-6` | Sonnet,1M 上下文 |
| `claude-haiku-4-5-20251001` | Haiku,后台小模型推荐 |
| `claude-opus-4-5-thinking` / `claude-opus-4-6-thinking` | 思考模式变体 |

如果 Claude Code 客户端默认的模型 id 不在上表(新版本客户端可能默认更新的官方 id),用环境变量把主模型和后台小模型 pin 到目录内 id:

```bash
export ANTHROPIC_MODEL=claude-opus-4-6
export ANTHROPIC_SMALL_FAST_MODEL=claude-haiku-4-5-20251001
```

> 后台小模型(标题生成等辅助功能)的 id 不在目录会导致辅助功能静默报错,建议一并设置。

**非 Claude 模型同样可用**:`/v1/messages` 端点对 GLM / Gemini / GPT 等模型也有 Anthropic 协议通道,把 `ANTHROPIC_MODEL` 设成 `glm-5.1`、`gemini-3-pro-preview`、`gpt-5.5` 等即可直接走网关,不必换客户端。想要体验更完整的多模型支持,推荐 [FlopCode](./flopcode.md)(本平台官方 fork)。

## 多 Key 切换

用 [direnv](https://direnv.net/) 在不同项目目录下设不同的 `ANTHROPIC_AUTH_TOKEN`:

```bash
# project-a/.envrc
export ANTHROPIC_BASE_URL=https://api.dflop.top
export ANTHROPIC_AUTH_TOKEN=sk-gpushare-projectA-key

# project-b/.envrc
export ANTHROPIC_BASE_URL=https://api.dflop.top
export ANTHROPIC_AUTH_TOKEN=sk-gpushare-projectB-key
```

每个 Key 有独立的用量审计和 `allowed_models` 模型白名单。注意:所有 Key **共享同一个账户余额**,Key 级没有独立预算池——按项目分 Key 是为了权限隔离与审计,不是预算隔离。

## 知识库 MCP

Claude Code 本身是 MCP 客户端:同一把 `sk-gpushare-*` Key 还能把本平台知识库检索接进来(`https://api.dflop.top/mcp`),配置方法见 [知识库 API & MCP](../reference/wiki-api.md)。

## 回到官方 Anthropic

从 `~/.bashrc` / `~/.zshrc` 删除上面两行 `export` 并重开终端(或在当前 shell 里 `unset`):

```bash
unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN
```

然后启动 `claude`,在会话内执行 `/login` 重新登录 Anthropic 账号。

## 已知限制

- `POST /v1/messages/count_tokens` 未实现:Anthropic SDK / Claude Code 的 token 计数请求会收到 `404`,不影响正常对话。

## 常见问题

| 现象 | 排查 |
|---|---|
| `401` / `403` | Key 是否复制完整(`sk-gpushare-` 前缀 + 64 位十六进制,总长 76 字符)/ 是否过期或被停用 |
| `402` `billing_error` | 账户余额不足或为 0。到 dflop.top/dashboard/billing 充值;所有 Key 共享余额,新建 Key 不能解决额度问题 |
| `400` `not_found_error`(model not available) | model id 不在目录,需与 [模型列表](../reference/models.md) 精确一致(无 `-latest` 别名),见上方「切换模型」 |
| 网络超时 | 防火墙是否拦截 `api.dflop.top`;单请求上游超时上限 180s,客户端 timeout 建议 ≥ 200s |

更多错误码详见 [错误码](../reference/errors.md)。

## 其他客户端

- [Cursor](./cursor.md) — IDE 内置 AI Coding
- [Cline (VS Code)](./cline.md) — VS Code AI 插件
- [Continue.dev](./continue.md) — VS Code / JetBrains
- [Open WebUI](./open-webui.md) — 自托管 ChatGPT 界面
- [FlopCode](./flopcode.md) — 本平台官方 Claude Code fork
