diff --git a/pkg/config/config.go b/pkg/config/config.go index 197b959..3d213d7 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -149,6 +149,7 @@ type ProvidersConfig struct { Gemini ProviderConfig `json:"gemini"` Nvidia ProviderConfig `json:"nvidia"` Moonshot ProviderConfig `json:"moonshot"` + ShengSuanYun ProviderConfig `json:"shengsuanyun"` } type ProviderConfig struct { @@ -248,6 +249,7 @@ func DefaultConfig() *Config { Gemini: ProviderConfig{}, Nvidia: ProviderConfig{}, Moonshot: ProviderConfig{}, + ShengSuanYun: ProviderConfig{}, }, Gateway: GatewayConfig{ Host: "0.0.0.0", @@ -337,6 +339,9 @@ func (c *Config) GetAPIKey() string { if c.Providers.VLLM.APIKey != "" { return c.Providers.VLLM.APIKey } + if c.Providers.ShengSuanYun.APIKey != "" { + return c.Providers.ShengSuanYun.APIKey + } return "" } diff --git a/pkg/providers/http_provider.go b/pkg/providers/http_provider.go index 7179c4c..b1d0c03 100644 --- a/pkg/providers/http_provider.go +++ b/pkg/providers/http_provider.go @@ -289,6 +289,14 @@ func CreateProvider(cfg *config.Config) (LLMProvider, error) { apiKey = cfg.Providers.VLLM.APIKey apiBase = cfg.Providers.VLLM.APIBase } + case "shengsuanyun": + if cfg.Providers.ShengSuanYun.APIKey != "" { + apiKey = cfg.Providers.ShengSuanYun.APIKey + apiBase = cfg.Providers.ShengSuanYun.APIBase + if apiBase == "" { + apiBase = "https://router.shengsuanyun.com/api/v1" + } + } case "claude-cli", "claudecode", "claude-code": workspace := cfg.Agents.Defaults.Workspace if workspace == "" {