|
|
|
@@ -266,6 +266,7 @@ const default_settings = {
|
|
|
|
|
show_external_models: false,
|
|
|
|
|
proxy_password: '',
|
|
|
|
|
assistant_prefill: '',
|
|
|
|
|
assistant_impersonation: '',
|
|
|
|
|
human_sysprompt_message: default_claude_human_sysprompt_message,
|
|
|
|
|
use_ai21_tokenizer: false,
|
|
|
|
|
use_google_tokenizer: false,
|
|
|
|
@@ -342,6 +343,7 @@ const oai_settings = {
|
|
|
|
|
show_external_models: false,
|
|
|
|
|
proxy_password: '',
|
|
|
|
|
assistant_prefill: '',
|
|
|
|
|
assistant_impersonation: '',
|
|
|
|
|
human_sysprompt_message: default_claude_human_sysprompt_message,
|
|
|
|
|
use_ai21_tokenizer: false,
|
|
|
|
|
use_google_tokenizer: false,
|
|
|
|
@@ -1767,7 +1769,7 @@ async function sendOpenAIRequest(type, messages, signal) {
|
|
|
|
|
generate_data['human_sysprompt_message'] = substituteParams(oai_settings.human_sysprompt_message);
|
|
|
|
|
// Don't add a prefill on quiet gens (summarization)
|
|
|
|
|
if (!isQuiet) {
|
|
|
|
|
generate_data['assistant_prefill'] = substituteParams(oai_settings.assistant_prefill);
|
|
|
|
|
generate_data['assistant_prefill'] = isImpersonate ? substituteParams(oai_settings.assistant_impersonation) : substituteParams(oai_settings.assistant_prefill);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -2760,6 +2762,7 @@ function loadOpenAISettings(data, settings) {
|
|
|
|
|
oai_settings.show_external_models = settings.show_external_models ?? default_settings.show_external_models;
|
|
|
|
|
oai_settings.proxy_password = settings.proxy_password ?? default_settings.proxy_password;
|
|
|
|
|
oai_settings.assistant_prefill = settings.assistant_prefill ?? default_settings.assistant_prefill;
|
|
|
|
|
oai_settings.assistant_impersonation = settings.assistant_impersonation ?? default_settings.assistant_impersonation;
|
|
|
|
|
oai_settings.human_sysprompt_message = settings.human_sysprompt_message ?? default_settings.human_sysprompt_message;
|
|
|
|
|
oai_settings.image_inlining = settings.image_inlining ?? default_settings.image_inlining;
|
|
|
|
|
oai_settings.inline_image_quality = settings.inline_image_quality ?? default_settings.inline_image_quality;
|
|
|
|
@@ -2796,6 +2799,7 @@ function loadOpenAISettings(data, settings) {
|
|
|
|
|
$('#api_url_scale').val(oai_settings.api_url_scale);
|
|
|
|
|
$('#openai_proxy_password').val(oai_settings.proxy_password);
|
|
|
|
|
$('#claude_assistant_prefill').val(oai_settings.assistant_prefill);
|
|
|
|
|
$('#claude_assistant_impersonation').val(oai_settings.assistant_impersonation);
|
|
|
|
|
$('#claude_human_sysprompt_textarea').val(oai_settings.human_sysprompt_message);
|
|
|
|
|
$('#openai_image_inlining').prop('checked', oai_settings.image_inlining);
|
|
|
|
|
$('#openai_bypass_status_check').prop('checked', oai_settings.bypass_status_check);
|
|
|
|
@@ -3115,6 +3119,7 @@ async function saveOpenAIPreset(name, settings, triggerUi = true) {
|
|
|
|
|
api_url_scale: settings.api_url_scale,
|
|
|
|
|
show_external_models: settings.show_external_models,
|
|
|
|
|
assistant_prefill: settings.assistant_prefill,
|
|
|
|
|
assistant_impersonation: settings.assistant_impersonation,
|
|
|
|
|
human_sysprompt_message: settings.human_sysprompt_message,
|
|
|
|
|
use_ai21_tokenizer: settings.use_ai21_tokenizer,
|
|
|
|
|
use_google_tokenizer: settings.use_google_tokenizer,
|
|
|
|
@@ -3501,6 +3506,7 @@ function onSettingsPresetChange() {
|
|
|
|
|
show_external_models: ['#openai_show_external_models', 'show_external_models', true],
|
|
|
|
|
proxy_password: ['#openai_proxy_password', 'proxy_password', false],
|
|
|
|
|
assistant_prefill: ['#claude_assistant_prefill', 'assistant_prefill', false],
|
|
|
|
|
assistant_impersonation: ['#claude_assistant_impersonation', 'assistant_impersonation', false],
|
|
|
|
|
human_sysprompt_message: ['#claude_human_sysprompt_textarea', 'human_sysprompt_message', false],
|
|
|
|
|
use_ai21_tokenizer: ['#use_ai21_tokenizer', 'use_ai21_tokenizer', true],
|
|
|
|
|
use_google_tokenizer: ['#use_google_tokenizer', 'use_google_tokenizer', true],
|
|
|
|
@@ -3526,6 +3532,11 @@ function onSettingsPresetChange() {
|
|
|
|
|
preset.names_behavior = character_names_behavior.COMPLETION;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Claude: Assistant Impersonation Prefill = Inherit from Assistant Prefill
|
|
|
|
|
if (preset.assistant_prefill !== undefined && preset.assistant_impersonation === undefined) {
|
|
|
|
|
preset.assistant_impersonation = preset.assistant_prefill;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const updateInput = (selector, value) => $(selector).val(value).trigger('input');
|
|
|
|
|
const updateCheckbox = (selector, value) => $(selector).prop('checked', value).trigger('input');
|
|
|
|
|
|
|
|
|
@@ -4721,6 +4732,11 @@ $(document).ready(async function () {
|
|
|
|
|
saveSettingsDebounced();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#claude_assistant_impersonation').on('input', function () {
|
|
|
|
|
oai_settings.assistant_impersonation = String($(this).val());
|
|
|
|
|
saveSettingsDebounced();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#claude_human_sysprompt_textarea').on('input', function () {
|
|
|
|
|
oai_settings.human_sysprompt_message = String($('#claude_human_sysprompt_textarea').val());
|
|
|
|
|
saveSettingsDebounced();
|
|
|
|
|