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

# opencode 接入指南

> 通过 OpenAI-compatible custom provider，把 opencode 接入 powertokens 平台。

opencode 通过 `provider` 配置管理模型。接入 `powertokens 平台` 时，推荐先使用 OpenAI-compatible custom provider，把 opencode 指向平台的 `/v1/chat/completions` 兼容接口。

本文面向 opencode 文本代理场景。`/v1/models` 中部分图片、语音、视频任务模型也会声明 `openai`，但它们不等于 opencode 可直接使用的文本 Chat Completions 模型。

如果你需要先判断模型应走哪个端点，请先看 [文本模型协议与端点支持说明](/zh-Hans/ecosystem-tools/text-model-protocols)。

## 路径选择

| 目标                  | opencode provider                             | Base URL                        | 推荐模型                       |
| ------------------- | --------------------------------------------- | ------------------------------- | -------------------------- |
| 推荐文本路径              | custom provider + `@ai-sdk/openai-compatible` | `https://api.powertokens.ai/v1` | `glm-5.2`                  |
| MiniMax 文本路径        | custom provider + `@ai-sdk/openai-compatible` | `https://api.powertokens.ai/v1` | `MiniMax-M3`               |
| Claude/Anthropic 路径 | `@ai-sdk/anthropic` custom provider           | `https://api.powertokens.ai/v1` | 仅在你需要复核 `/v1/messages` 时使用 |

## 准备 API Key

把 `powertokens 平台` API Key 放到环境变量中，避免写入仓库：

```bash theme={null}
export POWERTOKENS_API_KEY="YOUR_POWERTOKENS_API_KEY"
```

也可以在 opencode TUI 里运行 `/connect`，按 provider 保存凭据。配置文件里的 provider ID 需要和 `/connect` 保存的 provider ID 一致。

## OpenAI-compatible provider 示例

在项目中创建或更新 `.opencode/opencode.json`：

```json theme={null}
{
  "$schema": "https://opencode.ai/config.json",
  "model": "powertokens/glm-5.2",
  "small_model": "powertokens/glm-4.5-air",
  "provider": {
    "powertokens": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "powertokens",
      "options": {
        "baseURL": "https://api.powertokens.ai/v1",
        "apiKey": "{env:POWERTOKENS_API_KEY}"
      },
      "models": {
        "glm-4.5-air": {
          "name": "glm-4.5-air"
        },
        "glm-5.2": {
          "name": "glm-5.2"
        },
        "MiniMax-M3": {
          "name": "MiniMax-M3"
        },
        "deepseek-v3-2-251201": {
          "name": "deepseek-v3-2-251201"
        }
      }
    }
  }
}
```

这个路径会走平台的 `POST /v1/chat/completions`。

## 模型选择

OpenAI-compatible 路径默认使用 `glm-5.2`；MiniMax 场景使用 `MiniMax-M3`。需要 BytePlus 或 Seed 文本模型时，也优先放在 OpenAI-compatible provider 中。

不要把 `image-generation`、`openai-video`、TTS、Kling、Vidu 或 Wan 任务模型加入 opencode 文本 provider。完整文本模型矩阵见 [文本模型协议与端点支持说明](/zh-Hans/ecosystem-tools/text-model-protocols)。

## Anthropic provider 示例

如果你要让 opencode 走 Claude/Anthropic Messages 路径，可以单独配置一个 `@ai-sdk/anthropic` custom provider。该路径会走平台的 `/v1/messages`，请单独复核当前 opencode 版本与目标模型的端到端行为。

```json theme={null}
{
  "$schema": "https://opencode.ai/config.json",
  "model": "powertokens-anthropic/glm-5.2",
  "small_model": "powertokens-anthropic/glm-5-turbo",
  "provider": {
    "powertokens-anthropic": {
      "npm": "@ai-sdk/anthropic",
      "name": "powertokens Anthropic",
      "options": {
        "baseURL": "https://api.powertokens.ai/v1",
        "apiKey": "{env:POWERTOKENS_API_KEY}"
      },
      "models": {
        "glm-5.2": {
          "name": "glm-5.2"
        },
        "glm-5-turbo": {
          "name": "glm-5-turbo"
        },
        "MiniMax-M3": {
          "name": "MiniMax-M3"
        },
        "deepseek-v3-2-251201": {
          "name": "deepseek-v3-2-251201"
        }
      }
    }
  }
}
```

Anthropic 路径默认优先使用 `glm-5.2`；MiniMax 场景推荐使用 `MiniMax-M3`。`deepseek-v3-2-251201` 已通过 opencode Anthropic provider 工具链复测；Seed 系列中除 `seed-1-6-flash-250715` 外，也已通过复测，可按真实任务选择。不要把 `seed-1-6-flash-250715` 作为 opencode Anthropic provider 的默认模型。

## 验证

先确认 opencode 能读到 provider 和模型：

```bash theme={null}
opencode models powertokens
opencode models powertokens-anthropic
```

再用非交互命令验证 OpenAI-compatible 路径：

```bash theme={null}
opencode run --model powertokens/glm-5.2 "Reply exactly: ok"
```

你也可以用 MiniMax 文本模型验证同一条 OpenAI-compatible 路径：

```bash theme={null}
opencode run --model powertokens/MiniMax-M3 "Reply exactly: ok"
```

启动 opencode：

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

在 TUI 中执行：

```text theme={null}
/models
```

选择 `powertokens/glm-5.2` 或 `powertokens-anthropic/glm-5.2` 后发送一个小任务：

```text theme={null}
Reply with ok and print the active model name.
```

## 能力边界

* opencode 的 `@ai-sdk/openai-compatible` provider 只覆盖文本 Chat Completions 语义。
* `supported_endpoint_types` 里带 `openai` 不代表该模型适合 opencode 文本代理；请排除图片、语音、视频和任务型模型。
* `MiniMax-M3` 等 reasoning 模型可能返回思考内容或消耗额外输出 token，请用真实任务确认展示效果。
* `supported_endpoint_types` 里带 `anthropic` 不代表该模型适合 opencode Anthropic provider；opencode 会携带工具参数并使用流式输出，需要按端到端行为筛选模型。
* `deepseek-v3-2-251201` 已通过 opencode Anthropic provider 带工具任务复测。
* `seed-1-6-flash-250715` 上游不支持 `/v1/messages`；请优先走 OpenAI-compatible provider。
* 不要把真实 API Key 写入 `.opencode/opencode.json` 或提交到仓库。
