mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-02 20:36:49 +01:00
Add koboldcpp API key/password support
This commit is contained in:
parent
46993384a3
commit
acf36b6107
@ -2144,6 +2144,15 @@
|
|||||||
LostRuins/koboldcpp
|
LostRuins/koboldcpp
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<h4 data-i18n="koboldcpp API key (optional)">koboldcpp API key (optional)</h4>
|
||||||
|
<div class="flex-container">
|
||||||
|
<input id="api_key_koboldcpp" name="api_key_koboldcpp" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off">
|
||||||
|
<div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_koboldcpp">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-for="api_key_koboldcpp" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page.">
|
||||||
|
For privacy reasons, your API key will be hidden after you reload the page.
|
||||||
|
</div>
|
||||||
<div class="flex1">
|
<div class="flex1">
|
||||||
<h4 data-i18n="API url">API URL</h4>
|
<h4 data-i18n="API url">API URL</h4>
|
||||||
<small data-i18n="Example: 127.0.0.1:5001">Example: http://127.0.0.1:5001</small>
|
<small data-i18n="Example: 127.0.0.1:5001">Example: http://127.0.0.1:5001</small>
|
||||||
|
@ -8727,44 +8727,23 @@ jQuery(async function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#api_button_textgenerationwebui').on('click', async function (e) {
|
$('#api_button_textgenerationwebui').on('click', async function (e) {
|
||||||
const mancerKey = String($('#api_key_mancer').val()).trim();
|
const keys = [
|
||||||
if (mancerKey.length) {
|
{ id: 'api_key_mancer', secret: SECRET_KEYS.MANCER },
|
||||||
await writeSecret(SECRET_KEYS.MANCER, mancerKey);
|
{ id: 'api_key_aphrodite', secret: SECRET_KEYS.APHRODITE },
|
||||||
}
|
{ id: 'api_key_tabby', secret: SECRET_KEYS.TABBY },
|
||||||
|
{ id: 'api_key_togetherai', secret: SECRET_KEYS.TOGETHERAI },
|
||||||
|
{ id: 'api_key_ooba', secret: SECRET_KEYS.OOBA },
|
||||||
|
{ id: 'api_key_infermaticai', secret: SECRET_KEYS.INFERMATICAI },
|
||||||
|
{ id: 'api_key_dreamgen', secret: SECRET_KEYS.DREAMGEN },
|
||||||
|
{ id: 'api_key_openrouter-tg', secret: SECRET_KEYS.OPENROUTER },
|
||||||
|
{ id: 'api_key_koboldcpp', secret: SECRET_KEYS.KOBOLDCPP },
|
||||||
|
];
|
||||||
|
|
||||||
const aphroditeKey = String($('#api_key_aphrodite').val()).trim();
|
for (const key of keys) {
|
||||||
if (aphroditeKey.length) {
|
const keyValue = String($(`#${key.id}`).val()).trim();
|
||||||
await writeSecret(SECRET_KEYS.APHRODITE, aphroditeKey);
|
if (keyValue.length) {
|
||||||
}
|
await writeSecret(key.secret, keyValue);
|
||||||
|
}
|
||||||
const tabbyKey = String($('#api_key_tabby').val()).trim();
|
|
||||||
if (tabbyKey.length) {
|
|
||||||
await writeSecret(SECRET_KEYS.TABBY, tabbyKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
const togetherKey = String($('#api_key_togetherai').val()).trim();
|
|
||||||
if (togetherKey.length) {
|
|
||||||
await writeSecret(SECRET_KEYS.TOGETHERAI, togetherKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
const oobaKey = String($('#api_key_ooba').val()).trim();
|
|
||||||
if (oobaKey.length) {
|
|
||||||
await writeSecret(SECRET_KEYS.OOBA, oobaKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
const infermaticAIKey = String($('#api_key_infermaticai').val()).trim();
|
|
||||||
if (infermaticAIKey.length) {
|
|
||||||
await writeSecret(SECRET_KEYS.INFERMATICAI, infermaticAIKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
const dreamgenKey = String($('#api_key_dreamgen').val()).trim();
|
|
||||||
if (dreamgenKey.length) {
|
|
||||||
await writeSecret(SECRET_KEYS.DREAMGEN, dreamgenKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
const openRouterKey = String($('#api_key_openrouter-tg').val()).trim();
|
|
||||||
if (openRouterKey.length) {
|
|
||||||
await writeSecret(SECRET_KEYS.OPENROUTER, openRouterKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
validateTextGenUrl();
|
validateTextGenUrl();
|
||||||
|
@ -21,6 +21,7 @@ export const SECRET_KEYS = {
|
|||||||
CUSTOM: 'api_key_custom',
|
CUSTOM: 'api_key_custom',
|
||||||
OOBA: 'api_key_ooba',
|
OOBA: 'api_key_ooba',
|
||||||
NOMICAI: 'api_key_nomicai',
|
NOMICAI: 'api_key_nomicai',
|
||||||
|
KOBOLDCPP: 'api_key_koboldcpp',
|
||||||
};
|
};
|
||||||
|
|
||||||
const INPUT_MAP = {
|
const INPUT_MAP = {
|
||||||
@ -43,6 +44,7 @@ const INPUT_MAP = {
|
|||||||
[SECRET_KEYS.INFERMATICAI]: '#api_key_infermaticai',
|
[SECRET_KEYS.INFERMATICAI]: '#api_key_infermaticai',
|
||||||
[SECRET_KEYS.DREAMGEN]: '#api_key_dreamgen',
|
[SECRET_KEYS.DREAMGEN]: '#api_key_dreamgen',
|
||||||
[SECRET_KEYS.NOMICAI]: '#api_key_nomicai',
|
[SECRET_KEYS.NOMICAI]: '#api_key_nomicai',
|
||||||
|
[SECRET_KEYS.KOBOLDCPP]: '#api_key_koboldcpp',
|
||||||
};
|
};
|
||||||
|
|
||||||
async function clearSecret() {
|
async function clearSecret() {
|
||||||
|
@ -68,6 +68,14 @@ function getOobaHeaders() {
|
|||||||
}) : {};
|
}) : {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getKoboldCppHeaders() {
|
||||||
|
const apiKey = readSecret(SECRET_KEYS.KOBOLDCPP);
|
||||||
|
|
||||||
|
return apiKey ? ({
|
||||||
|
'Authorization': `Bearer ${apiKey}`,
|
||||||
|
}) : {};
|
||||||
|
}
|
||||||
|
|
||||||
function getOverrideHeaders(urlHost) {
|
function getOverrideHeaders(urlHost) {
|
||||||
const requestOverrides = getConfigValue('requestOverrides', []);
|
const requestOverrides = getConfigValue('requestOverrides', []);
|
||||||
const overrideHeaders = requestOverrides?.find((e) => e.hosts?.includes(urlHost))?.headers;
|
const overrideHeaders = requestOverrides?.find((e) => e.hosts?.includes(urlHost))?.headers;
|
||||||
@ -112,6 +120,9 @@ function setAdditionalHeaders(request, args, server) {
|
|||||||
case TEXTGEN_TYPES.OPENROUTER:
|
case TEXTGEN_TYPES.OPENROUTER:
|
||||||
headers = getOpenRouterHeaders();
|
headers = getOpenRouterHeaders();
|
||||||
break;
|
break;
|
||||||
|
case TEXTGEN_TYPES.KOBOLDCPP:
|
||||||
|
headers = getKoboldCppHeaders();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
headers = server ? getOverrideHeaders((new URL(server))?.host) : {};
|
headers = server ? getOverrideHeaders((new URL(server))?.host) : {};
|
||||||
break;
|
break;
|
||||||
|
@ -33,6 +33,7 @@ const SECRET_KEYS = {
|
|||||||
INFERMATICAI: 'api_key_infermaticai',
|
INFERMATICAI: 'api_key_infermaticai',
|
||||||
DREAMGEN: 'api_key_dreamgen',
|
DREAMGEN: 'api_key_dreamgen',
|
||||||
NOMICAI: 'api_key_nomicai',
|
NOMICAI: 'api_key_nomicai',
|
||||||
|
KOBOLDCPP: 'api_key_koboldcpp',
|
||||||
};
|
};
|
||||||
|
|
||||||
// These are the keys that are safe to expose, even if allowKeysExposure is false
|
// These are the keys that are safe to expose, even if allowKeysExposure is false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user