AIClient-2-API/configs/config.json.example
hex2077 68719879c5 feat(architecture): 重构适配器注册机制并引入并发控制系统
建立可扩展的提供商适配器注册表,实现动态服务发现与插槽管理:

架构改进:
- 采用 Map 注册表替代 switch-case 硬编码,支持热插拔适配器
- 实现 acquireSlot/releaseSlot 机制,精确追踪活跃请求与等待队列
- 新增节点评分算法,综合考量并发数、队列长度、健康状态

核心能力:
- 支持并发限制与队列等待,避免单节点过载 (concurrencyLimit/queueLimit)
- 实现 Fallback 链式调用,429 错误自动切换备用凭证
- 添加请求级 IP 追踪,日志格式优化为 `clientIp:requestId`

配套更新:
- 管理界面新增并发/队列配置字段与 Grok 逆向提供商选项
- 用量查询服务扩展 Grok 支持,同步剩余查询次数 (固定总量 80)
- 新增并发测试脚本 (tests/concurrent-test.js),支持自定义并发数与 RPM 限制

配置项:
- GROK_COOKIE_TOKEN, GROK_CF_CLEARANCE, GROK_USER_AGENT, GROK_BASE_URL
2026-02-26 18:19:38 +08:00

61 lines
2 KiB
Text

{
"REQUIRED_API_KEY": "123456",
"SERVER_PORT": 3000,
"HOST": "0.0.0.0",
"MODEL_PROVIDER": "gemini-cli-oauth",
"SYSTEM_PROMPT_FILE_PATH": "configs/input_system_prompt.txt",
"SYSTEM_PROMPT_MODE": "overwrite",
"PROMPT_LOG_BASE_NAME": "prompt_log",
"PROMPT_LOG_MODE": "none",
"REQUEST_MAX_RETRIES": 3,
"REQUEST_BASE_DELAY": 1000,
"CRON_NEAR_MINUTES": 1,
"CRON_REFRESH_TOKEN": false,
"PROVIDER_POOLS_FILE_PATH": "configs/provider_pools.json",
"MAX_ERROR_COUNT": 3,
"GROK_COOKIE_TOKEN": "your-sso-cookie-token",
"GROK_CF_CLEARANCE": "your-cf-clearance-cookie",
"GROK_USER_AGENT": "Mozilla/5.0 ...",
"GROK_BASE_URL": "https://grok.com",
"providerFallbackChain": {
"gemini-cli-oauth": ["gemini-antigravity"],
"gemini-antigravity": ["gemini-cli-oauth"],
"claude-kiro-oauth": ["claude-custom"],
"claude-custom": ["claude-kiro-oauth"]
},
"modelFallbackMapping": {
"gemini-claude-opus-4-5-thinking": {
"targetProviderType": "claude-kiro-oauth",
"targetModel": "claude-opus-4-5"
},
"gemini-claude-sonnet-4-5-thinking": {
"targetProviderType": "claude-kiro-oauth",
"targetModel": "claude-sonnet-4-5"
},
"gemini-claude-sonnet-4-5": {
"targetProviderType": "claude-kiro-oauth",
"targetModel": "claude-sonnet-4-5"
},
"claude-opus-4-5": {
"targetProviderType": "gemini-antigravity",
"targetModel": "gemini-claude-opus-4-5-thinking"
},
"claude-sonnet-4-5": {
"targetProviderType": "gemini-antigravity",
"targetModel": "gemini-claude-sonnet-4-5"
}
},
"PROXY_URL": "http://127.0.0.1:1089",
"PROXY_ENABLED_PROVIDERS": [
"gemini-cli-oauth",
"gemini-antigravity"
],
"LOG_ENABLED": true,
"LOG_OUTPUT_MODE": "all",
"LOG_LEVEL": "info",
"LOG_DIR": "logs",
"LOG_INCLUDE_REQUEST_ID": true,
"LOG_INCLUDE_TIMESTAMP": true,
"LOG_MAX_FILE_SIZE": 10485760,
"LOG_MAX_FILES": 10
}