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

# OpenCode 接入老张API：opencode.json 自定义 provider 配置

> 在 OpenCode 的 opencode.json 中添加老张API provider：GPT-6 用 @ai-sdk/openai 走 Responses 接口，DeepSeek、Gemini 等模型用 @ai-sdk/openai-compatible，附完整配置与常见报错。

OpenCode 通过 `opencode.json` 中的自定义 provider 接入老张API。GPT-6 等 OpenAI 模型用 OpenAI 驱动走 Responses 接口，DeepSeek、Gemini、Qwen 等其他模型用 OpenAI 兼容驱动，两者可以写在同一份配置里。

| 项目 | 内容 |
| - | - |
| 全局配置文件 | `~/.config/opencode/opencode.json` |
| `baseURL` | `https://api.laozhang.ai/v1` |
| OpenAI 模型的驱动 | `@ai-sdk/openai` |
| 其他模型的驱动 | `@ai-sdk/openai-compatible` |
| 推荐模型 | `gpt-6-sol`、`deepseek-v4-pro` |
| 最后核对 | 2026 年 10 月 5 日，OpenCode 1.18.34 |

## 安装 OpenCode

用 npm 全局安装（需要先安装 Node.js）：

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

## 配置老张API

<Steps>
  <Step title="设置密钥环境变量">
    ```bash theme={null}
    echo 'export LAOZHANG_API_KEY="你的老张API密钥"' >> ~/.zshrc
    source ~/.zshrc
    ```

    使用 bash 时改为 `~/.bashrc`。配置文件里用 `{env:LAOZHANG_API_KEY}` 引用它，密钥不会写进文件。
  </Step>

  <Step title="写入 opencode.json">
    新建或编辑 `~/.config/opencode/opencode.json`。只对某个项目生效时，把文件放在项目根目录。

    ```json theme={null}
    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "laozhang": {
          "npm": "@ai-sdk/openai",
          "name": "LaoZhang API",
          "options": {
            "baseURL": "https://api.laozhang.ai/v1",
            "apiKey": "{env:LAOZHANG_API_KEY}"
          },
          "models": {
            "gpt-6-sol": { "name": "GPT-6 Sol" },
            "gpt-5.4-mini": { "name": "GPT-5.4 mini" }
          }
        },
        "laozhang-compat": {
          "npm": "@ai-sdk/openai-compatible",
          "name": "LaoZhang API (compatible)",
          "options": {
            "baseURL": "https://api.laozhang.ai/v1",
            "apiKey": "{env:LAOZHANG_API_KEY}"
          },
          "models": {
            "deepseek-v4-pro": { "name": "DeepSeek V4 Pro" },
            "gemini-3.8-flash": { "name": "Gemini 3.8 Flash" },
            "qwen3-coder-plus": { "name": "Qwen3 Coder Plus" }
          }
        }
      },
      "model": "laozhang/gpt-6-sol"
    }
    ```

    `models` 中的键必须是完整的模型 ID，`name` 只用于界面显示。`model` 的格式是「provider 名/模型 ID」。
  </Step>

  <Step title="发一条测试请求">
    ```bash theme={null}
    opencode run "Reply with exactly one word: connected"
    ```

    在项目目录运行 `opencode` 进入交互界面，输入 `/models` 切换到其他模型；非交互模式用 `-m laozhang-compat/deepseek-v4-pro` 指定模型。
  </Step>
</Steps>

## 为什么 GPT-6 要用 @ai-sdk/openai

`@ai-sdk/openai-compatible` 走 Chat Completions 接口，并会在请求中带 `max_tokens`。GPT-6 系列不接受这个参数，请求会失败，报错为：

```text theme={null}
Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead.
```

`@ai-sdk/openai` 走 Responses 接口，没有这个问题，GPT-6 也能直接调用工具。DeepSeek、Gemini、Qwen 等模型接受 `max_tokens`，放在 `@ai-sdk/openai-compatible` 下即可。

## 常见问题

### 启动后看不到老张API的模型？

检查 `opencode.json` 是否是合法的 JSON（多余的逗号会导致整份配置无法读取），以及文件位置是否正确。修改配置后重新启动 OpenCode。

### 报 401？

在运行 OpenCode 的终端执行 `test -n "$LAOZHANG_API_KEY" && echo 已设置`，确认环境变量已生效。仍然失败时，见 [API Key 无效与 Base URL](/faq/invalid-api-key)。

### 还能加哪些模型？

总表中「调用接口」包含 OpenAI 兼容的文本模型都可以加入 `laozhang-compat`。编程任务建议选能稳定调用工具的模型，见[工具接入总览](/scenarios#选模型前先看这几条)。

## 相关文档

* [工具接入总览](/scenarios)
* [模型与价格总表](/models)
* [OpenCode providers 文档](https://opencode.ai/docs/providers)


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