diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index a79a99b6..71fe803d 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "RisuAI", - "version": "1.21.2" + "version": "1.22.0" }, "tauri": { "allowlist": { diff --git a/src/lang/en.ts b/src/lang/en.ts index 6b267ad8..5dde3ac3 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -21,11 +21,12 @@ export const languageEnglish = { }, help:{ model: "Model option is a main model used in chat.", - submodel: "Auxiliary Model is a model that used in analizing emotion images and etc. gpt3.5 is recommended.", + submodel: "Auxiliary Model is a model that used in analizing emotion images and auto suggestions and etc. gpt3.5 is recommended.", oaiapikey: 'Api key for OpenAI. you can get it in https://platform.openai.com/account/api-keys', mainprompt: 'The main prompt option sets the default model behavior.', jailbreak: 'The NSFW/jailbreak prompt option activates when NSFW/jailbreak toggle is on in character.', globalNote: 'a note that strongly effects model behavior, also known as UJB. works in all characters.', + autoSuggest: 'Prompts used to generate options when automatically suggesting user responses.', formatOrder: "formating order of prompt. lower blocks does more effect to the model.", forceUrl: "if it is not blank, the request will go to the url that you had inputed.", tempature:"lower values make character follow prompts closely, but it will more likely to response like a machine.\nHigher values will result in creative behavior, but the character's response can break down more easily.", @@ -109,6 +110,7 @@ export const languageEnglish = { mainPrompt: "Main Prompt", jailbreakPrompt: "NSFW/Jailbreak Prompt", globalNote: "Global Note", + autoSuggest: "Auto Suggest", tokens: 'Tokens', maxContextSize: 'Max Context Size', maxResponseSize: 'Max Response Size', @@ -286,5 +288,11 @@ export const languageEnglish = { setNodePassword: "Set your password to security", inputNodePassword: "Input your password. if you can't remember, remove save/__password.txt in your server files and restart the server.", simple:"Simple", - advanced: "Advanced" + advanced: "Advanced", + askReRollAutoSuggestions: "Re-Roll Auto Suggestions", + creatingSuggestions: "Creating Suggestions...", + orderByOrder: "Talk by Order", + removeFromGroup: "Do you really want to remove {{char}} from group?", + talkness: "Talkativeness", + active: "Active" } \ No newline at end of file diff --git a/src/lang/ko.ts b/src/lang/ko.ts index ec27b890..0d20cea4 100644 --- a/src/lang/ko.ts +++ b/src/lang/ko.ts @@ -27,6 +27,7 @@ export const languageKorean = { mainPrompt: "메인 프롬프트", jailbreakPrompt: "탈옥 프롬프트", globalNote: "글로벌 노트", + autoSuggest: "자동 제안", tokens: '토큰', maxContextSize: '최대 콘텍스트 크기', maxResponseSize: '최대 응답 크기', @@ -150,11 +151,12 @@ export const languageKorean = { sayNothing:"어떤 문자열도 입력되지 않을 시 'say nothing' 입력", help:{ model: "채팅에서 사용되는 모델입니다.", - submodel: "보조 모델은 감정 이미지등을 분석하는 데 사용되는 모델입니다. gpt3.5가 권장됩니다.", + submodel: "보조 모델은 감정 이미지, 자동 제안등을 분석하는 데 사용되는 모델입니다. gpt3.5가 권장됩니다.", oaiapikey: 'OpenAI용 API 키입니다. https://platform.openai.com/account/api-keys에서 구하실 수 있습니다.', mainprompt: '모델의 기본적인 방향성을 정하는 프롬프트입니다.', jailbreak: 'NSFW/jailbreak 프롬프트는 NSFW/jailbreak 토글이 켜져있을 때 작동되는 프롬프트입니다.', globalNote: '모델에 강력한 영향을 주는 프롬프트입니다. UJB라고도 합니다.', + autoSuggest: '자동으로 유저의 응답을 제안할 때 선택지를 생성하기 위해 사용되는 프롬프트입니다.', formatOrder: "프롬프트의 배치 순서입니다. 아래쪽에 있을 수록 더 큰 영향을 줍니다.", forceUrl: "공백이 아닐 경우. 리퀘스트가 다음 URL로 갑니다.", tempature:"값이 낮을수록 캐릭터가 프롬프트를 잘 따르지만 기계처럼 반응할 가능성이 높아집니다.\n값이 높을수록 창의적인 동작이 가능하지만 캐릭터의 반응이 이상해질 수 있습니다.", @@ -261,5 +263,15 @@ export const languageKorean = { globalRegexScript: "글로별 정규식", accessibility: "접근성", sendWithEnter: "엔터키로 메세지 보내기", - clickToEdit: "클릭해서 수정하기" + clickToEdit: "클릭해서 수정하기", + askReRollAutoSuggestions: "자동 제안 다시 뽑기", + creatingSuggestions: "응답 제안 작성 중...", + setNodePassword: "보안을 위해 비밀번호를 정해주세요", + inputNodePassword: "비밀번호를 입력해주세요. 기억이 안나신다면, save/__password를 지우고 서버를 재시작해주세요.", + simple:"간단", + advanced: "고급", + orderByOrder: "순서대로 말하기", + removeFromGroup: "정말로 {{char}}을 그룹에서 삭제시키겠습니까?", + talkness: "대화량", + active: "활성화" } \ No newline at end of file diff --git a/src/lib/ChatScreens/DefaultChatScreen.svelte b/src/lib/ChatScreens/DefaultChatScreen.svelte index 084a9f1f..551df72f 100644 --- a/src/lib/ChatScreens/DefaultChatScreen.svelte +++ b/src/lib/ChatScreens/DefaultChatScreen.svelte @@ -1,10 +1,11 @@
{ @@ -220,7 +220,7 @@ /> - {#if $doingChat} + {#if $doingChat || doingChatInputTranslate}
@@ -231,13 +231,16 @@ class="mr-2 bg-gray-500 flex justify-center items-center text-white w-12 h-12 rounded-md hover:bg-green-500 transition-colors">
{/if} -
{ - openMenu = !openMenu - e.stopPropagation() - }} - class="mr-2 bg-gray-500 flex justify-center items-center text-white w-12 h-12 rounded-md hover:bg-green-500 transition-colors"> -
+
{ + openMenu = !openMenu + e.stopPropagation() + }} + class="mr-2 bg-gray-500 flex justify-center items-center text-white w-12 h-12 rounded-md hover:bg-green-500 transition-colors"> +
+ {#if $DataBase.useAutoSuggestions} + messageInput=msg} {send}/> + {/if} {#each messageForm($DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].message, loadPages) as chat, i} {#if chat.role === 'char'} {#if $DataBase.characters[$selectedCharID].type !== 'group'} @@ -356,14 +359,20 @@
{#if $DataBase.translator !== ''}
{ - $doingChat = true + doingChatInputTranslate = true messageInput = (await translate(messageInput, true)) - $doingChat = false + doingChatInputTranslate = false }}> {language.translateInput}
{/if} +
{ + $DataBase.useAutoSuggestions = !$DataBase.useAutoSuggestions + }}> + + {language.autoSuggest} +
{language.reroll} diff --git a/src/lib/ChatScreens/Suggestion.svelte b/src/lib/ChatScreens/Suggestion.svelte new file mode 100644 index 00000000..7237a7a3 --- /dev/null +++ b/src/lib/ChatScreens/Suggestion.svelte @@ -0,0 +1,167 @@ + + +
+ {#if progress} +
+
+
{language.creatingSuggestions}
+
+ {:else if !$doingChat} +
+ +
+ +
+ +
+ {#each suggestMessages??[] as suggest, i} +
+ + +
+ {/each} + + {/if} +
+ + + diff --git a/src/lib/Others/Check.svelte b/src/lib/Others/Check.svelte index e1cab220..f1d8c23e 100644 --- a/src/lib/Others/Check.svelte +++ b/src/lib/Others/Check.svelte @@ -3,9 +3,10 @@ export let check = false export let onChange = (check) => {} + export let margin = true -