diff --git a/.editorconfig b/.editorconfig index b3caa4ff..dffbee67 100755 --- a/.editorconfig +++ b/.editorconfig @@ -1,8 +1,6 @@ root = true [*] -block_comment_start = /* -block_comment_end = */ charset = utf-8 indent_style = space indent_size = 2 diff --git a/api/cluster/environment.go b/api/cluster/environment.go index 9bbfb344..41d1968e 100644 --- a/api/cluster/environment.go +++ b/api/cluster/environment.go @@ -23,7 +23,7 @@ func GetEnvironment(c *gin.Context) { return } - c.JSON(http.StatusOK, env) + c.JSON(http.StatusOK, analytic.GetNode(env)) } func GetEnvironmentList(c *gin.Context) { diff --git a/api/config/get.go b/api/config/get.go index a08f3103..dc9f8aa4 100644 --- a/api/config/get.go +++ b/api/config/get.go @@ -1,52 +1,52 @@ package config import ( - "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/internal/config" - "github.com/0xJacky/Nginx-UI/internal/nginx" - "github.com/0xJacky/Nginx-UI/query" - "github.com/gin-gonic/gin" - "github.com/sashabaranov/go-openai" - "net/http" - "os" + "github.com/0xJacky/Nginx-UI/api" + "github.com/0xJacky/Nginx-UI/internal/config" + "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/0xJacky/Nginx-UI/query" + "github.com/gin-gonic/gin" + "github.com/sashabaranov/go-openai" + "net/http" + "os" ) func GetConfig(c *gin.Context) { - name := c.Param("name") + name := c.Param("name") - path := nginx.GetConfPath("/", name) + path := nginx.GetConfPath("/", name) - stat, err := os.Stat(path) + stat, err := os.Stat(path) - if err != nil { - api.ErrHandler(c, err) - return - } + if err != nil { + api.ErrHandler(c, err) + return + } - content, err := os.ReadFile(path) + content, err := os.ReadFile(path) - if err != nil { - api.ErrHandler(c, err) - return - } + if err != nil { + api.ErrHandler(c, err) + return + } - g := query.ChatGPTLog - chatgpt, err := g.Where(g.Name.Eq(path)).FirstOrCreate() + g := query.ChatGPTLog + chatgpt, err := g.Where(g.Name.Eq(path)).FirstOrCreate() - if err != nil { - api.ErrHandler(c, err) - return - } + if err != nil { + api.ErrHandler(c, err) + return + } - if chatgpt.Content == nil { - chatgpt.Content = make([]openai.ChatCompletionMessage, 0) - } + if chatgpt.Content == nil { + chatgpt.Content = make([]openai.ChatCompletionMessage, 0) + } - c.JSON(http.StatusOK, config.Config{ - Name: name, - Content: string(content), - ChatGPTMessages: chatgpt.Content, - FilePath: path, - ModifiedAt: stat.ModTime(), - }) + c.JSON(http.StatusOK, config.Config{ + Name: stat.Name(), + Content: string(content), + ChatGPTMessages: chatgpt.Content, + FilePath: path, + ModifiedAt: stat.ModTime(), + }) } diff --git a/api/openai/openai.go b/api/openai/openai.go index a0b4fc6c..26fb322e 100644 --- a/api/openai/openai.go +++ b/api/openai/openai.go @@ -1,123 +1,132 @@ package openai import ( - "context" - "crypto/tls" - "fmt" - "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/settings" - "github.com/gin-gonic/gin" - "github.com/pkg/errors" - "github.com/sashabaranov/go-openai" - "io" - "net/http" - "net/url" - "os" + "context" + "crypto/tls" + "fmt" + "github.com/0xJacky/Nginx-UI/api" + "github.com/0xJacky/Nginx-UI/internal/chatbot" + "github.com/0xJacky/Nginx-UI/settings" + "github.com/gin-gonic/gin" + "github.com/pkg/errors" + "github.com/sashabaranov/go-openai" + "io" + "net/http" + "net/url" ) -const ChatGPTInitPrompt = "You are a assistant who can help users write and optimise the configurations of Nginx, the first user message contains the content of the configuration file which is currently opened by the user and the current language code(CLC). You suppose to use the language corresponding to the CLC to give the first reply. Later the language environment depends on the user message. The first reply should involve the key information of the file and ask user what can you help them." +const ChatGPTInitPrompt = `You are a assistant who can help users write and optimise the configurations of Nginx, +the first user message contains the content of the configuration file which is currently opened by the user and +the current language code(CLC). You suppose to use the language corresponding to the CLC to give the first reply. +Later the language environment depends on the user message. +The first reply should involve the key information of the file and ask user what can you help them.` func MakeChatCompletionRequest(c *gin.Context) { - var json struct { - Messages []openai.ChatCompletionMessage `json:"messages"` - } + var json struct { + Filepath string `json:"filepath"` + Messages []openai.ChatCompletionMessage `json:"messages"` + } - if !api.BindAndValid(c, &json) { - return - } + if !api.BindAndValid(c, &json) { + return + } - messages := []openai.ChatCompletionMessage{ - { - Role: openai.ChatMessageRoleSystem, - Content: ChatGPTInitPrompt, - }, - } - messages = append(messages, json.Messages...) - // sse server - c.Writer.Header().Set("Content-Type", "text/event-stream; charset=utf-8") - c.Writer.Header().Set("Cache-Control", "no-cache") - c.Writer.Header().Set("Connection", "keep-alive") - c.Writer.Header().Set("Access-Control-Allow-Origin", "*") + messages := []openai.ChatCompletionMessage{ + { + Role: openai.ChatMessageRoleSystem, + Content: ChatGPTInitPrompt, + }, + } - config := openai.DefaultConfig(settings.OpenAISettings.Token) + messages = append(messages, json.Messages...) - if settings.OpenAISettings.Proxy != "" { - proxyUrl, err := url.Parse(settings.OpenAISettings.Proxy) - if err != nil { - c.Stream(func(w io.Writer) bool { - c.SSEvent("message", gin.H{ - "type": "error", - "content": err.Error(), - }) - return false - }) - return - } - transport := &http.Transport{ - Proxy: http.ProxyURL(proxyUrl), - TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - } - config.HTTPClient = &http.Client{ - Transport: transport, - } - } + if json.Filepath != "" { + messages = chatbot.ChatCompletionWithContext(json.Filepath, messages) + } - if settings.OpenAISettings.BaseUrl != "" { - config.BaseURL = settings.OpenAISettings.BaseUrl - } + // SSE server + c.Writer.Header().Set("Content-Type", "text/event-stream; charset=utf-8") + c.Writer.Header().Set("Cache-Control", "no-cache") + c.Writer.Header().Set("Connection", "keep-alive") + c.Writer.Header().Set("Access-Control-Allow-Origin", "*") - openaiClient := openai.NewClientWithConfig(config) - ctx := context.Background() + config := openai.DefaultConfig(settings.OpenAISettings.Token) - req := openai.ChatCompletionRequest{ - Model: settings.OpenAISettings.Model, - Messages: messages, - Stream: true, - } - stream, err := openaiClient.CreateChatCompletionStream(ctx, req) - if err != nil { - fmt.Printf("CompletionStream error: %v\n", err) - c.Stream(func(w io.Writer) bool { - c.SSEvent("message", gin.H{ - "type": "error", - "content": err.Error(), - }) - return false - }) - return - } - defer stream.Close() - msgChan := make(chan string) - go func() { - defer close(msgChan) - for { - response, err := stream.Recv() - if errors.Is(err, io.EOF) { - fmt.Println() - return - } + if settings.OpenAISettings.Proxy != "" { + proxyUrl, err := url.Parse(settings.OpenAISettings.Proxy) + if err != nil { + c.Stream(func(w io.Writer) bool { + c.SSEvent("message", gin.H{ + "type": "error", + "content": err.Error(), + }) + return false + }) + return + } + transport := &http.Transport{ + Proxy: http.ProxyURL(proxyUrl), + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + } + config.HTTPClient = &http.Client{ + Transport: transport, + } + } - if err != nil { - fmt.Printf("Stream error: %v\n", err) - return - } + if settings.OpenAISettings.BaseUrl != "" { + config.BaseURL = settings.OpenAISettings.BaseUrl + } - message := fmt.Sprintf("%s", response.Choices[0].Delta.Content) - fmt.Printf("%s", message) - _ = os.Stdout.Sync() + openaiClient := openai.NewClientWithConfig(config) + ctx := context.Background() - msgChan <- message - } - }() + req := openai.ChatCompletionRequest{ + Model: settings.OpenAISettings.Model, + Messages: messages, + Stream: true, + } + stream, err := openaiClient.CreateChatCompletionStream(ctx, req) + if err != nil { + fmt.Printf("CompletionStream error: %v\n", err) + c.Stream(func(w io.Writer) bool { + c.SSEvent("message", gin.H{ + "type": "error", + "content": err.Error(), + }) + return false + }) + return + } + defer stream.Close() + msgChan := make(chan string) + go func() { + defer close(msgChan) + for { + response, err := stream.Recv() + if errors.Is(err, io.EOF) { + fmt.Println() + return + } - c.Stream(func(w io.Writer) bool { - if m, ok := <-msgChan; ok { - c.SSEvent("message", gin.H{ - "type": "message", - "content": m, - }) - return true - } - return false - }) + if err != nil { + fmt.Printf("Stream error: %v\n", err) + return + } + + message := fmt.Sprintf("%s", response.Choices[0].Delta.Content) + + msgChan <- message + } + }() + + c.Stream(func(w io.Writer) bool { + if m, ok := <-msgChan; ok { + c.SSEvent("message", gin.H{ + "type": "message", + "content": m, + }) + return true + } + return false + }) } diff --git a/api/openai/router.go b/api/openai/router.go index 2ada146c..d9ce13f0 100644 --- a/api/openai/router.go +++ b/api/openai/router.go @@ -4,6 +4,6 @@ import "github.com/gin-gonic/gin" func InitRouter(r *gin.RouterGroup) { // ChatGPT - r.POST("chat_gpt", MakeChatCompletionRequest) - r.POST("chat_gpt_record", StoreChatGPTRecord) + r.POST("chatgpt", MakeChatCompletionRequest) + r.POST("chatgpt_record", StoreChatGPTRecord) } diff --git a/api/sites/domain.go b/api/sites/domain.go index 9c82f6b6..580fc420 100644 --- a/api/sites/domain.go +++ b/api/sites/domain.go @@ -132,6 +132,7 @@ func GetDomain(c *gin.Context) { Config: string(origContent), AutoCert: certModel.AutoCert == model.AutoCertEnabled, ChatGPTMessages: chatgpt.Content, + Filepath: path, }) return } @@ -173,6 +174,7 @@ func GetDomain(c *gin.Context) { AutoCert: certModel.AutoCert == model.AutoCertEnabled, CertInfo: certInfoMap, ChatGPTMessages: chatgpt.Content, + Filepath: path, }) } diff --git a/api/sites/sites.go b/api/sites/sites.go index bc17a265..4f5eb025 100644 --- a/api/sites/sites.go +++ b/api/sites/sites.go @@ -17,4 +17,5 @@ type Site struct { ChatGPTMessages []openai.ChatCompletionMessage `json:"chatgpt_messages,omitempty"` Tokenized *nginx.NgxConfig `json:"tokenized,omitempty"` CertInfo map[int]*cert.Info `json:"cert_info,omitempty"` + Filepath string `json:"filepath"` } diff --git a/api/streams/streams.go b/api/streams/streams.go index f757c878..a79387e9 100644 --- a/api/streams/streams.go +++ b/api/streams/streams.go @@ -22,6 +22,7 @@ type Stream struct { Config string `json:"config"` ChatGPTMessages []openai.ChatCompletionMessage `json:"chatgpt_messages,omitempty"` Tokenized *nginx.NgxConfig `json:"tokenized,omitempty"` + Filepath string `json:"filepath"` } func GetStreams(c *gin.Context) { @@ -133,6 +134,7 @@ func GetStream(c *gin.Context) { Name: name, Config: string(origContent), ChatGPTMessages: chatgpt.Content, + Filepath: path, }) return } @@ -152,6 +154,7 @@ func GetStream(c *gin.Context) { Config: nginxConfig.FmtCode(), Tokenized: nginxConfig, ChatGPTMessages: chatgpt.Content, + Filepath: path, }) } diff --git a/app/src/api/config.ts b/app/src/api/config.ts index 25dcbd31..f23230f8 100644 --- a/app/src/api/config.ts +++ b/app/src/api/config.ts @@ -5,7 +5,7 @@ export interface Config { name: string content: string chatgpt_messages: ChatComplicationMessage[] - file_path: string + filepath: string modified_at: string } diff --git a/app/src/api/domain.ts b/app/src/api/domain.ts index cc655bd5..c0ee985a 100644 --- a/app/src/api/domain.ts +++ b/app/src/api/domain.ts @@ -10,6 +10,7 @@ export interface Site { advanced: boolean enabled: boolean name: string + filepath: string config: string auto_cert: boolean chatgpt_messages: ChatComplicationMessage[] diff --git a/app/src/api/openai.ts b/app/src/api/openai.ts index 20f43c9f..9c2d4a90 100644 --- a/app/src/api/openai.ts +++ b/app/src/api/openai.ts @@ -8,7 +8,7 @@ export interface ChatComplicationMessage { const openai = { store_record(data: { file_name?: string; messages?: ChatComplicationMessage[] }) { - return http.post('/chat_gpt_record', data) + return http.post('/chatgpt_record', data) }, } diff --git a/app/src/api/stream.ts b/app/src/api/stream.ts index 5c761585..e84d7d33 100644 --- a/app/src/api/stream.ts +++ b/app/src/api/stream.ts @@ -8,6 +8,7 @@ export interface Stream { advanced: boolean enabled: boolean name: string + filepath: string config: string chatgpt_messages: ChatComplicationMessage[] tokenized?: NgxConfig diff --git a/app/src/components/ChatGPT/ChatGPT.vue b/app/src/components/ChatGPT/ChatGPT.vue index e00fa3d3..952ff945 100644 --- a/app/src/components/ChatGPT/ChatGPT.vue +++ b/app/src/components/ChatGPT/ChatGPT.vue @@ -49,26 +49,18 @@ async function request() { const { token } = storeToRefs(user) - console.log('fetching...') - messages.value?.push(t.value) emit('update:history_messages', messages.value) - const res = await fetch(urlJoin(window.location.pathname, '/api/chat_gpt'), { + const res = await fetch(urlJoin(window.location.pathname, '/api/chatgpt'), { method: 'POST', headers: { Accept: 'text/event-stream', Authorization: token.value }, - body: JSON.stringify({ messages: messages.value?.slice(0, messages.value?.length - 1) }), + body: JSON.stringify({ filepath: props.path, messages: messages.value?.slice(0, messages.value?.length - 1) }), }) - // read body as stream - console.info('reading...') - const reader = res.body!.getReader() - // read stream - console.info('reading stream...') - let buffer = '' let hasCodeBlockIndicator = false @@ -76,7 +68,6 @@ async function request() { while (true) { const { done, value } = await reader.read() if (done) { - console.info('done') setTimeout(() => { scrollToBottom() }, 500) diff --git a/app/src/language/en/app.po b/app/src/language/en/app.po index 01b92312..789de1bd 100644 --- a/app/src/language/en/app.po +++ b/app/src/language/en/app.po @@ -175,7 +175,7 @@ msgstr "Base information" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 #, fuzzy msgid "Basic" @@ -650,6 +650,10 @@ msgstr "Enable failed" msgid "Enable successfully" msgstr "Enabled successfully" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "Enable TLS" @@ -967,7 +971,7 @@ msgstr "Login successful" msgid "Logout successful" msgstr "Logout successful" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "" @@ -1097,7 +1101,7 @@ msgstr "" msgid "Next" msgstr "Next" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 msgid "Nginx" msgstr "" @@ -1225,7 +1229,7 @@ msgstr "" msgid "Online" msgstr "" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "" @@ -1319,7 +1323,7 @@ msgstr "" msgid "Pre-release" msgstr "" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "" @@ -1472,7 +1476,7 @@ msgstr "" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "Save" @@ -1488,7 +1492,7 @@ msgstr "Save error %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 #, fuzzy msgid "Save successfully" msgstr "Saved successfully" @@ -1513,6 +1517,10 @@ msgstr "" msgid "Send" msgstr "Send" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1521,7 +1529,7 @@ msgstr "Send" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/language/es/app.po b/app/src/language/es/app.po index f6e449a9..9de68bd9 100644 --- a/app/src/language/es/app.po +++ b/app/src/language/es/app.po @@ -173,7 +173,7 @@ msgstr "Información general" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 msgid "Basic" msgstr "Básico" @@ -623,6 +623,10 @@ msgstr "Falló la habilitación" msgid "Enable successfully" msgstr "Habilitado con Éxito" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "Habilitar TLS" @@ -925,7 +929,7 @@ msgstr "Acceso exitoso" msgid "Logout successful" msgstr "Cierre de sesión exitoso" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "" @@ -1049,7 +1053,7 @@ msgstr "Se liberó una nueva versión" msgid "Next" msgstr "Siguiente" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 msgid "Nginx" msgstr "Nginx" @@ -1171,7 +1175,7 @@ msgstr "Una vez que se complete la verificación, los registros se eliminarán." msgid "Online" msgstr "En línea" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "OpenAI" @@ -1273,7 +1277,7 @@ msgstr "¡Seleccione al menos un nodo!" msgid "Pre-release" msgstr "Prelanzamiento" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "Configuración" @@ -1419,7 +1423,7 @@ msgstr "Corriendo" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "Guardar" @@ -1435,7 +1439,7 @@ msgstr "Error al guardar %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 msgid "Save successfully" msgstr "Guardado con éxito" @@ -1459,6 +1463,10 @@ msgstr "Selector" msgid "Send" msgstr "Enviado" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1467,7 +1475,7 @@ msgstr "Enviado" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/language/fr_FR/app.po b/app/src/language/fr_FR/app.po index 112ed9f3..a6b2a920 100644 --- a/app/src/language/fr_FR/app.po +++ b/app/src/language/fr_FR/app.po @@ -176,7 +176,7 @@ msgstr "Information générale" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 msgid "Basic" msgstr "Basique" @@ -648,6 +648,10 @@ msgstr "Échec de l'activation" msgid "Enable successfully" msgstr "Activé avec succès" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "Activer TLS" @@ -966,7 +970,7 @@ msgstr "Connexion réussie" msgid "Logout successful" msgstr "Déconnexion réussie" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "" @@ -1094,7 +1098,7 @@ msgstr "Nouvelle version publiée" msgid "Next" msgstr "Suivant" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 #, fuzzy msgid "Nginx" msgstr "Journal Nginx" @@ -1220,7 +1224,7 @@ msgstr "" msgid "Online" msgstr "" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "OpenAI" @@ -1320,7 +1324,7 @@ msgstr "" msgid "Pre-release" msgstr "" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "Préférence" @@ -1475,7 +1479,7 @@ msgstr "En cours d'éxécution" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "Enregistrer" @@ -1491,7 +1495,7 @@ msgstr "Enregistrer l'erreur %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 msgid "Save successfully" msgstr "Sauvegarde réussie" @@ -1515,6 +1519,10 @@ msgstr "Sélecteur" msgid "Send" msgstr "Envoyer" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1523,7 +1531,7 @@ msgstr "Envoyer" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/language/ko_KR/app.po b/app/src/language/ko_KR/app.po index c464e5c5..369d7614 100644 --- a/app/src/language/ko_KR/app.po +++ b/app/src/language/ko_KR/app.po @@ -172,7 +172,7 @@ msgstr "기본 정보" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 msgid "Basic" msgstr "기본" @@ -621,6 +621,10 @@ msgstr "활성화 실패" msgid "Enable successfully" msgstr "성공적으로 활성화" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "TLS 활성화" @@ -937,7 +941,7 @@ msgstr "로그인 성공" msgid "Logout successful" msgstr "로그아웃 성공" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "로그관리" @@ -1072,7 +1076,7 @@ msgstr "새 버전 출시" msgid "Next" msgstr "다음" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 msgid "Nginx" msgstr "Nginx" @@ -1200,7 +1204,7 @@ msgstr "검증이 완료되면, 레코드는 제거됩니다." msgid "Online" msgstr "온라인" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "오픈AI" @@ -1296,7 +1300,7 @@ msgstr "적어도 하나의 노드를 선택해주세요!" msgid "Pre-release" msgstr "사전 출시" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "환경설정" @@ -1451,7 +1455,7 @@ msgstr "실행 중" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "저장" @@ -1467,7 +1471,7 @@ msgstr "저장 오류 %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 #, fuzzy msgid "Save successfully" msgstr "성공적으로 저장됨" @@ -1492,6 +1496,10 @@ msgstr "선택" msgid "Send" msgstr "보내기" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1500,7 +1508,7 @@ msgstr "보내기" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/language/messages.pot b/app/src/language/messages.pot index cd98b30f..56e44af3 100644 --- a/app/src/language/messages.pot +++ b/app/src/language/messages.pot @@ -167,7 +167,7 @@ msgstr "" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 msgid "Basic" msgstr "" @@ -621,6 +621,10 @@ msgstr "" msgid "Enable successfully" msgstr "" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "" @@ -931,7 +935,7 @@ msgstr "" msgid "Logout successful" msgstr "" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "" @@ -1049,7 +1053,7 @@ msgstr "" msgid "Next" msgstr "" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 msgid "Nginx" msgstr "" @@ -1174,7 +1178,7 @@ msgstr "" msgid "Online" msgstr "" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "" @@ -1265,7 +1269,7 @@ msgid "Pre-release" msgstr "" #: src/routes/index.ts:239 -#: src/views/preference/Preference.vue:88 +#: src/views/preference/Preference.vue:89 msgid "Preference" msgstr "" @@ -1407,7 +1411,7 @@ msgstr "" #: src/views/config/ConfigEdit.vue:97 #: src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 +#: src/views/preference/Preference.vue:123 #: src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "" @@ -1425,7 +1429,7 @@ msgstr "" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 msgid "Save successfully" msgstr "" @@ -1450,6 +1454,10 @@ msgstr "" msgid "Send" msgstr "" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1460,7 +1468,7 @@ msgstr "" #: src/views/config/ConfigEdit.vue:41 #: src/views/domain/DomainList.vue:81 #: src/views/other/Install.vue:70 -#: src/views/preference/Preference.vue:62 +#: src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 #: src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 diff --git a/app/src/language/ru_RU/app.po b/app/src/language/ru_RU/app.po index 44619b73..d5561810 100644 --- a/app/src/language/ru_RU/app.po +++ b/app/src/language/ru_RU/app.po @@ -175,7 +175,7 @@ msgstr "Основная информация" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 #, fuzzy msgid "Basic" @@ -652,6 +652,10 @@ msgstr "Включить не удалось" msgid "Enable successfully" msgstr "Активировано успешно" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "Включить TLS" @@ -971,7 +975,7 @@ msgstr "Авторизация успешна" msgid "Logout successful" msgstr "Выход выполнен успешно" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "" @@ -1101,7 +1105,7 @@ msgstr "Вышла новая версия" msgid "Next" msgstr "Дальше" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 #, fuzzy msgid "Nginx" msgstr "Журнал" @@ -1230,7 +1234,7 @@ msgstr "" msgid "Online" msgstr "" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "" @@ -1326,7 +1330,7 @@ msgstr "" msgid "Pre-release" msgstr "" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "Настройки" @@ -1481,7 +1485,7 @@ msgstr "Выполняется" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "Сохранить" @@ -1497,7 +1501,7 @@ msgstr "Ошибка сохранения %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 #, fuzzy msgid "Save successfully" msgstr "Успешно сохранено" @@ -1522,6 +1526,10 @@ msgstr "Выбор" msgid "Send" msgstr "Отправлено" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1530,7 +1538,7 @@ msgstr "Отправлено" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/language/vi_VN/app.po b/app/src/language/vi_VN/app.po index 05c44017..27b3b4d7 100644 --- a/app/src/language/vi_VN/app.po +++ b/app/src/language/vi_VN/app.po @@ -175,7 +175,7 @@ msgstr "Thông tin" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 #, fuzzy msgid "Basic" @@ -653,6 +653,10 @@ msgstr "Bật không thành công" msgid "Enable successfully" msgstr "Đã bật" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "Bật TLS" @@ -973,7 +977,7 @@ msgstr "Đăng nhập thành công" msgid "Logout successful" msgstr "Đã đăng xuất" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "" @@ -1102,7 +1106,7 @@ msgstr "Đã có phiên bản mới" msgid "Next" msgstr "Tiếp theo" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 msgid "Nginx" msgstr "" @@ -1230,7 +1234,7 @@ msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa." msgid "Online" msgstr "Trực tuyến" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "" @@ -1328,7 +1332,7 @@ msgstr "" msgid "Pre-release" msgstr "" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "Cài đặt" @@ -1483,7 +1487,7 @@ msgstr "Running" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "Lưu" @@ -1499,7 +1503,7 @@ msgstr "Đã xảy ra lỗi khi lưu %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 #, fuzzy msgid "Save successfully" msgstr "Lưu thành công" @@ -1524,6 +1528,10 @@ msgstr "Bộ chọn" msgid "Send" msgstr "Gửi" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1532,7 +1540,7 @@ msgstr "Gửi" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/language/zh_CN/app.mo b/app/src/language/zh_CN/app.mo index 7c66d4cf..6d3a09b4 100644 Binary files a/app/src/language/zh_CN/app.mo and b/app/src/language/zh_CN/app.mo differ diff --git a/app/src/language/zh_CN/app.po b/app/src/language/zh_CN/app.po index 6f3e1d32..dffb0e54 100644 --- a/app/src/language/zh_CN/app.po +++ b/app/src/language/zh_CN/app.po @@ -168,7 +168,7 @@ msgstr "基本信息" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 msgid "Basic" msgstr "基本" @@ -612,6 +612,10 @@ msgstr "启用失败" msgid "Enable successfully" msgstr "启用成功" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "启用该选项将显著增加 token 的使用量。" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "启用 TLS" @@ -910,7 +914,7 @@ msgstr "登录成功" msgid "Logout successful" msgstr "登出成功" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "Logrotate" @@ -1036,7 +1040,7 @@ msgstr "新版本发布" msgid "Next" msgstr "下一步" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 msgid "Nginx" msgstr "Nginx" @@ -1158,7 +1162,7 @@ msgstr "一旦验证完成,这些记录将被删除。" msgid "Online" msgstr "在线" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "OpenAI" @@ -1253,7 +1257,7 @@ msgstr "请至少选择一个节点!" msgid "Pre-release" msgstr "预发布" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "偏好设置" @@ -1394,7 +1398,7 @@ msgstr "运行中" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "保存" @@ -1410,7 +1414,7 @@ msgstr "保存错误 %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 msgid "Save successfully" msgstr "保存成功" @@ -1434,6 +1438,10 @@ msgstr "选择器" msgid "Send" msgstr "上传" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "发送 Include 内容" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1442,7 +1450,7 @@ msgstr "上传" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/language/zh_TW/app.po b/app/src/language/zh_TW/app.po index f589ceaa..56c4c253 100644 --- a/app/src/language/zh_TW/app.po +++ b/app/src/language/zh_TW/app.po @@ -176,7 +176,7 @@ msgstr "基本資訊" #: src/views/config/ConfigEdit.vue:116 #: src/views/domain/components/RightSettings.vue:76 -#: src/views/preference/Preference.vue:93 +#: src/views/preference/Preference.vue:94 #: src/views/stream/components/RightSettings.vue:76 msgid "Basic" msgstr "基本" @@ -635,6 +635,10 @@ msgstr "啟用失敗" msgid "Enable successfully" msgstr "啟用成功" +#: src/views/preference/OpenAISettings.vue:67 +msgid "Enable this option will significantly increase the token usage." +msgstr "" + #: src/views/domain/ngx_conf/NgxConfigEditor.vue:175 msgid "Enable TLS" msgstr "啟用 TLS" @@ -948,7 +952,7 @@ msgstr "登入成功" msgid "Logout successful" msgstr "登出成功" -#: src/views/preference/Preference.vue:111 +#: src/views/preference/Preference.vue:112 msgid "Logrotate" msgstr "" @@ -1074,7 +1078,7 @@ msgstr "新版本發布" msgid "Next" msgstr "下一步" -#: src/views/preference/Preference.vue:99 +#: src/views/preference/Preference.vue:100 msgid "Nginx" msgstr "Nginx" @@ -1198,7 +1202,7 @@ msgstr "" msgid "Online" msgstr "線上" -#: src/views/preference/Preference.vue:105 +#: src/views/preference/Preference.vue:106 msgid "OpenAI" msgstr "OpenAI" @@ -1294,7 +1298,7 @@ msgstr "請至少選擇一個節點!" msgid "Pre-release" msgstr "預先發布" -#: src/routes/index.ts:239 src/views/preference/Preference.vue:88 +#: src/routes/index.ts:239 src/views/preference/Preference.vue:89 msgid "Preference" msgstr "偏好設定" @@ -1446,7 +1450,7 @@ msgstr "執行中" #: src/views/certificate/CertificateEditor.vue:242 #: src/views/config/ConfigEdit.vue:97 src/views/domain/DomainEdit.vue:260 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120 -#: src/views/preference/Preference.vue:122 src/views/stream/StreamEdit.vue:251 +#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:251 msgid "Save" msgstr "儲存" @@ -1462,7 +1466,7 @@ msgstr "儲存錯誤 %{msg}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104 #: src/views/certificate/CertificateEditor.vue:45 -#: src/views/preference/Preference.vue:58 +#: src/views/preference/Preference.vue:59 msgid "Save successfully" msgstr "儲存成功" @@ -1486,6 +1490,10 @@ msgstr "選擇器" msgid "Send" msgstr "傳送" +#: src/views/preference/OpenAISettings.vue:66 +msgid "Send Include Context" +msgstr "" + #: src/components/NginxControl/NginxControl.vue:28 #: src/components/NginxControl/NginxControl.vue:42 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 @@ -1494,7 +1502,7 @@ msgstr "傳送" #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221 #: src/views/config/ConfigEdit.vue:41 src/views/domain/DomainList.vue:81 -#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:62 +#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81 #: src/views/system/Upgrade.vue:42 msgid "Server error" diff --git a/app/src/views/config/Config.vue b/app/src/views/config/Config.vue index bb9e411b..5fba101c 100644 --- a/app/src/views/config/Config.vue +++ b/app/src/views/config/Config.vue @@ -50,6 +50,7 @@ watch(route, () => { :columns="configColumns" disable-delete disable_search + disabled-view row-key="name" :get_params="get_params" @click-edit="(r, row) => { diff --git a/app/src/views/config/ConfigEdit.vue b/app/src/views/config/ConfigEdit.vue index b6055797..d9fb628d 100644 --- a/app/src/views/config/ConfigEdit.vue +++ b/app/src/views/config/ConfigEdit.vue @@ -4,7 +4,6 @@ import { message } from 'ant-design-vue' import type { Ref } from 'vue' import { formatDateTime } from '@/lib/helper' import FooterToolBar from '@/components/FooterToolbar/FooterToolBar.vue' - import config from '@/api/config' import CodeEditor from '@/components/CodeEditor/CodeEditor.vue' import ngx from '@/api/ngx' @@ -26,7 +25,7 @@ const name = computed(() => { const configText = ref('') const history_chatgpt_record = ref([]) as Ref -const file_path = ref('') +const filepath = ref('') const active_key = ref(['1', '2']) const modified_at = ref('') @@ -35,7 +34,7 @@ function init() { config.get(name.value).then(r => { configText.value = r.content history_chatgpt_record.value = r.chatgpt_messages - file_path.value = r.file_path + filepath.value = r.filepath modified_at.value = r.modified_at }).catch(r => { message.error(r.message ?? $gettext('Server error')) @@ -44,7 +43,7 @@ function init() { else { configText.value = '' history_chatgpt_record.value = [] - file_path.value = '' + filepath.value = '' } } @@ -117,7 +116,7 @@ function format_code() { > - {{ file_path }} + {{ filepath }} {{ formatDateTime(modified_at) }} @@ -131,7 +130,7 @@ function format_code() { diff --git a/app/src/views/domain/DomainEdit.vue b/app/src/views/domain/DomainEdit.vue index fd2b1947..c80f4e79 100644 --- a/app/src/views/domain/DomainEdit.vue +++ b/app/src/views/domain/DomainEdit.vue @@ -33,6 +33,7 @@ const cert_info_map: Record = reactive({}) const auto_cert = ref(false) const enabled = ref(false) +const filepath = ref('') const configText = ref('') const advance_mode_ref = ref(false) const saving = ref(false) @@ -67,6 +68,7 @@ function handle_response(r: Site) { parse_error_status.value = false parse_error_message.value = '' filename.value = r.name + filepath.value = r.filepath configText.value = r.config enabled.value = r.enabled auto_cert.value = r.auto_cert @@ -156,6 +158,7 @@ provide('history_chatgpt_record', history_chatgpt_record) provide('enabled', enabled) provide('name', name) provide('filename', filename) +provide('filepath', filepath) provide('data', data) diff --git a/app/src/views/domain/DomainList.vue b/app/src/views/domain/DomainList.vue index 01cdf3a0..4eccb019 100644 --- a/app/src/views/domain/DomainList.vue +++ b/app/src/views/domain/DomainList.vue @@ -108,11 +108,13 @@ watch(route, () => { :columns="columns" row-key="name" disable-delete + disabled-view @click-edit="r => $router.push({ path: `/domain/${r}`, })" >