feat(admin): 渠道管理 - 模型供应商支持渠道级 SOCKS5/HTTP 代理

- ModelChannel 新增 proxy_url 字段,v48 迁移自动加列
- outbound 新增 OutboundHTTPClientWithProxy,socks5/socks5h/http/https 均支持;
  目标主机名不做本地解析,直接交给代理服务器远端解析,本地开启 TUN/VPN 时仍可用
- 系统代理、Provider 出站、管理员模型测试路径均使用渠道级代理
- 渠道管理表单新增"代理地址"输入框,留空回退全局代理
This commit is contained in:
dxiaom
2026-10-10 00:59:37 +08:00
parent 09f9b8e902
commit 8b0a8054e1
13 changed files with 119 additions and 8 deletions

View File

@@ -78,6 +78,7 @@ type providerAnalyticsContext struct {
Capability string
Operation string
ChannelID string
ProxyURL string
Model string
VideoSeconds int
RequestKind string
@@ -107,6 +108,11 @@ func withProviderAnalytics(ctx context.Context, service *Service, task model.Tas
if normalized := normalizeCapability(input.Mode); normalized != "" {
metadata.Capability = normalized
}
if metadata.ChannelID != "" && service != nil {
if ch, err := service.repo.SystemChannel(metadata.ChannelID); err == nil {
metadata.ProxyURL = ch.ProxyURL
}
}
}
return context.WithValue(ctx, providerAnalyticsKey{}, metadata)
}