mirror of
https://github.com/musistudio/claude-code-router.git
synced 2026-01-30 06:12:06 +00:00
269 lines
6.4 KiB
JSON
269 lines
6.4 KiB
JSON
{
|
||
"name": "multi-provider-example",
|
||
"version": "1.0.0",
|
||
"description": "多Provider配置示例 - 支持OpenAI和DeepSeek切换",
|
||
"author": "CCR Team",
|
||
"keywords": ["openai", "deepseek", "multi-provider"],
|
||
"ccrVersion": "2.0.0",
|
||
"Providers": [
|
||
{
|
||
"name": "openai",
|
||
"api_base_url": "https://api.openai.com/v1",
|
||
"models": ["gpt-4o", "gpt-4o-mini", "gpt-3.5-turbo"]
|
||
},
|
||
{
|
||
"name": "deepseek",
|
||
"api_base_url": "https://api.deepseek.com",
|
||
"models": ["deepseek-v3", "deepseek-chat"]
|
||
}
|
||
],
|
||
"schema": [
|
||
{
|
||
"id": "primaryProvider",
|
||
"type": "select",
|
||
"label": "主要Provider",
|
||
"prompt": "选择您主要使用的LLM提供商",
|
||
"options": {
|
||
"type": "providers"
|
||
},
|
||
"required": true,
|
||
"defaultValue": "openai"
|
||
},
|
||
{
|
||
"id": "apiKey",
|
||
"type": "password",
|
||
"label": "API Key",
|
||
"prompt": "请输入您的API Key(将从环境变量或安全存储中读取)",
|
||
"placeholder": "sk-...",
|
||
"required": true,
|
||
"when": {
|
||
"field": "primaryProvider",
|
||
"operator": "exists"
|
||
}
|
||
},
|
||
{
|
||
"id": "customBaseUrl",
|
||
"type": "input",
|
||
"label": "自定义Base URL",
|
||
"prompt": "如果使用代理或自定义端点,请输入Base URL(留空使用默认值)",
|
||
"placeholder": "https://api.openai.com/v1",
|
||
"required": false,
|
||
"when": {
|
||
"field": "primaryProvider",
|
||
"operator": "exists"
|
||
}
|
||
},
|
||
{
|
||
"id": "defaultModel",
|
||
"type": "select",
|
||
"label": "默认模型",
|
||
"prompt": "选择默认使用的模型",
|
||
"options": {
|
||
"type": "models",
|
||
"providerField": "{{primaryProvider}}"
|
||
},
|
||
"required": true,
|
||
"defaultValue": "gpt-4o",
|
||
"when": {
|
||
"field": "primaryProvider",
|
||
"operator": "eq",
|
||
"value": "openai"
|
||
}
|
||
},
|
||
{
|
||
"id": "backgroundModel",
|
||
"type": "select",
|
||
"label": "后台任务模型",
|
||
"prompt": "用于后台任务的轻量级模型",
|
||
"options": {
|
||
"type": "models",
|
||
"providerField": "{{primaryProvider}}"
|
||
},
|
||
"required": false,
|
||
"when": {
|
||
"field": "primaryProvider",
|
||
"operator": "exists"
|
||
}
|
||
},
|
||
{
|
||
"id": "enableProxy",
|
||
"type": "confirm",
|
||
"label": "启用代理",
|
||
"prompt": "是否通过代理访问API?",
|
||
"defaultValue": false
|
||
},
|
||
{
|
||
"id": "proxyUrl",
|
||
"type": "input",
|
||
"label": "代理地址",
|
||
"prompt": "输入代理服务器地址",
|
||
"placeholder": "http://127.0.0.1:7890",
|
||
"required": true,
|
||
"when": {
|
||
"field": "enableProxy",
|
||
"operator": "eq",
|
||
"value": true
|
||
}
|
||
},
|
||
{
|
||
"id": "maxTokens",
|
||
"type": "number",
|
||
"label": "最大Token数",
|
||
"prompt": "设置单次请求的最大token数量",
|
||
"min": 100,
|
||
"max": 128000,
|
||
"defaultValue": 4096,
|
||
"required": false
|
||
},
|
||
{
|
||
"id": "timeout",
|
||
"type": "number",
|
||
"label": "请求超时(秒)",
|
||
"prompt": "API请求超时时间",
|
||
"min": 10,
|
||
"max": 300,
|
||
"defaultValue": 60,
|
||
"required": false
|
||
},
|
||
{
|
||
"id": "enableFeatures",
|
||
"type": "multiselect",
|
||
"label": "启用功能",
|
||
"prompt": "选择要启用的功能",
|
||
"options": {
|
||
"type": "static",
|
||
"options": [
|
||
{
|
||
"label": "流式输出",
|
||
"value": "stream",
|
||
"description": "实时显示AI响应"
|
||
},
|
||
{
|
||
"label": "工具调用",
|
||
"value": "tools",
|
||
"description": "启用Function Calling功能"
|
||
},
|
||
{
|
||
"label": "长上下文",
|
||
"value": "longContext",
|
||
"description": "支持长文本处理"
|
||
},
|
||
{
|
||
"label": "思维链",
|
||
"value": "think",
|
||
"description": "在思考模式中使用"
|
||
}
|
||
]
|
||
},
|
||
"defaultValue": ["stream", "tools"],
|
||
"required": false
|
||
},
|
||
{
|
||
"id": "advancedMode",
|
||
"type": "confirm",
|
||
"label": "高级模式",
|
||
"prompt": "启用高级配置选项?",
|
||
"defaultValue": false
|
||
},
|
||
{
|
||
"id": "temperature",
|
||
"type": "number",
|
||
"label": "Temperature",
|
||
"prompt": "控制生成随机性(0-2,值越高越随机)",
|
||
"min": 0,
|
||
"max": 2,
|
||
"defaultValue": 0.7,
|
||
"required": false,
|
||
"when": {
|
||
"field": "advancedMode",
|
||
"operator": "eq",
|
||
"value": true
|
||
}
|
||
},
|
||
{
|
||
"id": "logLevel",
|
||
"type": "select",
|
||
"label": "日志级别",
|
||
"prompt": "设置详细的日志级别",
|
||
"options": {
|
||
"type": "static",
|
||
"options": [
|
||
{
|
||
"label": "错误",
|
||
"value": "error"
|
||
},
|
||
{
|
||
"label": "警告",
|
||
"value": "warn"
|
||
},
|
||
{
|
||
"label": "信息",
|
||
"value": "info"
|
||
},
|
||
{
|
||
"label": "调试",
|
||
"value": "debug"
|
||
}
|
||
]
|
||
},
|
||
"defaultValue": "info",
|
||
"required": false,
|
||
"when": {
|
||
"field": "advancedMode",
|
||
"operator": "eq",
|
||
"value": true
|
||
}
|
||
}
|
||
],
|
||
"template": {
|
||
"Providers": [
|
||
{
|
||
"name": "{{primaryProvider}}",
|
||
"api_base_url": "{{customBaseUrl}}",
|
||
"api_key": "{{apiKey}}",
|
||
"models": ["{{defaultModel}}", "{{backgroundModel}}"]
|
||
}
|
||
],
|
||
"Router": {
|
||
"default": "{{primaryProvider}}/{{defaultModel}}",
|
||
"background": "{{backgroundModel}}",
|
||
"think": "{{primaryProvider}}/{{defaultModel}}"
|
||
},
|
||
"PROXY_URL": "{{proxyUrl}}",
|
||
"API_TIMEOUT_MS": 60000,
|
||
"LOG_LEVEL": "info"
|
||
},
|
||
"configMappings": [
|
||
{
|
||
"target": "Providers[0].api_base_url",
|
||
"value": "{{customBaseUrl}}",
|
||
"when": {
|
||
"field": "customBaseUrl",
|
||
"operator": "exists"
|
||
}
|
||
},
|
||
{
|
||
"target": "PROXY_URL",
|
||
"value": "{{proxyUrl}}",
|
||
"when": {
|
||
"field": "enableProxy",
|
||
"operator": "eq",
|
||
"value": true
|
||
}
|
||
},
|
||
{
|
||
"target": "API_TIMEOUT_MS",
|
||
"value": 60000
|
||
},
|
||
{
|
||
"target": "LOG_LEVEL",
|
||
"value": "{{logLevel}}",
|
||
"when": {
|
||
"field": "advancedMode",
|
||
"operator": "eq",
|
||
"value": true
|
||
}
|
||
}
|
||
]
|
||
}
|