Просмотр исходного кода

refactor: Extract operation-related settings into a separate package

1808837298@qq.com 1 год назад
Родитель
Сommit
98b27a17a6

+ 3 - 2
controller/misc.go

@@ -7,6 +7,7 @@ import (
 	"one-api/common"
 	"one-api/model"
 	"one-api/setting"
+	"one-api/setting/operation_setting"
 	"strings"
 
 	"github.com/gin-gonic/gin"
@@ -66,8 +67,8 @@ func GetStatus(c *gin.Context) {
 			"enable_online_topup":      setting.PayAddress != "" && setting.EpayId != "" && setting.EpayKey != "",
 			"mj_notify_enabled":        setting.MjNotifyEnabled,
 			"chats":                    setting.Chats,
-			"demo_site_enabled":        setting.DemoSiteEnabled,
-			"self_use_mode_enabled":    setting.SelfUseModeEnabled,
+			"demo_site_enabled":        operation_setting.DemoSiteEnabled,
+			"self_use_mode_enabled":    operation_setting.SelfUseModeEnabled,
 		},
 	})
 	return

+ 7 - 6
model/option.go

@@ -4,6 +4,7 @@ import (
 	"one-api/common"
 	"one-api/setting"
 	"one-api/setting/config"
+	"one-api/setting/operation_setting"
 	"strconv"
 	"strings"
 	"time"
@@ -110,14 +111,14 @@ func InitOptionMap() {
 	common.OptionMap["MjForwardUrlEnabled"] = strconv.FormatBool(setting.MjForwardUrlEnabled)
 	common.OptionMap["MjActionCheckSuccessEnabled"] = strconv.FormatBool(setting.MjActionCheckSuccessEnabled)
 	common.OptionMap["CheckSensitiveEnabled"] = strconv.FormatBool(setting.CheckSensitiveEnabled)
-	common.OptionMap["DemoSiteEnabled"] = strconv.FormatBool(setting.DemoSiteEnabled)
-	common.OptionMap["SelfUseModeEnabled"] = strconv.FormatBool(setting.SelfUseModeEnabled)
+	common.OptionMap["DemoSiteEnabled"] = strconv.FormatBool(operation_setting.DemoSiteEnabled)
+	common.OptionMap["SelfUseModeEnabled"] = strconv.FormatBool(operation_setting.SelfUseModeEnabled)
 	common.OptionMap["ModelRequestRateLimitEnabled"] = strconv.FormatBool(setting.ModelRequestRateLimitEnabled)
 	common.OptionMap["CheckSensitiveOnPromptEnabled"] = strconv.FormatBool(setting.CheckSensitiveOnPromptEnabled)
 	common.OptionMap["StopOnSensitiveEnabled"] = strconv.FormatBool(setting.StopOnSensitiveEnabled)
 	common.OptionMap["SensitiveWords"] = setting.SensitiveWordsToString()
 	common.OptionMap["StreamCacheQueueLength"] = strconv.Itoa(setting.StreamCacheQueueLength)
-	common.OptionMap["AutomaticDisableKeywords"] = setting.AutomaticDisableKeywordsToString()
+	common.OptionMap["AutomaticDisableKeywords"] = operation_setting.AutomaticDisableKeywordsToString()
 
 	// 自动添加所有注册的模型配置
 	modelConfigs := config.GlobalConfig.ExportAllConfigs()
@@ -243,9 +244,9 @@ func updateOptionMap(key string, value string) (err error) {
 		case "CheckSensitiveEnabled":
 			setting.CheckSensitiveEnabled = boolValue
 		case "DemoSiteEnabled":
-			setting.DemoSiteEnabled = boolValue
+			operation_setting.DemoSiteEnabled = boolValue
 		case "SelfUseModeEnabled":
-			setting.SelfUseModeEnabled = boolValue
+			operation_setting.SelfUseModeEnabled = boolValue
 		case "CheckSensitiveOnPromptEnabled":
 			setting.CheckSensitiveOnPromptEnabled = boolValue
 		case "ModelRequestRateLimitEnabled":
@@ -365,7 +366,7 @@ func updateOptionMap(key string, value string) (err error) {
 	case "SensitiveWords":
 		setting.SensitiveWordsFromString(value)
 	case "AutomaticDisableKeywords":
-		setting.AutomaticDisableKeywordsFromString(value)
+		operation_setting.AutomaticDisableKeywordsFromString(value)
 	case "StreamCacheQueueLength":
 		setting.StreamCacheQueueLength, _ = strconv.Atoi(value)
 	}

+ 2 - 2
service/channel.go

@@ -6,7 +6,7 @@ import (
 	"one-api/common"
 	"one-api/dto"
 	"one-api/model"
-	"one-api/setting"
+	"one-api/setting/operation_setting"
 	"strings"
 )
 
@@ -67,7 +67,7 @@ func ShouldDisableChannel(channelType int, err *dto.OpenAIErrorWithStatusCode) b
 	}
 
 	lowerMessage := strings.ToLower(err.Error.Message)
-	search, _ := AcSearch(lowerMessage, setting.AutomaticDisableKeywords, true)
+	search, _ := AcSearch(lowerMessage, operation_setting.AutomaticDisableKeywords, true)
 	if search {
 		return true
 	}

+ 2 - 1
setting/model-ratio.go

@@ -3,6 +3,7 @@ package setting
 import (
 	"encoding/json"
 	"one-api/common"
+	"one-api/setting/operation_setting"
 	"strings"
 	"sync"
 )
@@ -326,7 +327,7 @@ func GetModelRatio(name string) (float64, bool) {
 	ratio, ok := modelRatioMap[name]
 	if !ok {
 		common.SysError("model ratio not found: " + name)
-		return 37.5, SelfUseModeEnabled
+		return 37.5, operation_setting.SelfUseModeEnabled
 	}
 	return ratio, true
 }

+ 1 - 1
setting/operation_setting.go → setting/operation_setting/operation_setting.go

@@ -1,4 +1,4 @@
-package setting
+package operation_setting
 
 import "strings"