Skip to content

Commit

Permalink
128.0.0 (#614)
Browse files Browse the repository at this point in the history
# PR Checklist
- [ ] Did you check if it works normally in all models? *ignore this
when it dosen't uses models*
- [ ] Did you check if it works normally in all of web, local and node
hosted versions? if it dosen't, did you blocked it in those versions?
- [ ] Did you added a type def?

# Description
  • Loading branch information
kwaroran authored Sep 5, 2024
2 parents a2dffc2 + 519da8b commit e356883
Show file tree
Hide file tree
Showing 16 changed files with 225 additions and 75 deletions.
2 changes: 1 addition & 1 deletion android/app/release/output-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"filters": [],
"attributes": [],
"versionCode": 2,
"versionName": "127.0.0",
"versionName": "128.0.0",
"outputFile": "app-release.apk"
}
],
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"package": {
"productName": "RisuAI",
"version": "127.0.0"
"version": "128.0.0"
},
"tauri": {
"allowlist": {
Expand Down
2 changes: 1 addition & 1 deletion src/lang/cn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export const languageChinese = {
"utilityBot": "启用后,它将忽略主要提示词、越狱和其他提示词。用于实用程序机器人,而不是用于角色扮演。",
"loreSelective": "如果切换选择性的,则激活键和次要键都应有匹配项才能激活lorebook。",
"loreRandomActivation": "如果启用了概率条件,那么当lorebook的其他条件都已满足时,每次发送聊天时lorebook将以“概率”设置的概率被激活。",
"additionalAssets": "在你的聊天中显示的额外资源。\n\n - 使用`{{raw::<asset name>}}`作为路径\n - 使用`{{img::<asset name>}}`作为图片\n - 使用`{{video::<asset name>}}`作为视频\n - 使用`{{audio::<asset name>}}` 作为音频\n - 建议放在背景 HTML中",
"additionalAssets": "在你的聊天中显示的额外资源。\n\n - 使用`{{raw::<asset name>}}`作为路径\n - 使用`{{image::<asset name>}}`作为图片\n - 使用`{{video::<asset name>}}`作为视频\n - 使用`{{audio::<asset name>}}` 作为音频\n - 建议放在背景 HTML中",
"superMemory": "超级记忆通过给 AI 提供总结数据使你的角色记忆更多信息\n\n超级记忆模型是一个总结文本的模型。推荐使用Davinci,除非是具有超过2000个token数的高度总结能力的未经过滤模型,否则不推荐使用辅助模型。\n\n超级记忆提示决定了应发送什么提示词进行总结。如果你留空,它将使用默认提示词。建议留空。\n\n在所有设置都完成后,你可以在角色的设置中启用它。",
"replaceGlobalNote": "如果不为空,则将当前全局注释替换为此。",
"backgroundHTML": "将被注入聊天荧幕背景的Markdown/HTML数据。\n\n你也可以使用其他资源。例如,你可以使用`{{audio::<asset name}}`添加背景音乐\n\n此外,你还可以将这些数据与其他资源一起使用:\n - `{{bg::<asset name>}}`: 将背景注入资源",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export const languageGerman = {
scenario: "Eine kurze Beschreibung des Szenarios des Charakters. \n\n**Es wird nicht empfohlen, diese Option zu nutzen. Beschreiben Sie das Szenario stattdessen in der Charakterbeschreibung.**",
loreSelective: "Wenn der selektive Modus aktiviert ist, müssen sowohl Trigger-Wort als auch auch das Co-Trigger-Wort übereinstimmen, um den Kontext zu aktivieren",
loreRandomActivation: "Wenn die Bedingung 'Wahrscheinlichkeit verwenden' aktiviert ist, wird der Kontext mit einer festgelegten Wahrscheinlichkeit, die durch 'Wahrscheinlichkeit' festgelegt wird, jedes Mal aktiviert, wenn eine Chat-Nachricht gesendet wird und die anderen Bedingungen der Überlieferung alle erfüllt sind",
additionalAssets: "Zusätzliche Assets, die in Ihrem Chat angezeigt werden sollen. \n\n - verwenden Sie `{{raw::<asset name>}}` um als Pfad zu verwenden.\n – verwenden Sie `{{img::<asset name>}}` um als Bild zu verwenden\n - verwenden Sie `{{video::<asset name>}}` um als Video zu verwenden\n – verwenden Sie `{{audio::<asset name>}}` um als Audio zu verwenden\n – es wird empfohlen, dies im HTML Backend einzufügen",
additionalAssets: "Zusätzliche Assets, die in Ihrem Chat angezeigt werden sollen. \n\n - verwenden Sie `{{raw::<asset name>}}` um als Pfad zu verwenden.\n – verwenden Sie `{{image::<asset name>}}` um als Bild zu verwenden\n - verwenden Sie `{{video::<asset name>}}` um als Video zu verwenden\n – verwenden Sie `{{audio::<asset name>}}` um als Audio zu verwenden\n – es wird empfohlen, dies im HTML Backend einzufügen",
superMemory: "SupaMemory ermöglicht es Ihrem Charakter, sich mehr Informationen zu 'merken', indem der KI zusammengefasste Daten zugeführt werden.\n\n"
+ "Das SupaMemory-Modell ist ein Modell, das die Zusammenfassung für einen Text erstellt. Davinci oder GPT-3.5-16k werden empfohlen. Hilfsmodelle hingegen werden nicht empfohlen, es sei denn, es handelt sich um ein ungefiltertes Modell mit mindestens 2000 Tokens Kontextgröße und einer ausgereiften Fähigkeiten, Texte zusammenfassen zu können.\n\n"
+ "Die SupaMemory-Anweisung entscheidet darüber, welche Anweisung konkret zur Zusammenfassung gesendet werden soll. Wenn Sie das Feld leer lassen, wird die Standard-Anweisung verwendet. Es wird empfohlen, es leer zu lassen.\n\n"
Expand Down
20 changes: 15 additions & 5 deletions src/lang/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export const languageEnglish = {
bias:"bias is a key-value data which modifies the likelihood of string appearing.\nit can be -100 to 100, higher values will be more likely to appear, and lower values will be more unlikely to appear. \nAdditionaly, if its set to -101, it would work as 'strong ban word' for some models. \nWarning: if the tokenizer is wrong, it not work properly.",
emotion: "Emotion Images option shows image depending at character's emotion which is analized by character's response. you must input emotion name as words *(like joy, happy, fear and etc.)* .emotion named **neutral** will be default emotion if it exists. must be more then 3 images to work properly.",
imggen: "After analyzing the chat, apply the prompt to {{slot}}.",
regexScript: "Regex Script is a custom script that replaces string that matches IN to OUT.\n\nThere four type options."
regexScript: "Regex Script is a custom regex that replaces string that matches IN to OUT.\n\nThere four type options."
+ "\n\n- **Modify Input** modifys user's input"
+ "\n\n- **Modify Output** modifys character's output"
+ "\n\n- **Modify Request Data** modifys current chat data when sent."
Expand All @@ -69,8 +69,14 @@ export const languageEnglish = {
+ "\n\n- $`\n\n - inserts the portion of the string that precedes the matched substring."
+ "\n\n- $1\n\n - inserts the first matching group. works with other number like 2, 3..."
+ "\n\n- $(name)\n\n - inserts the named group"
+ "\n\nIf OUT starts with **@@**, it doesn't replaces the string, but instead does a special effect if matching string founds."
+ "\n\n- @@emo (emotion name)\n\n - if character is Emotion Images mode, sets (emotion name) as emotion and prevents default.",
+ "\n\nFor flags, you can not only use native supported flags, but also use these flags, which are designed for advanced users:"
+ "\n\n- `<inject>` - injects the result to the current string."
+ "\n- `<move_top>` - moves the result to the top of the string."
+ "\n- `<move_bottom>` - moves the result to the bottom of the string."
+ "\n- `<repeat_back>` - if the match is not found, it carries the result from the previous match."
+ "\n- `<order n>` - sets the order of the result. higher order will be shown first. `n` is a number. (like `<order 1>`) if this flag is not set, it will be set to 0."
+ "\n- `<cbs>` - parses curly braced synatxes in IN."
+ "\n\nTo use with native flags, you can use like `gi<cbs><move_top>`.",
experimental: "This is a experimental feature. it might be unstable.",
oogaboogaURL: "If your WebUI supports older version of api, your url should look *like https:.../run/textgen*\n\n"
+ "If your WebUI supports newVersion of api, your url should look like *https://.../api/v1/generate* and use the api server as host, and add --api to arguments.",
Expand All @@ -86,7 +92,7 @@ export const languageEnglish = {
utilityBot: "When activated, it ignores main prompt, jailbreak and other prompts. used for bot made for utility, not for roleplay.",
loreSelective: "If Selective mode is toggled, both Activation Key and Secondary key should have a match to activate the lore.",
loreRandomActivation: "If Use Probability Condition is abled, if the lore's other conditions are all met, the lore will be activated with a set probability which is set by 'Probability' each time a chat is sent.",
additionalAssets: "Additional assets to display in your chat. \n\n - use `{{raw::<asset name>}}` to use as path.\n - use `{{img::<asset name>}}` to use as image\n - use `{{video::<asset name>}}` to use as video\n - use `{{audio::<asset name>}}` to use as audio\n - recommended to put in Background HTML",
additionalAssets: "Additional assets to display in your chat. \n\n - use `{{raw::<asset name>}}` to use as path.\n - use `{{image::<asset name>}}` to use as image\n - use `{{video::<asset name>}}` to use as video\n - use `{{audio::<asset name>}}` to use as audio\n - recommended to put in Background HTML",
superMemory: "SuperMemory makes your character memorize more by giving summarized data to AI.\n\n"
+ "SuperMemory model is a model that summarizes that text. davinci is recommended, and Auxiliary models are not recommended unless it is an unfiltered model with over 2000 tokens with great summarizing skill.\n\n"
+ "SuperMemory Prompt decides what prompt should be sent to summarize. if you leave it blank, it will use the default prompt. leaving blank is recommended.\n\n"
Expand Down Expand Up @@ -135,6 +141,8 @@ export const languageEnglish = {
luaHelp: "You can use Lua scripts as a trigger script. you can define onInput, onOutput, onStart functions. onInput is called when user sends a message, onOutput is called when character sends a message, onStart is called when the chat starts. for more information, see the documentation.",
claudeCachingExperimental: "Caching in Claude is experimental feature that can reduce the cost of the model, but it can also increase the cost if you use it without reroll. since this is a experimental feature, it can be unstable and behavior can be changed in the future.",
urllora: "You can use direct download link of the model file. you can make direct url from google drive like website like https://sites.google.com/site/gdocs2direct/ , or use civitai URL, copy the the AIR (looks like `urn:air:flux1:lora:civitai:180891@776656` or just `civitai:180891@776656`) and paste it.",
namespace: "Namespace is a unique identifier for the module. it is used to prevent conflicts between modules, and for interaction of presets, other modules and etc. if you are not sure what to put, leave it blank.",
moduleIntergration: "You can enable modules by putting the module namespace in the module intergartion sections. if you want to enable multiple modules, you can seperate them by comma. for example, `module1,module2,module3`. this is for advanced users, who wants to vary the use of modules by presets.",
},
setup: {
chooseProvider: "Choose AI Provider",
Expand Down Expand Up @@ -688,5 +696,7 @@ export const languageEnglish = {
hideApiKeys: "Hide API Keys",
unformatQuotes: "Disable Quote Formatting",
enableDevTools: "Enable Dev Tools",
selectFile: "Select File"
selectFile: "Select File",
namespace: "Namespace",
moduleIntergration: "Module Integration",
}
2 changes: 1 addition & 1 deletion src/lang/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export const languageSpanish = {
utilityBot: "Cuando está activado, ignora el prompt principal, jailbreak y otros prompts. Se utiliza para bots diseñados para utilidades, no para juegos de rol.",
loreSelective: "Si el modo Selectivo está activado, tanto la Clave de Activación como la Clave Secundaria deben coincidir para activar el lore.",
loreRandomActivation: "Si la Condición de Probabilidad está habilitada, si se cumplen todas las demás condiciones del lore, el lore se activará con una probabilidad establecida por 'Probabilidad' cada vez que se envíe un chat.",
additionalAssets: "Activos adicionales para mostrar en tu chat. \n\n - usa `{{raw::<nombre del activo>}}` para usar como ruta.\n - usa `{{img::<nombre del activo>}}` para usar como imagen\n - usa `{{video::<nombre del activo>}}` para usar como video\n - usa `{{audio::<nombre del activo>}}` para usar como audio\n - se recomienda poner en HTML de Fondo",
additionalAssets: "Activos adicionales para mostrar en tu chat. \n\n - usa `{{raw::<nombre del activo>}}` para usar como ruta.\n - usa `{{image::<nombre del activo>}}` para usar como imagen\n - usa `{{video::<nombre del activo>}}` para usar como video\n - usa `{{audio::<nombre del activo>}}` para usar como audio\n - se recomienda poner en HTML de Fondo",
superMemory: "SuperMemoria hace que tu personaje memorice más dando datos resumidos a la IA.\n\n"
+ "El modelo de SuperMemoria es un modelo que resume ese texto. Se recomienda Davinci, y no se recomienda usar modelos auxiliares a menos que sea un modelo no filtrado con más de 2000 tokens y con una gran habilidad de resumen.\n\n"
+ "El Prompt de SuperMemoria decide qué prompt se debe enviar para resumir. Si lo dejas en blanco, usará el prompt predeterminado. Se recomienda dejarlo en blanco.\n\n"
Expand Down
2 changes: 1 addition & 1 deletion src/lang/ko.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export const languageKorean = {
"utilityBot": "활성화되면 메인 프롬프트, jailbreak 및 기타 프롬프트를 무시합니다. 역할극이 아닌 유틸리티용 봇에 사용됩니다.",
"loreSelective": "선택 모드가 토글되면 활성화 키와 보조 키 모두 일치해야 로어가 활성화됩니다.",
"loreRandomActivation": "확률 조건 사용이 활성화된 경우, 로어의 다른 조건이 모두 충족되면 로어가 활성화되며, 각 채팅을 보낼 때마다 설정된 확률에 따라 활성화됩니다.",
"additionalAssets": "채팅에 표시할 추가 에셋입니다.\n\n- `{{raw::<에셋 이름>}}`을 경로로 사용하려면\n- `{{img::<에셋 이름>}}`을 이미지로 사용하려면\n- `{{video::<에셋 이름>}}`을 비디오로 사용하려면\n- `{{audio::<에셋 이름>}}`을 오디오로 사용하려면\n - 배경 HTML에 넣는 것이 좋습니다.",
"additionalAssets": "채팅에 표시할 추가 에셋입니다.\n\n- 경로로 사용하려면 `{{raw::<에셋 이름>}}`을\n- 이미지로 사용하려면 `{{image::<에셋 이름>}}`을\n- 비디오로 사용하려면 `{{video::<에셋 이름>}}`을\n- 오디오로 사용하려면 `{{audio::<에셋 이름>}}`을 사용하세요.\n",
"superMemory": "SuperMemory는 AI에게 요약된 데이터를 제공하여 캐릭터가 더 많이 기억하도록합니다.\n\nSuperMemory 모델은 해당 텍스트를 요약하는 모델입니다. 보조 모델은 2000개 이상의 토큰을 가진 필터되지 않은 모델이 아닌 경우 권장되지 않습니다.\n\nSuperMemory 프롬프트는 요약을 보내기 위해 어떤 프롬프트를 보내야 하는지 결정합니다. 비워두면 기본 프롬프트를 사용합니다. 비워두는 것이 권장됩니다.\n\n모두 설정한 후 캐릭터의 설정에서 활성화할 수 있습니다.",
"replaceGlobalNote": "비어 있지 않으면 현재 글로벌 노트를 이로 대체합니다.",
"backgroundHTML": "채팅 화면의 배경에 삽입 될 마크다운/HTML 데이터입니다.\n\n추가 에셋을 사용할 수도 있습니다. 예를 들어, 배경 음악에 `{{audio::<에셋 이름>}}`을 사용할 수 있습니다.\n\n또한 다음과 같은 추가 에셋을 사용할 수 있습니다:\n - `{{bg::<에셋 이름>}}`: 에셋으로 배경을 삽입합니다.",
Expand Down
4 changes: 4 additions & 0 deletions src/lib/Setting/Pages/BotSettings.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,10 @@
}}/>
{/if}
</Arcodion>

<Arcodion styled name={language.moduleIntergration} help="moduleIntergration">
<TextAreaInput bind:value={$DataBase.moduleIntergration} fullwidth height={"32"} autocomplete="off"/>
</Arcodion>
{#if submenu !== -1}
<Button on:click={() => {$openPresetList = true}} className="mt-4">{language.presets}</Button>
{/if}
Expand Down
8 changes: 6 additions & 2 deletions src/lib/Setting/Pages/Module/ModuleMenu.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,12 @@
</div>

{#if submenu === 0}
<TextInput bind:value={currentModule.name} className="mt-1" placeholder={language.name}/>
<TextInput bind:value={currentModule.description} className="mt-1" placeholder={language.description} size="sm"/>
<span>{language.name}</span>
<TextInput bind:value={currentModule.name} className="mt-1"/>
<span class="mt-4">{language.description}</span>
<TextInput bind:value={currentModule.description} className="mt-1" size="sm"/>
<span class="mt-4">{language.namespace} <Help key="namespace" /></span>
<TextInput bind:value={currentModule.namespace} className="mt-1" size="sm"/>
<div class="flex items-center mt-4">
<Check bind:check={currentModule.hideIcon} name={language.hideChatIcon}/>
</div>
Expand Down
43 changes: 42 additions & 1 deletion src/lib/UI/MainMenu.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import Hub from "./Realm/RealmMain.svelte";
import { OpenRealmStore } from "src/ts/stores";
import { ArrowLeft } from "lucide-svelte";
import { isNodeServer, isTauri } from "src/ts/storage/globalApi";
import { isNodeServer, isTauri, openURL } from "src/ts/storage/globalApi";
import { language } from "src/lang";
import { getRisuHub, hubAdditionalHTML } from "src/ts/characterCards";
import RisuHubIcon from "./Realm/RealmHubIcon.svelte";
Expand Down Expand Up @@ -46,6 +46,47 @@
{:else}
<div class="text-textcolor2">{language.hideRealm}</div>
{/if}
<div class="mt-4 mb-4 w-full border-t border-t-selected"></div>
<h1 class="text-2xl font-bold mb-4">
Related Links
</h1>
<div class="w-full flex gap-4 p-2 flex-wrap justify-center">
<button class="bg-darkbg rounded-lg p-4 flex flex-col hover:bg-selected transition-colors relative lg:w-96 w-full items-start text-start" on:click={() => {
openURL("https://discord.gg/Exy3NrqkGm")
}}>
<h2 class="text-xl">Discord</h2>
<span class="text-textcolor2">
Join our Discord server to chat with other users and the developer.
</span>
</button>
<button class="bg-darkbg rounded-lg p-4 flex flex-col hover:bg-selected transition-colors relative lg:w-96 w-full items-start text-start" on:click={() => {
openURL("https://risuai.net")
}}>
<h2 class="text-xl">
Website
</h2>
<span class="text-textcolor2">
See the official website for the project.
</span>
</button>
<button class="bg-darkbg rounded-lg p-4 flex flex-col hover:bg-selected transition-colors relative lg:w-96 w-full items-start text-start" on:click={() => {
openURL("https://github.com/kwaroran/RisuAI")
}}>
<h2 class="text-xl">Github</h2>
<span class="text-textcolor2">
View the source code and contribute to the project.
</span>
</button>
<button class="bg-darkbg rounded-lg p-4 flex flex-col hover:bg-selected transition-colors relative lg:w-96 w-full items-start text-start" on:click={() => {
openURL("mailto:[email protected]")
}}>
<h2 class="text-xl">Email</h2>
<span class="text-textcolor2">
Contact the developer directly.
</span>
</button>
</div>

{:else}
<div class="flex items-center mt-4">
<button class="mr-2 text-textcolor2 hover:text-green-500" on:click={() => ($OpenRealmStore = false)}>
Expand Down
8 changes: 8 additions & 0 deletions src/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -242,4 +242,12 @@ html, body{
background-color: var(--tw-prose-pre-bg);
padding: 0.125rem 0.25rem;
border-radius: 0.25rem;
}

.x-risu-risu-inlay-image{
@apply w-full flex justify-center
}

.x-risu-risu-inlay-image > img{
@apply rounded-lg focus:outline-none max-w-80 w-full
}
Loading

0 comments on commit e356883

Please sign in to comment.