diff --git a/src/lib/Setting/Pages/BotSettings.svelte b/src/lib/Setting/Pages/BotSettings.svelte
index 1168a0ae..c7f5188f 100644
--- a/src/lib/Setting/Pages/BotSettings.svelte
+++ b/src/lib/Setting/Pages/BotSettings.svelte
@@ -24,6 +24,7 @@
import OobaSettings from "./OobaSettings.svelte";
import Arcodion from "src/lib/UI/Arcodion.svelte";
import { startsWith } from "lodash";
+ import OpenrouterSettings from "./OpenrouterSettings.svelte";
let tokens = {
mainPrompt: 0,
@@ -261,14 +262,6 @@
{/if}
-{#if $DataBase.aiModel.startsWith('openrouter')}
-
-
-
-
-
-
-{/if}
{#if $DataBase.aiModel === 'custom' || $DataBase.subModel === 'custom'}
{language.plugin}
@@ -573,6 +566,10 @@
{/if}
+{#if $DataBase.aiModel.startsWith('openrouter')}
+
+{/if}
+
{#if advancedBotSettings}
{#if !$DataBase.promptTemplate}
diff --git a/src/lib/Setting/Pages/OpenrouterSettings.svelte b/src/lib/Setting/Pages/OpenrouterSettings.svelte
new file mode 100644
index 00000000..5bb3036f
--- /dev/null
+++ b/src/lib/Setting/Pages/OpenrouterSettings.svelte
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+ {language.provider}
+
+ Auto (Default)
+ {#each openrouterProviders as provider}
+ {provider}
+ {/each}
+
+
\ No newline at end of file
diff --git a/src/ts/process/request.ts b/src/ts/process/request.ts
index 08d5256d..5b712994 100644
--- a/src/ts/process/request.ts
+++ b/src/ts/process/request.ts
@@ -460,6 +460,13 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
body.top_a = db.top_a
//@ts-ignore
body.transforms = db.openrouterMiddleOut ? ['middle-out'] : []
+
+ if(db.openrouterProvider){
+ //@ts-ignore
+ body.provider = {
+ order: [db.openrouterProvider]
+ }
+ }
}
if(aiModel === 'reverse_proxy' && db.reverseProxyOobaMode){
diff --git a/src/ts/storage/database.ts b/src/ts/storage/database.ts
index fece3c5b..570096c8 100644
--- a/src/ts/storage/database.ts
+++ b/src/ts/storage/database.ts
@@ -392,6 +392,7 @@ export function setDatabase(data:Database){
data.top_a ??= 0
data.customTokenizer ??= 'tik'
data.instructChatTemplate ??= "chatml"
+ data.openrouterProvider ??= ''
changeLanguage(data.language)
DataBase.set(data)
@@ -638,6 +639,7 @@ export interface Database{
customTokenizer:string
instructChatTemplate:string
JinjaTemplate:string
+ openrouterProvider:string
}
export interface customscript{