Change setup
This commit is contained in:
BIN
src/etc/Airisu.webp
Normal file
BIN
src/etc/Airisu.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
@@ -26,7 +26,7 @@ export const languageEnglish = {
|
||||
emptyText: "Text is empty.",
|
||||
wrongPassword: "Wrong Password",
|
||||
networkFetch: "This happens when the network is unstable or the server is down.",
|
||||
networkFetchWeb: "This can be a CORS error. this only happens when using web version dude to limitations of the browser. try using desktop local version, or other version of RisuAI.",
|
||||
networkFetchWeb: "This can be a CORS error. this only happens when using web version dude to limitations of the browser. try using desktop local version, or other version of Risuai.",
|
||||
networkFetchPlain: "This can be a plain fetch error. try disabling force plain fetch option in settings.",
|
||||
requestLogRemoved: "This request log is removed.",
|
||||
requestLogRemovedDesc: "This request log removes when client is refreshed or reloaded.",
|
||||
@@ -102,7 +102,7 @@ export const languageEnglish = {
|
||||
+ "\n\n Additionaly, you can use these with additional assets:"
|
||||
+ "\n - `{{bg::<asset name>}}`: inject the background as asset",
|
||||
additionalText: "The text that would be added to Character Description only when ai thinks its needed, so you can put long texts here. seperate with double newlines.",
|
||||
charjs: "A javascript code that would run with character. for example, you can check `https://github.com/kwaroran/RisuAI/blob/main/src/etc/example-char.js` CURRENTLY NOT RECOMMENDED TO USE DUDE TO SECURITY REASONS. EXPORTING WOULD NOT INCLUDE THIS.",
|
||||
charjs: "A javascript code that would run with character. for example, you can check `https://github.com/kwaroran/Risuai/blob/main/src/etc/example-char.js` CURRENTLY NOT RECOMMENDED TO USE DUDE TO SECURITY REASONS. EXPORTING WOULD NOT INCLUDE THIS.",
|
||||
romanizer: "Romanizer is a plugin that converts non-roman characters to roman characters to reduce tokens when using non-roman characters while requesting data. this can result diffrent output from the original model. it is not recommended to use this plugin when using roman characters on chat.",
|
||||
oaiRandomUser: "If enabled, random uuid would be put on user parameter on request, and would be changed on refresh. this can be used to prevent AI from identifying user.",
|
||||
inlayImages: "If enabled, images could be inlayed to the chat and AIs can see it if they support it.",
|
||||
@@ -124,7 +124,7 @@ export const languageEnglish = {
|
||||
emotionPrompt: "This option is used to set the prompt that is used to detect emotion. if it is blank, it will use the default prompt.",
|
||||
removePunctuationHypa: "If enabled, it will remove punctuation before executing HypaMemory.",
|
||||
additionalParams: "Additional parameters that would be added to the request body. if you want to exclude some parameters, you can put `{{none}}` to the value. if you want to add a header instead of body, you can put `header::` in front of the key like `header::Authorization`. if you want value as json, you can put `json::` in front of the value like `json::{\"key\":\"value\"}`. otherwise, type of the value would be determined automatically.",
|
||||
antiClaudeOverload: "If Claude overload happens, RisuAI would try to prevent it by continuing with same prompt, making it less likely to happen. works only for streamed responses. this could not work for non-official api endpoints.",
|
||||
antiClaudeOverload: "If Claude overload happens, Risuai would try to prevent it by continuing with same prompt, making it less likely to happen. works only for streamed responses. this could not work for non-official api endpoints.",
|
||||
triggerScript: "Trigger Script is a custom script that runs when a condition is met. it can be used to modify the chat data, run a command, change variable, and etc. the type depends when it is triggered. it can also be run by buttons, which can be used with {{button::Display::TriggerName}}, or HTML buttons with `risu-trigger=\"<TriggerName>\"` attribute.",
|
||||
autoContinueChat: "If enabled, it will try to continue the chat if it doesn't ends with a punctuation. DONT USE THIS WITH LANGUAGES THAT DOESN'T USE PUNCTUATION.",
|
||||
combineTranslation: "If enabled, text that is one sentence but separated by HTML tags will be combined together and translated, then Modify Display script will be reapplied to the translated output.\nThis helps the translator to make the correct translation.\nIf the UI becomes weird when you enable this option, please turn off the option and report it.",
|
||||
@@ -134,7 +134,7 @@ export const languageEnglish = {
|
||||
useRegexLorebook: "If enabled, it will use regex for lorebook search, instead of string matching. it uses /regex/flags format.",
|
||||
customChainOfThought: "Warning: chain of thought toggle is no longer recommended to use. put chain of thought prompt in other prompt entries instead.",
|
||||
customPromptTemplateToggle: "Here you can define your own prompt toggles. use `<toggle variable>=<toggle name>` format, seperated by newline. for example, `cot=Toggle COT`. you can use these toggles in prompt by using `{{getglobalvar::toggle_<toggle variable>}}`. like `{{getglobalvar::toggle_cot}}`.",
|
||||
defaultVariables: "Here you can define your own default variables. use `<variable name>=<variable value>` format, seperated by newline. for example, `name=RisuAI`, which then can be used with trigger scripts and variables CBS like `{{getvar::A}}`, `{{setvar::A::B}}` or `{{? $A + 1}}`. if prompt template's default variable and character's default variable has same name, character's default variable will be used.",
|
||||
defaultVariables: "Here you can define your own default variables. use `<variable name>=<variable value>` format, seperated by newline. for example, `name=Risuai`, which then can be used with trigger scripts and variables CBS like `{{getvar::A}}`, `{{setvar::A::B}}` or `{{? $A + 1}}`. if prompt template's default variable and character's default variable has same name, character's default variable will be used.",
|
||||
lowLevelAccess: "If enabled, it will enable access to features that requires high computing powers and executing AI model via triggers in the character. do not enable this unless you really need these features.",
|
||||
triggerLLMPrompt: "A prompt that would be sent to the model. you can use multi turns and roles by using `@@role user`, `@@role system`, `@@role assistant`. for example, \n\`\`\`\n@@role system\nrespond as hello\n@@role assistant\nhello\n@@role user\nhi\n\`\`\`",
|
||||
legacyTranslation: "If enabled, it will use the old translation method, which preprocess markdown and quotes before translations instead of postprocessing after translations.",
|
||||
@@ -146,8 +146,8 @@ export const languageEnglish = {
|
||||
customCSS: "Custom CSS for styling. you can also disable/enable it by pressing (Ctrl + .) if something goes wrong.",
|
||||
betaMobileGUI: "If enabled, it will use beta mobile GUI on small (less than 800px) screens. requires refresh.",
|
||||
unrecommended: "This is a unrecommended setting. it is not recommended to use this setting.",
|
||||
jsonSchema: "This is a JSON Schema that will be sent to the AI model if AI model supports JSON Schema.\n\nHowever, since JSON Schema is hard to learn, In RisuAI, you can use subset of TypeScript interface instead of JSON Schema. RisuAI will convert it in runtime." +
|
||||
"For example, if you want to send a JSON like this:\n\n```js\n{\n \"name\": \"RisuAI\", //name must be RisuAI,\n \"age\": 1, //age must be number,\n \"icon\": \"slim\", //icon must be \'slim\' or 'rounded'\n \"thoughts\": [\"Good View!\", \"Lorem\"] //thoughts must be array of strings\n}\n```\n\n" +
|
||||
jsonSchema: "This is a JSON Schema that will be sent to the AI model if AI model supports JSON Schema.\n\nHowever, since JSON Schema is hard to learn, In Risuai, you can use subset of TypeScript interface instead of JSON Schema. Risuai will convert it in runtime." +
|
||||
"For example, if you want to send a JSON like this:\n\n```js\n{\n \"name\": \"Risuai\", //name must be Risuai,\n \"age\": 1, //age must be number,\n \"icon\": \"slim\", //icon must be \'slim\' or 'rounded'\n \"thoughts\": [\"Good View!\", \"Lorem\"] //thoughts must be array of strings\n}\n```\n\n" +
|
||||
"You can put this TypeScript interface:\n\n```typescript\ninterface Schema {\n name: string;\n age: number;\n icon: \'slim\'|\'rounded\'\n thoughts: string[]\n}\n```\n\n" +
|
||||
"Name of the interface doesn't matter. for more information, see the typescript documentation. (https://www.typescriptlang.org/docs/handbook/interfaces.html), and to Check what subset of TypeScript is supported, see the below." +
|
||||
"<details><summary>Supported TypeScript Subset</summary>\n\n" +
|
||||
@@ -192,12 +192,12 @@ export const languageEnglish = {
|
||||
themeDescClassic: "Suitable for All devices",
|
||||
texttheme: "Select your text color",
|
||||
inputName: "Lastly, Input your Nickname.",
|
||||
welcome: "Welcome to RisuAI! Here, I will guide you to setup. First, What may I call you?",
|
||||
welcome: "Welcome to Risuai! I am Airisu, I am here guide you to setup Risuai. First, What may I call you?",
|
||||
welcome2: "Hello {username}! before we start, I will ask you some questions. You can change these settings later in settings.\n\nFirst select the AI provider.",
|
||||
openrouterProvider: "Openrouter has a lot of models, some of them unfiltered and some of them free, but it is not as good as OpenAI.",
|
||||
hordeProvider: "Horde is a free provider, but the response time is long and the quality is low.",
|
||||
setProviderLater: "There are other providers, but you can set it later in settings. select this if you want to set it later.",
|
||||
setupOpenAI: "To use OpenAI, you need to get an API key. \n1. go to https://beta.openai.com/ \n2. login with your account \n3. go to https://beta.openai.com/account/api-keys \n4. click 'Create New API Key' and name your key whatever you want. \n5. copy the key in the website.\n6. go back to RisuAI\n7. paste it, and click send button.",
|
||||
setupOpenAI: "To use OpenAI, you need to get an API key. \n1. go to https://beta.openai.com/ \n2. login with your account \n3. go to https://beta.openai.com/account/api-keys \n4. click 'Create New API Key' and name your key whatever you want. \n5. copy the key in the website.\n6. go back to Risuai\n7. paste it, and click send button.",
|
||||
setupClaude: "To use Claude, you need to get an API key.",
|
||||
setupClaudeSteps: [
|
||||
"Go to this URL and Login as Google",
|
||||
@@ -213,7 +213,7 @@ export const languageEnglish = {
|
||||
"Input just like the image above, and press 'Add'",
|
||||
"Copy the key, and paste it in here and send it.",
|
||||
],
|
||||
setupOpenrouter: "To use Openrouter, you need to get an API key. \n1. go to https://openrouter.ai/keys\n2. click 'Create Key'\n3. set key name whatever you want.\n4. copy the key in the website\n5. go back to RisuAI\n6. paste it, and click send button.",
|
||||
setupOpenrouter: "To use Openrouter, you need to get an API key. \n1. go to https://openrouter.ai/keys\n2. click 'Create Key'\n3. set key name whatever you want.\n4. copy the key in the website\n5. go back to Risuai\n6. paste it, and click send button.",
|
||||
allDone: "All Done! please wait a moment.",
|
||||
setupLaterMessage: "Welcome {username}! do you want me to guide you to setup or do it yourself?",
|
||||
setupMessageOption1: "Guide me to setup",
|
||||
@@ -612,9 +612,9 @@ export const languageEnglish = {
|
||||
proxyAPIKey: "Key/Password",
|
||||
proxyRequestModel: "Request Model",
|
||||
officialWiki: "Official Wiki",
|
||||
officialWikiDesc: "Official Wiki for RisuAI. feel free to see.",
|
||||
officialWikiDesc: "Official Wiki for Risuai. feel free to see.",
|
||||
officialDiscord: "Official Discord",
|
||||
officialDiscordDesc: "Official Discord to talk about RisuAI",
|
||||
officialDiscordDesc: "Official Discord to talk about Risuai",
|
||||
confirmRecommendedPreset: "There is a recommended settings for this model. do you want to change the settings to that? (you can turn off asking in the accessiblity settings)",
|
||||
toggleConfirmRecommendedPreset: "Ask for recommended setting when model change",
|
||||
recommendedPreset: "Set to Recommended Settings",
|
||||
@@ -716,7 +716,7 @@ export const languageEnglish = {
|
||||
import: "Import",
|
||||
supporterThanks: "Supporter Thanks",
|
||||
supporterThanksDesc: "Thank you for your support!",
|
||||
donatorPatreonDesc:"For default, it will not be shown in the list for privacy. if you want to show your nickname, go to RisuAI's patreon page and press the link button.",
|
||||
donatorPatreonDesc:"For default, it will not be shown in the list for privacy. if you want to show your nickname, go to Risuai's patreon page and press the link button.",
|
||||
useNamePrefix: "Use Name Prefix",
|
||||
textAdventureNAI: "Run as Text Adventure",
|
||||
appendNameNAI: "Append Name on NAI",
|
||||
@@ -772,7 +772,7 @@ export const languageEnglish = {
|
||||
inputCardPassword: "Input Card Password",
|
||||
ccv2Desc: 'Character Card V2 is a format widely used in chatbot programs.',
|
||||
ccv3Desc: 'Character Card V3 is a next generation format that is used in chatbot programs.',
|
||||
realmDesc: 'RisuRealm is a content sharing platform for RisuAI. you can share your character to other users.',
|
||||
realmDesc: 'RisuRealm is a content sharing platform for Risuai. you can share your character to other users.',
|
||||
rccDesc: 'Risu Refined Character Card is a format with additional features like password, integrity check and etc.',
|
||||
password: "Password",
|
||||
license: "License",
|
||||
@@ -844,8 +844,8 @@ export const languageEnglish = {
|
||||
trash: "Trash",
|
||||
trashDesc: "Deleted characters are moved to trash. you can restore or delete them permanently. deleted characters are automatically purged after 3 days.",
|
||||
shareExport: "Share/Export",
|
||||
risupresetDesc: "Risupreset format is a format specifically designed for RisuAI presets.",
|
||||
risuMDesc: "RisuM format is a format that is specifically designed for RisuAI modules.",
|
||||
risupresetDesc: "Risupreset format is a format specifically designed for Risuai presets.",
|
||||
risuMDesc: "RisuM format is a format that is specifically designed for Risuai modules.",
|
||||
jsonDesc: "JSON format is a format that is easy to read and write for both humans and machines.",
|
||||
nickname: "Nickname",
|
||||
useRegexLorebook: "Use Regex",
|
||||
@@ -985,7 +985,7 @@ export const languageEnglish = {
|
||||
menuSideBar: "Menu Side Bar",
|
||||
home: "Home",
|
||||
showSavingIcon: "Show Saving Icon",
|
||||
pluginVersionWarn: "This is {{plugin_version}} version of the plugin. which is not compatible with this version of RisuAI. please update the plugin to {{required_version}} version.",
|
||||
pluginVersionWarn: "This is {{plugin_version}} version of the plugin. which is not compatible with this version of Risuai. please update the plugin to {{required_version}} version.",
|
||||
imageTranslation: "Image Translation",
|
||||
banCharacterset: 'Auto Regenerate On Characterset',
|
||||
checkCorruption: "Check Corruption",
|
||||
|
||||
@@ -141,7 +141,7 @@ export const languageKorean = {
|
||||
"themeDescClassic": "모든 기기에 적합합니다",
|
||||
"texttheme": "텍스트 색상을 선택해주세요",
|
||||
"inputName": "마지막으로, 닉네임을 입력해 주세요",
|
||||
"welcome": "리스AI에 오신 것을 환영합니다! 저는 셋업 도우미 입니다. 먼저 닉네임을 입력해 주세요.",
|
||||
"welcome": "Risuai에 오신 것을 환영합니다! 저는 Risuai 셋업을 도와줄 아이리스라고 합니다. 먼저 닉네임을 입력해 주세요.",
|
||||
"welcome2": "{username}님 안녕하세요! 시작하기 전에, 몇가지 설정만 하면 됩니다. 먼저, Ai 제공자를 선택해 주세요.",
|
||||
"openrouterProvider": "Openrouter는 여러 무료/유료 모델이 있습니다. 기본적으로 무료로 설정됩니다.",
|
||||
"hordeProvider": "Horde는 특별한 설정이 필요없는 무료 모델입니다. 하지만, 성능이 좋지 않습니다.",
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
import Chat from "../ChatScreens/Chat.svelte";
|
||||
import { prebuiltPresets } from "src/ts/process/templates/templates";
|
||||
import { updateTextThemeAndCSS } from "src/ts/gui/colorscheme";
|
||||
import Airisu from '../../etc/Airisu.webp'
|
||||
|
||||
const airisuStyle = `background: url("${Airisu}");background-size: cover;`
|
||||
let step = $state(0)
|
||||
let provider = $state('')
|
||||
let input = $state('')
|
||||
@@ -207,10 +209,10 @@
|
||||
</div>
|
||||
|
||||
{:else}
|
||||
<Chat name="Risu" message={language.setup.welcome} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.welcome} isLastMemory={false} />
|
||||
{#if step >= 2}
|
||||
<Chat name={DBState.db.username} message={DBState.db.username} isLastMemory={false} />
|
||||
<Chat name="Risu" message={language.setup.setupLaterMessage.replace('{username}', DBState.db.username)} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.setupLaterMessage.replace('{username}', DBState.db.username)} isLastMemory={false} />
|
||||
{/if}
|
||||
{#if step === 2}
|
||||
<div class="grid grid-cols-2 gap-4 md:grid-cols-3">
|
||||
@@ -230,7 +232,7 @@
|
||||
{/if}
|
||||
{#if step >= 3}
|
||||
<Chat name={DBState.db.username} message={language.setup.setupMessageOption1} isLastMemory={false} />
|
||||
<Chat name="Risu" message={language.setup.welcome2.replace('{username}', DBState.db.username)} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.welcome2.replace('{username}', DBState.db.username)} isLastMemory={false} />
|
||||
{/if}
|
||||
{#if step === 3}
|
||||
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
|
||||
@@ -267,14 +269,14 @@
|
||||
{#if step >= 4}
|
||||
<Chat name={DBState.db.username} message={provider} isLastMemory={false} />
|
||||
{#if provider === 'openai'}
|
||||
<Chat name="Risu" message={language.setup.setupOpenAI} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.setupOpenAI} isLastMemory={false} />
|
||||
{/if}
|
||||
{#if provider === 'openrouter'}
|
||||
<Chat name="Risu" message={language.setup.setupOpenrouter} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.setupOpenrouter} isLastMemory={false} />
|
||||
{/if}
|
||||
{#if provider === 'claude'}
|
||||
{#each language.setup.setupClaudeSteps as step, i}
|
||||
<Chat name="Risu" message={
|
||||
<Chat name="Airisu" img={airisuStyle} message={
|
||||
`\n\n${i === 0 ? 'https://console.anthropic.com/login?returnTo=%2F%3F\n\n' : ''}` + step
|
||||
} isLastMemory={false} />
|
||||
|
||||
@@ -283,7 +285,7 @@
|
||||
{/if}
|
||||
{#if step >= 5}
|
||||
<Chat name={DBState.db.username} message="<HIDDEN>" isLastMemory={false} />
|
||||
<Chat name="Risu" message={language.setup.chooseChatType} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.chooseChatType} isLastMemory={false} />
|
||||
{/if}
|
||||
{#if step === 5}
|
||||
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
|
||||
@@ -314,7 +316,7 @@
|
||||
<Chat name={DBState.db.username} message={
|
||||
language.setup[`chooseChatTypeOption${chatLang+1}`]
|
||||
} isLastMemory={false} />
|
||||
<Chat name="Risu" message={language.setup.chooseCheapOrMemory} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.chooseCheapOrMemory} isLastMemory={false} />
|
||||
{/if}
|
||||
{#if step === 6}
|
||||
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
|
||||
@@ -349,7 +351,7 @@
|
||||
</div>
|
||||
{/if}
|
||||
{#if step === 10}
|
||||
<Chat name="Risu" message={language.setup.allDone} isLastMemory={false} />
|
||||
<Chat name="Airisu" img={airisuStyle} message={language.setup.allDone} isLastMemory={false} />
|
||||
{/if}
|
||||
<div class="flex items-stretch mb-2 w-full mt-auto">
|
||||
<textarea class="peer focus:border-textcolor transition-colors outline-none text-textcolor p-2 min-w-0 border border-r-0 bg-transparent rounded-md rounded-r-none input-text text-xl flex-grow ml-4 border-darkborderc resize-none overflow-y-hidden overflow-x-hidden max-w-full"
|
||||
|
||||
Reference in New Issue
Block a user