AIClient-2-API/docs/OPENCODE_CONFIG_EXAMPLE.md
hex2077 c632f184c6 feat(claude-kiro): 为空工具列表添加占位工具避免API错误
refactor(usage-api): 提取支持的提供商列表为共享常量
fix(usage-service): 移除重置时间的本地化格式化避免显示问题
style(usage-manager): 为不支持用量显示的提供商优化UI展示
chore: 更新README中的文档链接指向docs目录
2026-02-03 18:55:22 +08:00

111 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OpenCode 配置示例及重点解释
本文档提供了一个典型的 `opencode` 配置文件示例,并对其中的关键配置项进行了详细解释,帮助您快速理解如何配置不同的 AI 服务提供商。
## 配置示例 (`config.json`)
```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` 字段与您要使用的模型协议匹配,否则会导致连接失败。
* **`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-antigravity` vs `gemini-2.5-flash-geminicli`)在前端进行区分。
### 3. `$schema`
* 用于提供 JSON 模式验证。在支持的编辑器(如 VS Code它可以为您提供自动补全和实时错误检查。