- ① 后端删除 app/ai_provider/(38 文件,含 anthropic/openai 格式、billing、audio、embedding)、services/ai_provider_admin.py、core/config/model_config.py、tests/ai_provider/(21 文件) - ② 连带退役 application/agent/(旧 Agent 循环/steer/follow-up/确认注册表)、application/skill_executor.py、app/skills/(python skills 孤儿)、endpoints/audio.py、application/imports.py(ProviderManager 消费方);settings 端点收敛为生成偏好 - ③ runs.py 修剪:AgentRunRegistry/steer/follow-up/confirmations 端点退役,保留 list/get/events/cancel/stream;safety 确认改为直接落库裁决(pending→approved/denied) - ④ 前端删除:models 页、ModelGatewayView、gateway.ts、GatewayPanel(玄关)、ModelGatewayPanel/ModelStrategyForm、audio.ts/useVoiceInput、网关类型与 mock;设置页收敛为外观/语言/通知 - ⑤ 配置收敛:config/models|providers|pricing.example.yaml 归档 shenshi/config/;.env.example 删 provider keys/MODEL_ENDPOINT_POOL/MODEL_CONFIG_PATH,收敛 SHENSHI_* - ⑥ 验收:rg 审计灵台 Provider SDK import 与 ai_provider 引用归零;后端 528 passed(2 个预存失败经 HEAD 复跑验证与本手术无关)、前端 type-check+201 passed、神识 go vet+test、BFF 4 passed
58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
# Provider infrastructure configuration — base URL, API key env vars,
|
|
# parameter mappings, retry/timeout settings.
|
|
# Copy as config/providers.yaml and fill in your API keys in .env
|
|
version: 1
|
|
|
|
providers:
|
|
deepseek:
|
|
format: openai
|
|
base_url_env: DEEPSEEK_BASE_URL
|
|
api_key_env: DEEPSEEK_API_KEY
|
|
timeout_seconds: 300
|
|
max_retries: 2
|
|
parameter_mappings:
|
|
temperature: { provider_param: temperature, min: 0, max: 2, default: 1.0 }
|
|
max_tokens: { provider_param: max_tokens, min: 1 }
|
|
top_p: { provider_param: top_p, min: 0, max: 1 }
|
|
stop: { provider_param: stop }
|
|
frequency_penalty: { provider_param: frequency_penalty, min: -2, max: 2 }
|
|
presence_penalty: { provider_param: presence_penalty, min: -2, max: 2 }
|
|
|
|
anthropic:
|
|
format: anthropic
|
|
base_url_env: ANTHROPIC_BASE_URL
|
|
api_key_env: ANTHROPIC_API_KEY
|
|
timeout_seconds: 120
|
|
max_retries: 1
|
|
parameter_mappings:
|
|
max_tokens: { provider_param: max_tokens, default: 4096 }
|
|
thinking: { provider_param: thinking }
|
|
metadata: { provider_param: metadata }
|
|
|
|
xiaomi:
|
|
format: openai
|
|
base_url_env: XIAOMI_MIMO_BASE_URL
|
|
api_key_env: XIAOMI_MIMO_API_KEY
|
|
timeout_seconds: 300
|
|
max_retries: 2
|
|
parameter_mappings:
|
|
temperature: { provider_param: temperature, min: 0, max: 2, default: 1.0 }
|
|
max_tokens: { provider_param: max_tokens, min: 1 }
|
|
|
|
google:
|
|
format: openai
|
|
base_url_env: GOOGLE_BASE_URL
|
|
api_key_env: GOOGLE_API_KEY
|
|
timeout_seconds: 60
|
|
max_retries: 1
|
|
parameter_mappings:
|
|
temperature: { provider_param: temperature, min: 0, max: 2 }
|
|
max_tokens: { provider_param: max_tokens, min: 1 }
|
|
top_p: { provider_param: top_p, min: 0, max: 1 }
|
|
|
|
yuanqi:
|
|
format: openai
|
|
base_url_env: YUANQI_BASE_URL
|
|
api_key_env: YUANQI_API_KEY
|
|
timeout_seconds: 30
|
|
max_retries: 1 |