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

# OpenCode

> 把 OpenCode 接入再来点Token，用 DeepSeek、GLM、Kimi 模型写代码。

[OpenCode](https://opencode.ai) 是开源的命令行 AI 编程助手。它通过 OpenAI 兼容接口（`/v1/chat/completions`）调用模型，本站的 DeepSeek、GLM、Kimi 系列都可以使用，写一个配置文件就能用。

| 模型系列 | 对话 | 工具调用（读写文件、执行命令） |
| - | - | - |
| DeepSeek | 支持 | 支持 |
| GLM | 支持 | 支持 |
| Kimi | 支持 | 支持 |

以上为 2026-09-28 使用 OpenCode 1.18 实测结果。

## 给 AI 助手的一段话

已经有别的 AI 助手（例如 Claude Code、WorkBuddy）？把下面这段话发给它，它会帮你完成配置。这段话会包含你的完整密钥，接收它的 AI 服务会看到，请只发给你信任的 AI 助手。把 `YOUR_API_KEY` 换成你的密钥，`deepseek-v4-pro` 换成你要用的模型 ID。

<Tip>在控制台 [API 密钥](https://token.poryf.com/keys) 页面点密钥右侧的 **接入配置**，选 OpenCode 后点 **复制给 Agent**，复制到的内容已经填好了你的密钥。</Tip>

````text wrap theme={null}
请帮我把 OpenCode 接入再来点Token（OpenAI 兼容的 API 服务）。

1. 打开配置文件 ~/.config/opencode/opencode.json（Windows 为 %USERPROFILE%\.config\opencode\opencode.json），不存在就新建，所在目录不存在也一并创建。
2. 写入下面的内容。如果文件已存在，把 provider.tokendiscount 合并进去，保留其他设置。

```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "tokendiscount": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "再来点Token",
      "options": {
        "baseURL": "https://token.poryf.com/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "deepseek-v4-pro": {
          "name": "deepseek-v4-pro"
        }
      }
    }
  }
}
```

3. 保存后运行 `opencode run -m tokendiscount/deepseek-v4-pro "Reply with OK"` 验证，告诉我结果。

这段话里有我的 API 密钥：只把它写进本地配置文件，回复时不要完整复述，也不要提交到代码仓库。
````

## 准备

* 在 [API 密钥](https://token.poryf.com/keys) 页面创建一个密钥，并确认 [钱包](https://token.poryf.com/wallet) 有余额。
* 在 [模型广场](https://token.poryf.com/pricing) 选好模型，复制模型 ID，例如 `deepseek-v4-pro`。

## 第 1 步：安装 OpenCode

<Tabs>
  <Tab title="macOS / Linux">
    ```bash theme={null}
    curl -fsSL https://opencode.ai/install | bash
    ```
  </Tab>

  <Tab title="npm（所有系统）">
    需要 Node.js 18 或更高版本，Windows 推荐用这种方式：

    ```bash theme={null}
    npm install -g opencode-ai
    ```
  </Tab>
</Tabs>

安装后运行 `opencode --version`，能看到版本号就说明装好了。

## 第 2 步：写入配置

**1. 打开配置文件**，不存在时会自动新建：

<Tabs>
  <Tab title="macOS">
    ```bash theme={null}
    mkdir -p ~/.config/opencode && touch ~/.config/opencode/opencode.json && open -e ~/.config/opencode/opencode.json
    ```
  </Tab>

  <Tab title="Linux">
    ```bash theme={null}
    mkdir -p ~/.config/opencode && nano ~/.config/opencode/opencode.json
    ```
  </Tab>

  <Tab title="Windows">
    ```powershell theme={null}
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.config\opencode" | Out-Null; notepad "$env:USERPROFILE\.config\opencode\opencode.json"
    ```
  </Tab>
</Tabs>

**2. 粘贴下面的内容并保存**，把 `YOUR_API_KEY` 换成你的密钥。`models` 里列出你要用的模型，可以放多个：

```json theme={null}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "tokendiscount": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "再来点Token",
      "options": {
        "baseURL": "https://token.poryf.com/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "deepseek-v4-pro": { "name": "DeepSeek V4 Pro" },
        "glm-5.3": { "name": "GLM-5.3" },
        "kimi-k3": { "name": "Kimi K3" }
      }
    }
  }
}
```

<Note>只想在某个项目里用这套配置，可以改放在项目根目录的 `opencode.json`。</Note>

### 各配置项的作用

| 配置项 | 说明 |
| - | - |
| `npm` | 固定填 `@ai-sdk/openai-compatible`，OpenCode 第一次使用时会自动安装 |
| `baseURL` | 必须带 `/v1` |
| `apiKey` | 本站 API 密钥。不想写进文件，可以改成 `{env:TOKENDISCOUNT_API_KEY}` 从环境变量读取 |
| `models` | 键名是本站的模型 ID，`name` 只是界面上显示的名字 |

## 第 3 步：验证

运行下面的命令，`tokendiscount/` 后面是你的模型 ID：

```bash theme={null}
opencode run -m tokendiscount/deepseek-v4-pro "Reply with OK"
```

看到模型回答 `OK` 就说明接入成功。之后运行 `opencode` 进入交互界面，输入 `/models` 可以在 **再来点Token** 下切换模型。每次调用的用量和费用都可以在 [使用日志](https://token.poryf.com/usage-logs/common) 里查到。

## 常见问题

<AccordionGroup>
  <Accordion title="/models 里看不到本站的模型">
    检查配置文件是不是合法的 JSON，以及 `models` 里有没有列出模型。

    用下面的命令在本机检查 JSON 格式，只检查格式，不会显示或上传密钥：macOS / Linux 运行 `python3 -m json.tool ~/.config/opencode/opencode.json > /dev/null && echo OK`，Windows PowerShell 运行 `Get-Content "$env:USERPROFILE\.config\opencode\opencode.json" -Raw | ConvertFrom-Json | Out-Null`，没有报错就说明格式正确。
  </Accordion>

  <Accordion title="提示模型不存在">
    `models` 的键名必须和本站模型 ID 完全一致；命令行 `-m` 参数的格式是 `tokendiscount/模型ID`。
  </Accordion>

  <Accordion title="报 404 或提示地址错误">
    `baseURL` 要带 `/v1`，不要填成完整的 `/v1/chat/completions` 地址。
  </Accordion>

  <Accordion title="提示余额不足或密钥无效（401 / 403）">
    密钥填错、被禁用、过期或额度用完，都会返回 `Invalid token`。到控制台检查密钥状态和钱包余额，详见 [错误排查](/errors)。
  </Accordion>
</AccordionGroup>
