From 9a67ec3c097ae8f46d082da0ad4d23f731b1df4d Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 3 Mar 2023 23:55:48 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=A1=8C=E9=9D=A2=E7=AB=AF?= =?UTF-8?q?=E6=8E=A5=E5=85=A5=20OpenAI=20Chat=20API=20https://github.com/s?= =?UTF-8?q?iyuan-note/siyuan/issues/7560?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/appearance/langs/en_US.json | 3 ++- app/appearance/langs/es_ES.json | 3 ++- app/appearance/langs/fr_FR.json | 3 ++- app/appearance/langs/zh_CHT.json | 3 ++- app/appearance/langs/zh_CN.json | 3 ++- app/src/protyle/hint/index.ts | 6 +++++- kernel/api/ai.go | 6 ++++++ 7 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 701a6d421..31c117396 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1100,6 +1100,7 @@ "189": "Cloud sync directory is still locked by other devices, please try again later", "190": "A problem was found while validating the index, which has been automatically fixed", "191": "[%d/%d] Created historical data index", - "192": "Rebuilding historical data index, please wait..." + "192": "Rebuilding historical data index, please wait...", + "193": "Please refer to the [Artificial Intelligence] chapter of the User Guide for configuration" } } diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 571a534b3..fcbe99967 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1100,6 +1100,7 @@ "189": "El directorio de sincronización en la nube todavía está bloqueado por otros dispositivos, inténtalo de nuevo más tarde", "190": "Se encontro un problema al validar el indice, el cual se soluciono automaticamente", "191": "[%d/%d] Índice de datos históricos creado", - "192": "Reconstruyendo el índice de datos históricos, espere..." + "192": "Reconstruyendo el índice de datos históricos, espere...", + "193": "Consulte el capítulo [Inteligencia artificial] de la guía del usuario para la configuración" } } diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 0cba2e281..5296617c9 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1100,6 +1100,7 @@ "189": "Le répertoire de synchronisation cloud est toujours verrouillé par d'autres appareils, veuillez réessayer plus tard", "190": "Un problème a été trouvé lors de la validation de l'index, qui a été automatiquement corrigé", "191": "[%d/%d] Création d'un index de données historiques", - "192": "Reconstruction de l'index des données historiques, veuillez patienter..." + "192": "Reconstruction de l'index des données historiques, veuillez patienter...", + "193": "Veuillez vous référer au chapitre [Intelligence Artificielle] du guide de l'utilisateur pour la configuration" } } diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index e660922ea..7d7eb260f 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1100,6 +1100,7 @@ "189": "雲端同步目錄還在被其他設備鎖定,請稍後再試", "190": "校驗索引時發現一個問題,已經自動修復", "191": "[%d/%d] 已經建立條歷史數據索引", - "192": "正在重建歷史數據索引,請稍等..." + "192": "正在重建歷史數據索引,請稍等...", + "193": "請先參考用戶指南 [人工智能] 章節進行配置" } } diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index bbe03ae35..3f131c84c 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1100,6 +1100,7 @@ "189": "云端同步目录还在被其他设备锁定,请稍后再试", "190": "校验索引时发现一个问题,已经自动修复", "191": "[%d/%d] 已经建立条历史数据索引", - "192": "正在重建历史数据索引,请稍等..." + "192": "正在重建历史数据索引,请稍等...", + "193": "请先参考用户指南 [人工智能] 章节进行配置" } } diff --git a/app/src/protyle/hint/index.ts b/app/src/protyle/hint/index.ts index 3dd032092..3303c6591 100644 --- a/app/src/protyle/hint/index.ts +++ b/app/src/protyle/hint/index.ts @@ -569,7 +569,11 @@ ${unicode2Emoji(emoji.unicode, true)}`; }, (response) => { dialog.destroy(); focusByRange(protyle.toolbar.range); - insertHTML(`${inputElement.value}\n\n${response.data}`, protyle, true); + let respContent = ""; + if (response.data && "" !== response.data) { + respContent = "\n\n" + response.data; + } + insertHTML(`${inputElement.value}${respContent}`, protyle, true); }); }); return; diff --git a/kernel/api/ai.go b/kernel/api/ai.go index 7e4a592ec..0182b7916 100644 --- a/kernel/api/ai.go +++ b/kernel/api/ai.go @@ -17,6 +17,7 @@ package api import ( + "github.com/siyuan-note/siyuan/kernel/model" "net/http" "github.com/88250/gulu" @@ -34,5 +35,10 @@ func chatGPT(c *gin.Context) { } msg := arg["msg"].(string) + if "" == util.OpenAIAPIKey { + util.PushMsg(model.Conf.Language(193), 5000) + return + } + ret.Data = util.ChatGPT(msg) }