- 新增 AI 监控插件 (ai-monitor),支持全链路协议转换监控 - 捕获 AI 接口请求参数(转换前后) - 监控流式和非流式响应(转换前后) - 支持内部请求转换监控 - 新增日志清空功能,支持前端和服务器端同时清空当日日志 - 默认禁用 api-potluck 和 ai-monitor 插件 - 更新多语言文档和配置示例 - 优化提供商适配器开发指南
4.3 KiB
4.3 KiB
OpenCode 配置示例及重点解释
本文档提供了一个典型的 opencode 配置文件示例,并对其中的关键配置项进行了详细解释,帮助您快速理解如何配置不同的 AI 服务提供商。
配置示例 (config.json)
{
"plugin": [],
"provider": {
"kiro": {
"npm": "@ai-sdk/anthropic",
"name": "AIClient2API-kiro",
"options": {
"baseURL": "http://localhost:3000/claude-kiro-oauth/v1",
"apiKey": "123456"
},
"models": {
"claude-opus-4-5": {
"name": "Claude Opus 4.5 Kiro"
},
"claude-sonnet-4-5-20250929": {
"name": "Claude Sonnet 4.5 Kiro"
}
}
},
"qwen": {
"npm": "@ai-sdk/openai-compatible",
"name": "AIClient2API-qwen",
"options": {
"baseURL": "http://localhost:3000/openai-qwen-oauth/v1",
"apiKey": "123456"
},
"models": {
"qwen3-coder-plus": {
"name": "Qwen3 Coder Plus Openai "
}
}
},
"gemini-antigravity": {
"npm": "@ai-sdk/google",
"name": "AIClient2API-antigravity",
"options": {
"baseURL": "http://localhost:3000/gemini-antigravity/v1beta",
"apiKey": "123456"
},
"models": {
"gemini-2.5-flash-preview": {
"name": "gemini-2.5-flash-antigravity"
},
"gemini-3-flash-preview": {
"name": "gemini-3-flash-antigravity"
},
"gemini-3-pro-preview": {
"name": "gemini-3-pro-antigravity"
}
}
},
"gemini-cli": {
"npm": "@ai-sdk/google",
"name": "AIClient2API-geminicli",
"options": {
"baseURL": "http://localhost:3000/v1beta",
"apiKey": "123456"
},
"models": {
"gemini-2.5-flash-preview": {
"name": "gemini-2.5-flash-geminicli"
},
"gemini-3-flash-preview": {
"name": "gemini-3-flash-geminicli"
},
"gemini-3-pro-preview": {
"name": "gemini-3-pro-geminicli"
}
}
}
},
"$schema": "https://opencode.ai/config.json"
}
配置重点解释
1. provider (服务提供商配置)
这是配置的核心部分,每个键(如 kiro, qwen, gemini-cli)代表一个独立的服务提供商实例。
-
npm(SDK 适配器):- 指定底层使用的 AI SDK。例如:
@ai-sdk/anthropic: 用于 Anthropic (Claude) 系列模型。@ai-sdk/openai-compatible: 用于兼容 OpenAI 接口标准的模型(如通义千问 Qwen)。@ai-sdk/google: 用于 Google Gemini 系列模型。
- 重点: 必须确保
npm字段与您要使用的模型协议匹配,否则会导致连接失败。
- 指定底层使用的 AI SDK。例如:
-
options(连接参数):baseURL: API 的访问地址。在示例中,许多是内网或中转地址(如http://localhost:3000/...)。apiKey: 访问 API 所需的身份验证密钥。
-
models(模型映射):- 定义该提供商下可用的模型列表。
- 键名 (ID): 实际调用时使用的模型 ID(例如
claude-opus-4-5)。 name: 在 UI 界面上显示的友好名称。- 重点: 这里的键名必须与服务端实际支持的模型标识符一致。
2. 区分同类型的不同实例
在示例中,有两个 gemini 相关的配置:gemini-antigravity 和 gemini-cli。
- 它们虽然都使用
@ai-sdk/google,但通过不同的baseURL区分。 - 这允许您在同一配置中接入来自不同网关或环境的同类模型,并通过自定义的
name(如gemini-2.5-flash-antigravityvsgemini-2.5-flash-geminicli)在前端进行区分。
3. $schema
- 用于提供 JSON 模式验证。在支持的编辑器(如 VS Code)中,它可以为您提供自动补全和实时错误检查。