> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCode 接入 RuAPI：用 Claude、DeepSeek、GPT 写代码

> 把开源命令行编程智能体 OpenCode 接到 RuAPI 的详细步骤：Claude 走 Anthropic 提供商（有提示缓存），DeepSeek、GPT 等模型走 OpenAI 兼容提供商。不用 VPN，用 USDT 付款。

[OpenCode](https://opencode.ai) 是在终端里运行的开源编程智能体：能读改项目文件、运行命令，把任务一路做完。它不绑定某一家模型厂商，所以可以直接接 RuAPI。RuAPI 用一个密钥就能调用 Claude、GPT、Gemini、DeepSeek、GLM、Qwen 和 Kimi，在俄罗斯不用 VPN 也能用。余额用 USDT 充值，不需要境外银行发行的卡。

## 接入方式

在 OpenCode 里，模型是通过 `opencode.json` 里定义的提供商接入的。接 RuAPI 需要两个：

| OpenCode 里的提供商 | 地址 | 哪些模型 | 原因 |
| - | - | - | - |
| `anthropic`（内置） | `https://www.ruapi.ai/v1` | Claude：`claude-opus-5-5`、`claude-sonnet-5-5`、`claude-haiku-5-5` | Claude 原生格式：提示缓存生效，重复发送的上下文价格至少便宜 10 倍 |
| `ruapi`（自己加的，OpenAI 兼容） | `https://www.ruapi.ai/v1` | DeepSeek、GPT、Gemini、GLM、Qwen、Kimi 等 | 一个地址接所有其他模型 |

## 准备工作

<Steps>
  <Step title="RuAPI 密钥">
    在 [www.ruapi.ai](https://www.ruapi.ai/?utm_source=docs\&utm_campaign=zh-opencode) 注册、充值（[充值方法](/zh/topup)），然后打开控制台 → **令牌管理**，点击 **添加令牌**。密钥以 `sk-` 开头。
  </Step>

  <Step title="安装 OpenCode">
    macOS 和 Linux：

    ```bash theme={null}
    curl -fsSL https://opencode.ai/install | bash
    ```

    或者在任何系统（包括 Windows）上用 npm 安装：

    ```bash theme={null}
    npm install -g opencode-ai
    ```

    Windows 上，OpenCode 官方建议在 WSL 里使用。
  </Step>
</Steps>

<Tip>
  不需要银行卡：余额可以用 USDT 充值。还没有 USDT 的话，可以按[这篇教程](/zh/buy-usdt)用卢布购买。也支持境外银行发行的卡。
</Tip>

## 第 1 步：把密钥存进环境变量

为了不把密钥写进配置文件，OpenCode 会从环境变量 `RUAPI_API_KEY` 里读取密钥。

<Tabs>
  <Tab title="macOS / Linux">
    把下面这行加进 `~/.zshrc`（用 bash 的话是 `~/.bashrc`），换成你自己的密钥：

    ```bash theme={null}
    echo 'export RUAPI_API_KEY="sk-你的密钥"' >> ~/.zshrc
    ```

    然后打开一个新的终端窗口，环境变量才会生效。
  </Tab>

  <Tab title="Windows（PowerShell）">
    ```powershell theme={null}
    setx RUAPI_API_KEY "sk-你的密钥"
    ```

    然后打开一个新的 PowerShell 窗口，环境变量才会生效。
  </Tab>
</Tabs>

## 第 2 步：在 opencode.json 里写好提供商

打开（或新建）全局配置文件 `~/.config/opencode/opencode.json`，粘贴：

```json theme={null}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://www.ruapi.ai/v1",
        "apiKey": "{env:RUAPI_API_KEY}"
      }
    },
    "ruapi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "RuAPI",
      "options": {
        "baseURL": "https://www.ruapi.ai/v1",
        "apiKey": "{env:RUAPI_API_KEY}"
      },
      "models": {
        "deepseek-flash": { "name": "DeepSeek Flash" },
        "deepseek-v4-pro": { "name": "DeepSeek V4 Pro" },
        "gpt-5.4": { "name": "GPT-5.4" },
        "glm-5.3": { "name": "GLM-5.3" }
      }
    }
  },
  "model": "anthropic/claude-sonnet-5-5"
}
```

说明：

* **`anthropic`** 是 OpenCode 内置的 Claude 提供商。我们只是把它的地址改成 RuAPI、填上你的密钥，所以请求是 Claude 的原生格式，有缓存。
* **`ruapi`** 是自己加的提供商，接其他所有模型。要加模型，就在 `models` 里加一行，例如 `"kimi/kimi-k3": { "name": "Kimi K3" }`。准确的模型名见[价格页](https://www.ruapi.ai/pricing?utm_source=docs\&utm_campaign=zh-opencode)。
* **`model`** 是默认模型，格式是 `提供商/模型`。

<Note>
  如果项目文件夹里也有一个 `opencode.json`，OpenCode 会把两个合并，项目里的设置优先。不要把密钥直接写在项目文件里，像示例那样用 `{env:RUAPI_API_KEY}`。
</Note>

## 第 3 步：启动 OpenCode 并选模型

进入项目文件夹，启动智能体：

```bash theme={null}
cd 项目路径
```

```bash theme={null}
opencode
```

在 OpenCode 里输入 `/models`，选一个模型，例如 `anthropic/claude-sonnet-5-5` 或 `ruapi/deepseek-flash`。然后写一个任务：

```
给 config.ts 里的 parseConfig 函数加上错误处理
```

要确认请求确实走了 RuAPI，打开控制台 → **使用日志**：会出现每次请求的模型和费用。用 Claude 时，从第二、三步开始，记录详情里能看到有多少 token 来自缓存。

## 选哪个模型

| 任务 | 模型 |
| - | - |
| 难的任务、做设计 | `anthropic/claude-opus-5-5` |
| 日常写代码 | `anthropic/claude-sonnet-5-5` |
| 大量日常修改、花钱少 | `ruapi/deepseek-flash`（DeepSeek 会自动缓存） |

## 常见问题

<AccordionGroup>
  <Accordion title="401 / 密钥不对">
    * 确认运行 OpenCode 的终端里能读到 `RUAPI_API_KEY`：设置环境变量后要开一个新窗口。
    * 两个提供商的 `baseURL` 都必须是 `https://www.ruapi.ai/v1`。
  </Accordion>

  <Accordion title="/models 里没有某个 Claude 模型">
    内置 `anthropic` 提供商的模型列表来自 OpenCode 自己的目录。请更新 OpenCode；还没有的话，在 `anthropic` 那一段里加一个 `models`，写上需要的模型名，例如 `"claude-opus-5-5": { "name": "Claude Opus 5.5" }`。
  </Accordion>

  <Accordion title="找不到模型（404 或 503）">
    模型名必须和 RuAPI 上的一字不差，请从[价格页](https://www.ruapi.ai/pricing?utm_source=docs\&utm_campaign=zh-opencode)复制。Claude 模型在 `anthropic` 提供商里选，其他模型在 `ruapi` 里选。
  </Accordion>

  <Accordion title="配置文件报错">
    检查 JSON 格式是否正确：引号都用双引号，每一段最后一项后面不要多逗号。
  </Accordion>

  <Accordion title="400：The reasoning_content in the thinking mode must be passed back">
    DeepSeek 在思考模式下，如果任务做到一半换了模型，可能出现这个错误。大多数情况下 RuAPI 会自动修正后重发请求。如果还报错，开一个新会话。
  </Accordion>
</AccordionGroup>

## 接下来

* [Claude Code](/zh/integrations/claude-code) 和 [Codex](/zh/integrations/codex)：其他命令行智能体。
* [从 Cursor 迁移](/zh/integrations/cursor-alternatives)：编程智能体对比和迁移步骤。
* [模型与价格](/zh/models)：有哪些模型可用。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.