AIClient-2-API/OPENCODE_CONFIG_EXAMPLE.md
hex2077 ce7d78f7d0 feat(plugins): 新增 AI 监控插件并优化日志管理
- 新增 AI 监控插件 (ai-monitor),支持全链路协议转换监控
  - 捕获 AI 接口请求参数(转换前后)
  - 监控流式和非流式响应(转换前后)
  - 支持内部请求转换监控
- 新增日志清空功能,支持前端和服务器端同时清空当日日志
- 默认禁用 api-potluck 和 ai-monitor 插件
- 更新多语言文档和配置示例
- 优化提供商适配器开发指南
2026-01-25 19:40:04 +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它可以为您提供自动补全和实时错误检查。