跳到主要内容

OpenCode

OpenCode 是一款开源 AI 编码 Agent,支持终端界面、桌面应用和 IDE 扩展等形态。它可以阅读项目上下文、解释代码、修改文件、执行命令并协助完成开发任务。本页主要说明如何在 OpenCode 中接入彼源 AI,将模型调用统一切换到彼源 AI API。

适用场景

  • 希望在终端中使用 AI 编码 Agent 处理本地项目。
  • 希望通过彼源 AI 令牌接入 OpenAI 兼容模型。
  • 希望在彼源 AI 控制台统一查看 OpenCode 的使用日志、额度消耗,并统一管理令牌权限。
  • 希望为 OpenCode 单独创建令牌,避免与生产服务或其他客户端共用同一密钥。

前置条件

开始前,请先准备以下信息:

项目说明
OpenCode已安装并可运行 opencode 命令
API endpointhttps://api.biyuan.ai/v1
彼源 AI 令牌在控制台令牌管理中创建的 sk- 开头令牌
模型名称模型广场复制;令牌设置了模型限制时,以 GET /v1/models 返回为准

OpenCode 的 OpenAI-compatible provider 需要填写包含 /v1 的 API endpoint。接入彼源 AI 时请使用 https://api.biyuan.ai/v1

安装 OpenCode

如本机尚未安装 OpenCode,可使用官方安装脚本:

curl -fsSL https://opencode.ai/install | bash

也可以使用 npm 或 Homebrew 安装:

npm install -g opencode-ai
brew install anomalyco/tap/opencode

安装完成后执行:

opencode --version

如果能够输出版本号,说明 OpenCode 已可在当前终端中使用。

接入流程

创建 OpenCode 专用令牌
-> 在 OpenCode 中添加自定义 provider 凭证
-> 写入 opencode.json
-> 选择彼源 AI 模型
-> 发送测试请求
-> 在彼源 AI 控制台「使用日志」确认请求

如何接入

1. 创建 OpenCode 专用令牌

进入彼源 AI 控制台:

令牌管理 -> 添加令牌

建议命名为 opencode-macopencode-workopencode-project 等便于识别的名称。后续查看消耗、停用令牌或排查请求时,可以直接定位到对应客户端。

2. 添加自定义 provider 凭证

进入项目目录并启动 OpenCode:

cd /path/to/your/project
opencode

在 OpenCode 界面中执行:

/connect

选择 Other,并按提示填写:

项目建议填写
Provider IDbiyuan
API Key彼源 AI 控制台生成的 sk- 开头令牌

Provider ID 会在后续 opencode.json 中使用。建议保持为 biyuan,避免凭证和配置文件中的 provider 名称不一致。

3. 配置 opencode.json

在项目根目录创建或更新 opencode.json

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"biyuan": {
"npm": "@ai-sdk/openai-compatible",
"name": "Biyuan",
"options": {
"baseURL": "https://api.biyuan.ai/v1"
},
"models": {
"gpt-5.4": {
"name": "gpt-5.4"
}
}
}
},
"model": "biyuan/gpt-5.4"
}

字段说明:

字段说明
provider.biyuan自定义 provider,名称需要与 /connect 中填写的 Provider ID 一致
npmOpenAI 兼容接口使用 @ai-sdk/openai-compatible
options.baseURL彼源 AI API endpoint,需要包含 /v1
models在 OpenCode 中展示的模型列表
modelOpenCode 默认使用的模型,格式为 provider/model

请将示例中的 gpt-5.4 替换为真实模型 ID。模型 ID 从模型广场复制;想确认当前令牌实际可用的模型,调用 GET /v1/models(令牌设置了模型限制时,以这个返回为准)。首次接入建议只配置一个模型完成验证,确认链路正常后再增加其他模型。

4. 选择模型

回到 OpenCode,执行:

/models

在模型列表中选择 Biyuan 下的目标模型。如果列表中没有看到目标模型,请检查 opencode.json 中的 models 配置和 provider 名称是否一致。

5. 发送测试请求

在 OpenCode 中发送一条简单请求:

请用三句话总结这个项目的目录结构。

OpenCode 正常返回后,回到彼源 AI 控制台,打开「使用日志」,能看到刚才这条请求(模型、时间、消耗),说明接入成功。

