使用 OpenCode 集成 GenStudio API
OpenCode 是一款在终端中运行的 CLI + TUI AI 编程代理工具,同时也提供 IDE 插件集成。它支持通过配置自定义 Provider 来连接第三方 API 服务。本教程将指导用户如何在 OpenCode 中集成 GenStudio 的 API 服务。
获取 API 接入信息
在配置之前,您需要先确定所选的服务模式以获取对应的 API Key。
注意
在调用接口时,不同的应用或客户端工具可能需要您输入完整的 Endpoint(Base URL + 具体路径),或者分别输入 Base URL 与路径。请根据所用工具的要求提供以下参数。
Infini 编码套餐 (Coding Plan)
适用于订阅了预付费编程套餐的开发者,提供专享配额与预算控制。Coding Plan 使用专用的 Base URL 和 Endpoints,请根据您的客户端工具支持的协议(OpenAI 兼容或 Anthropic)来配置。详见 Infini 编码套餐。
API Key:前往编码套餐页面创建 API 密钥。Infini 编码套餐专用 API 密钥均带有
sk-cp-前缀。注意
Infini 编码套餐 (Coding Plan) 仅支持部分模型。实际支持情况请以平台编码套餐页面显示为准。
OpenAI (OpenAI Compatible)
- Base URL:
https://cloud.infini-ai.com/maas/coding/v1 - Endpoints
- Create Chat Completion:
/chat/completions - List Models:
/models
- Create Chat Completion:
- Base URL:
Anthropic (Anthropic Messages)
- Base URL:
https://cloud.infini-ai.com/maas/coding - Endpoints
- Create a Message:
/v1/messages - List Models:
/v1/models
- Create a Message:
- Base URL:
GenStudio 通用 LLM API
适用于按量付费、包并发服务,或希望免费体验(基础服务)的用户,可用于大语言模型、生图模型、视频模型等。GenStudio 通用 LLM API 使用平台通用的的 Base URL 和 Endpoints,请根据您的客户端工具支持的协议(OpenAI 兼容或 Anthropic)来配置。
API Key: 创建以
sk-前缀的 API 密钥。详见 GenStudio API 快速集成。注意
GenStudio 通用 LLM API 服务有 API 频率限制。租户在 GenStudio 的服务等级决定了 API 调用是否计费,以及享受的 API 频率上限。详见 LLM API 计费规则。
OpenAI (OpenAI Compatible)
- Base URL:
https://cloud.infini-ai.com/maas/v1 - Endpoints
- Create Chat Completion:
/chat/completions - List Models:
/models
- Create Chat Completion:
- Base URL:
Anthropic (Anthropic Messages)
- Base URL:
https://cloud.infini-ai.com/maas/ - Endpoints
- Create a Message:
/v1/messages - List Models:
/v1/models
- Create a Message:
- Base URL:
在 OpenCode 中集成 GenStudio API 服务
OpenCode 允许用户通过配置文件添加自定义模型提供商。以下是配置步骤:
安装 OpenCode
如果您尚未安装 OpenCode,可以使用官方安装脚本或 npm 进行安装:
# 使用 curl 安装
curl -fsSL https://opencode.ai/install | bash或者:
# 使用 npm 安装
npm install -g opencode-ai配置 Provider
推荐修改全局配置文件,这样在任何目录下都能使用 GenStudio 模型。配置文件位置:
- Linux/macOS:
~/.config/opencode/opencode.json - Windows:
%USERPROFILE%\.config\opencode\opencode.json
如果文件不存在,请手动创建该文件。
OpenCode 基于 Vercel AI SDK 构建。GenStudio 的不同模型需要使用不同的适配器(Adapter),因此我们需要配置两个 Provider:
- Provider 1 (
genstudio-openai): 适用于 DeepSeek (v3, R1)、Kimi 等 OpenAI 兼容模型。使用@ai-sdk/openai-compatible适配器。 - Provider 2 (
genstudio-anthropic): 适用于 MiniMax、GLM 等 Anthropic 兼容模型。使用@ai-sdk/anthropic适配器。
将以下内容添加到您的 opencode.json 配置文件中:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"genstudio-openai": {
"npm": "@ai-sdk/openai-compatible",
"name": "GenStudio (OpenAI Compatible)",
"options": {
// [!TIP] 如果您订阅了 Infini 编码套餐 (Coding Plan),请将 baseURL 修改为 https://cloud.infini-ai.com/maas/coding/v1
"baseURL": "https://cloud.infini-ai.com/maas/v1",
"apiKey": "{env:GENSTUDIO_API_KEY}"
},
"models": {
"kimi-k2.5": {
"name": "Kimi K2.5" },
"modalities": {
"input": ["text", "image"],
"output": ["text"]
}
}
},
"genstudio-anthropic": {
"npm": "@ai-sdk/anthropic",
"name": "GenStudio (Anthropic Compatible)",
"options": {
// [TIP] 如果您订阅了 Infini 编码套餐 (Coding Plan),请将 baseURL 修改为 https://cloud.infini-ai.com/maas/coding/v1
"baseURL": "https://cloud.infini-ai.com/maas/v1",
"apiKey": "{env:GENSTUDIO_API_KEY}"
},
"models": {
"minimax-m2.5": { "name": "MiniMax M2.5" },
"glm-5": { "name": "GLM-5" },
}
}
}
}注意
上述配置使用了 {env:GENSTUDIO_API_KEY} 引用环境变量,这是一种更安全的做法。
您需要在 shell 中设置该环境变量:
export GENSTUDIO_API_KEY="sk-..."或者,为了方便(但不推荐用于共享环境),您也可以直接将 apiKey 字段的值替换为您的实际 Key 字符串。
Anthropic 协议模型支持范围
GenStudio 仅为部分模型提供 Anthropic Messages 兼容接口。最新支持情况,请前往 GenStudio 模型广场,使用「Claude 兼容」筛选条件查看支持的模型列表。
注意
如您已订阅 Infini 编码套餐 (Coding Plan) ,请注意编码套餐仅支持部分模型。请访问平台编码套餐页面,以实际显示为准。
选择模型并启动
配置完成后,启动 OpenCode:
# 设置环境变量并启动
export GENSTUDIO_API_KEY="sk-..."
opencode在 OpenCode 界面中:
- 输入
/models命令。 - 您将看到
GenStudio (OpenAI Compatible)和GenStudio (Anthropic Compatible)下的模型列表。 - 选择您需要的模型即可开始使用。
图片理解
默认情况下,OpenCode 会假设您连接的任何模型都仅支持纯文本。它不会自动检测模型的视觉能力;如果需要使用模型的图像理解能力,您需要在 OpenCode 配置文件中显式声明模型具备该能力。
当您在 opencode.json(或 opencode.jsonc)文件中为模型定义添加 modalities(模态)参数时,它就会知道该模型具备视觉理解能力。
如何配置视觉能力
要为具备视觉能力的模型启用图像处理(如 kimi-k2.5 为多模态模型,支持 Base64 编码方式图片输入),您需要修改或添加 modalities 字段,确保 input 数组中定义 "image"。
OpenCode 配置文件示例:
{
"models": {
"kimi-k2.5": {
"name": "Kimi K2.5",
"modalities": {
"input": ["text", "image"],
"output": ["text"]
}
}
},
"name": "GenStudio (OpenAI Compatible)",
"npm": "@ai-sdk/openai-compatible",
"options": {
"apiKey": "sk-xxxxxx",
"baseURL": "https://xxxxx"
}
}注意
如果不配置会怎样?
如果您在未配置 modalities 字段的情况下尝试将图像传递给模型,OpenCode 将拦截该请求并返回错误,提示该模型无法读取或查看图像。