# 编程工具概览

> 编程工具接入平台的通用步骤：各工具的接口格式与地址写法、模型 id、上下文窗口、计费与常见错误。

来源：https://www.scirouter.cn/docs/coding-tools · 更新于 2026-10-24

编程工具通过 SciRouter 的接口调用平台上的模型。在工具中填写三项：平台的地址、SciRouter 的 API Key、平台的模型 id。各工具使用的接口格式不同，地址的写法随之不同。

## 准备

1. 在控制台 [API Keys 页面](https://www.scirouter.cn/console/keys)创建 Key（以 `sk-sr-` 开头）。为编程工具单独创建一个 Key，按需设置模型白名单与月度上限，见[认证与 API Key](https://www.scirouter.cn/docs/authentication)。
2. 在[模型中心](https://www.scirouter.cn/models)选择模型，复制模型 id（格式为 `厂商/模型名`）。该 Key 可调用的模型以 `GET /models` 的返回为准。
3. 将 Key 存入环境变量 `SCIROUTER_API_KEY`，各工具页的配置从这里读取：

```bash
echo 'export SCIROUTER_API_KEY="YOUR_API_KEY"' >> ~/.zshrc   # bash 写入 ~/.bashrc
source ~/.zshrc
```

Windows 在 PowerShell 中执行 `setx SCIROUTER_API_KEY "YOUR_API_KEY"`，重新打开终端后生效。

## 接口格式与地址

| 工具 | 接口格式 | 地址 | 接入说明 |
|---|---|---|---|
| Claude Code | Anthropic Messages | `https://api.scirouter.cn` | [Claude Code](https://www.scirouter.cn/docs/claude-code) |
| Codex | OpenAI Responses | `https://api.scirouter.cn/v1` | [Codex](https://www.scirouter.cn/docs/codex) |
| OpenCode | OpenAI Chat Completions | `https://api.scirouter.cn/v1` | [OpenCode](https://www.scirouter.cn/docs/opencode) |
| Kilo CLI | OpenAI Chat Completions | `https://api.scirouter.cn/v1` | [Kilo CLI](https://www.scirouter.cn/docs/kilo-cli) |
| Kilo Code | OpenAI Chat Completions | `https://api.scirouter.cn/v1` | [Kilo Code](https://www.scirouter.cn/docs/kilo-code) |
| Cursor | OpenAI Chat Completions | `https://api.scirouter.cn/v1` | [Cursor](https://www.scirouter.cn/docs/cursor) |
| CC Switch | 随所配置的工具 | 随所配置的工具 | [CC Switch](https://www.scirouter.cn/docs/cc-switch) |
| Cline、Continue 等 | OpenAI Chat Completions | `https://api.scirouter.cn/v1` | [SDK 与框架](https://www.scirouter.cn/docs/sdks)「图形客户端与 IDE 插件」 |

Anthropic 格式的工具在地址后自行拼接 `/v1/messages`，**地址不带 `/v1`**；其余工具的地址带 `/v1`。多写或少写 `/v1` 时返回 404。

三种格式都能调用平台上的全部对话模型。模型的线路不支持工具所用的格式时，平台转换请求，见 [Messages（Anthropic 格式）](https://www.scirouter.cn/docs/messages)「请求的转发方式」与 [Responses（OpenAI Responses 格式）](https://www.scirouter.cn/docs/responses)「请求的转发方式」。

## 模型 id

- 填写平台的模型 id（`厂商/模型名`，含 `/`），区分大小写。
- 工具内置的模型名（如 Claude Code 的 `sonnet`、`opus`）不会自动对应到平台的模型，按各工具页的写法映射到平台的模型 id。
- 同一个工具可配置多个模型 id，在工具内切换。

## 上下文窗口与输出上限

工具不识别平台的模型 id 时，按自身的默认值估算上下文窗口与输出上限，与模型的实际值可能不同。在工具中写明所选模型的上下文窗口与输出上限（见[模型中心](https://www.scirouter.cn/models)的详情页），工具才能在窗口用满前压缩对话。各工具的写法见各页。

输入超出窗口时，平台在发出前返回 400 `context_window_exceeded`（`error.code` 为 `context_length_exceeded`）。Claude Code 与 Codex 据此压缩对话后重发，见各自的页面。

## 计费与用量

编程工具的调用与直接调用接口相同，按所用模型的价格与实际 token 计费。工具执行一个任务会连续发出多次请求，每次都带上完整的对话历史，输入 token 随对话变长而增加；上游提示词缓存命中的部分按命中价计，见[缓存与幂等](https://www.scirouter.cn/docs/caching)。

用量在控制台[用量页面](https://www.scirouter.cn/console/usage)查看。单次请求在[调用日志](https://www.scirouter.cn/console/logs)中按 `request_id` 查询，可按调用格式（OpenAI / Anthropic）筛选。

## 常见错误

| 现象 | 原因 | 处理方式 |
|---|---|---|
| 返回 404，模型 id 无误 | 地址多写或少写 `/v1` | 按[接口格式与地址](#接口格式与地址)改正 |
| 401 `unauthenticated` | 工具读到的不是 SciRouter 的 Key：填入了厂商的 Key，或环境变量没有生效 | 检查工具读取的变量，值应以 `sk-sr-` 开头；修改环境变量后重新打开终端 |
| 404 `model_not_found` | 模型 id 写错，或填了工具内置的模型名 | 以[模型中心](https://www.scirouter.cn/models)或 `GET /models` 返回的 id 为准 |
| 403 `model_not_allowed` | 模型不在 Key、项目或套餐的白名单中 | 修改白名单，或更换模型 |
| 402 `insufficient_quota` | 余额不足以预扣 | 充值，见[认证与 API Key](https://www.scirouter.cn/docs/authentication) |
| 400 `context_window_exceeded` | 对话超出模型的上下文窗口 | 在工具中写明窗口大小，或压缩对话、换用窗口更大的模型 |

其余错误见[错误码](https://www.scirouter.cn/docs/errors)。报障时提供响应头 `X-Request-Id` 的值。