使用环境变量保存令牌

如果不希望通过 /connect 保存凭证,也可以使用环境变量方式。先在终端中设置:

export BIYUAN_API_KEY="<你的彼源 AI 令牌>"

然后在 opencode.json 中加入 apiKey

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"biyuan": {
"npm": "@ai-sdk/openai-compatible",
"name": "Biyuan",
"options": {
"baseURL": "https://api.biyuan.ai/v1",
"apiKey": "{env:BIYUAN_API_KEY}"
},
"models": {
"gpt-5.4": {
"name": "gpt-5.4"
}
}
}
},
"model": "biyuan/gpt-5.4"
}

请勿把真实令牌写入公开文档、截图、代码仓库或聊天记录中。如果 opencode.json 会提交到 Git,建议使用环境变量或 /connect 保存凭证,不要在配置文件中明文写入令牌。

全局配置方式

如果希望所有项目都默认使用彼源 AI,可以把配置放到全局配置文件:

~/.config/opencode/opencode.json

如果只希望某个项目使用彼源 AI,建议把 opencode.json 放在该项目根目录。项目级配置优先级更高,适合按项目选择不同模型或权限边界。

验证方法

推荐按以下顺序验证:

  1. 执行 opencode --version,确认 OpenCode 已安装。
  2. 执行 opencode auth list,确认 biyuan 凭证已存在。
  3. 检查 opencode.json 中是否存在 provider.biyuan
  4. 确认 options.baseURLhttps://api.biyuan.ai/v1
  5. 执行 /models,选择 Biyuan 下的目标模型。
  6. 发送一条测试请求。
  7. 回到彼源 AI 控制台,打开「使用日志」,确认能看到刚才这条请求(模型、时间、消耗)。

注意事项

  • baseURL 需要填写 https://api.biyuan.ai/v1,不要省略 /v1
  • provider 名称需要与 /connect 中填写的 Provider ID 保持一致。
  • 模型 ID 从模型广场复制;令牌设置了模型限制时,以 GET /v1/models 返回为准。
  • 不建议多个客户端共用同一枚高权限令牌。
  • 不建议把真实令牌提交到项目仓库。
  • 如果某个模型依赖 Responses 风格接口,先到模型广场查看该模型卡片的接口标注;想确认当前令牌实际可用的模型,调用 GET /v1/models(令牌设置了模型限制时,以这个返回为准)。

常见问题

Base URL 应该填写什么

填写:

https://api.biyuan.ai/v1

OpenCode 的 OpenAI-compatible provider 会基于该地址请求 OpenAI 兼容接口,因此这里需要包含 /v1

执行 /models 看不到 Biyuan

请检查:

  • opencode.json 是否位于当前项目根目录,或是否已放入全局配置目录。
  • provider 中是否存在 biyuan
  • /connect 中填写的 Provider ID 是否也是 biyuan
  • JSON 格式是否正确,例如引号、逗号和括号是否完整。

提示 401 或 403

常见原因包括:

  • 令牌填写错误或已经失效。
  • 当前令牌没有目标模型权限。
  • 令牌额度不足或被停用。
  • Provider IDopencode.json 中的 provider 名称不一致。

建议先在彼源 AI 控制台确认令牌状态和可用模型,再重新启动 OpenCode 验证。

模型名称应该怎么写

模型 ID 从模型广场复制;想确认当前令牌实际可用的模型,调用 GET /v1/models(令牌设置了模型限制时,以这个返回为准)。models 中的 key 是实际请求使用的模型名称,name 是在 OpenCode 中展示的名称。通常保持两者一致即可。

示例:

"models": {
"gpt-5.4": {
"name": "gpt-5.4"
}
}

默认模型需要写成:

"model": "biyuan/gpt-5.4"

如何确认请求是否经过彼源 AI

最直接的方式:回到彼源 AI 控制台,打开「使用日志」,能看到刚才这条请求(模型、时间、消耗),说明请求确实经过了彼源 AI。如果 OpenCode 返回成功,但「使用日志」里没有这条请求,通常说明当前配置仍在使用其他 provider,或当前项目没有加载包含 biyuanopencode.json

官方参考

继续阅读