refactor: Extract operation-related settings into a separate package

This commit is contained in:
1808837298@qq.com
2025-03-04 18:52:08 +08:00
parent 7855f83e2d
commit 98b27a17a6
5 changed files with 15 additions and 12 deletions

View File

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

View File

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

View File

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

View File

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

View File

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