mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-17 14:55:23 +00:00
缩进重构: src/lib/components/chat/Messages/ResponseMessage.svelte
This commit is contained in:
parent
72b1bce250
commit
970d7bae88
1 changed files with 50 additions and 53 deletions
|
|
@ -15,15 +15,15 @@
|
||||||
import { getChatById } from '$lib/apis/chats';
|
import { getChatById } from '$lib/apis/chats';
|
||||||
import { generateTags } from '$lib/apis';
|
import { generateTags } from '$lib/apis';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
config,
|
config,
|
||||||
models,
|
models,
|
||||||
settings,
|
settings,
|
||||||
temporaryChatEnabled,
|
temporaryChatEnabled,
|
||||||
TTSWorker,
|
TTSWorker,
|
||||||
user,
|
user,
|
||||||
userModels
|
userModels
|
||||||
} from '$lib/stores';
|
} from '$lib/stores';
|
||||||
import { synthesizeOpenAISpeech } from '$lib/apis/audio';
|
import { synthesizeOpenAISpeech } from '$lib/apis/audio';
|
||||||
import { imageGenerations } from '$lib/apis/images';
|
import { imageGenerations } from '$lib/apis/images';
|
||||||
import {
|
import {
|
||||||
|
|
@ -155,30 +155,27 @@ import {
|
||||||
let buttonsContainerElement: HTMLDivElement;
|
let buttonsContainerElement: HTMLDivElement;
|
||||||
let showDeleteConfirm = false;
|
let showDeleteConfirm = false;
|
||||||
|
|
||||||
let model = null;
|
let model = null;
|
||||||
let userModel = null;
|
let userModel = null;
|
||||||
let modelName = '';
|
let modelName = '';
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
const platformModel = $models.find((m) => m.id === message.model);
|
const platformModel = $models.find((m) => m.id === message.model);
|
||||||
const credentialModel = (() => {
|
const credentialModel = (() => {
|
||||||
// 优先使用随消息携带的 credential_id 精确匹配
|
// 优先使用随消息携带的 credential_id 精确匹配
|
||||||
if (message?.model_item?.credential_id) {
|
if (message?.model_item?.credential_id) {
|
||||||
return $userModels.find((m) => m.id === message.model_item.credential_id);
|
return $userModels.find((m) => m.id === message.model_item.credential_id);
|
||||||
}
|
}
|
||||||
// 兼容历史消息:通过 model_id 反查
|
// 兼容历史消息:通过 model_id 反查
|
||||||
return $userModels.find((m) => m.model_id === message.model);
|
return $userModels.find((m) => m.model_id === message.model);
|
||||||
})();
|
})();
|
||||||
|
|
||||||
userModel = credentialModel ? { ...credentialModel, id: credentialModel.model_id } : null;
|
userModel = credentialModel ? { ...credentialModel, id: credentialModel.model_id } : null;
|
||||||
model = platformModel ?? userModel;
|
model = platformModel ?? userModel;
|
||||||
|
|
||||||
modelName =
|
modelName =
|
||||||
message.modelName ??
|
message.modelName ?? model?.name ?? userModel?.name ?? userModel?.model_id ?? message.model;
|
||||||
model?.name ??
|
}
|
||||||
(userModel?.name ?? userModel?.model_id) ??
|
|
||||||
message.model;
|
|
||||||
}
|
|
||||||
|
|
||||||
let edit = false;
|
let edit = false;
|
||||||
let editedContent = '';
|
let editedContent = '';
|
||||||
|
|
@ -649,10 +646,10 @@ $: {
|
||||||
|
|
||||||
<div class="flex-auto w-0 pl-1 relative">
|
<div class="flex-auto w-0 pl-1 relative">
|
||||||
<Name>
|
<Name>
|
||||||
<Tooltip content={modelName} placement="top-start">
|
<Tooltip content={modelName} placement="top-start">
|
||||||
<span class="line-clamp-1 text-black dark:text-white">
|
<span class="line-clamp-1 text-black dark:text-white">
|
||||||
{modelName}
|
{modelName}
|
||||||
</span>
|
</span>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
||||||
{#if message.timestamp}
|
{#if message.timestamp}
|
||||||
|
|
@ -1014,7 +1011,7 @@ $: {
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
||||||
<!-- 朗读按钮 -->
|
<!-- 朗读按钮 -->
|
||||||
<!-- {#if $user?.role === 'admin' || ($user?.permissions?.chat?.tts ?? true)}
|
<!-- {#if $user?.role === 'admin' || ($user?.permissions?.chat?.tts ?? true)}
|
||||||
<Tooltip content={$i18n.t('Read Aloud')} placement="bottom">
|
<Tooltip content={$i18n.t('Read Aloud')} placement="bottom">
|
||||||
|
|
@ -1290,7 +1287,7 @@ $: {
|
||||||
</button>
|
</button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
{/if} -->
|
{/if} -->
|
||||||
|
|
||||||
<!-- 继续生成按钮 -->
|
<!-- 继续生成按钮 -->
|
||||||
<!-- {#if isLastMessage && ($user?.role === 'admin' || ($user?.permissions?.chat?.continue_response ?? true))}
|
<!-- {#if isLastMessage && ($user?.role === 'admin' || ($user?.permissions?.chat?.continue_response ?? true))}
|
||||||
<Tooltip content={$i18n.t('Continue Response')} placement="bottom">
|
<Tooltip content={$i18n.t('Continue Response')} placement="bottom">
|
||||||
|
|
@ -1521,25 +1518,25 @@ $: {
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<!-- AI friend 屏蔽提问提示 -->
|
<!-- AI friend 屏蔽提问提示 -->
|
||||||
{#if false}
|
{#if false}
|
||||||
{#if (isLastMessage || ($settings?.keepFollowUpPrompts ?? false)) && message.done && !readOnly && (message?.followUps ?? []).length > 0}
|
{#if (isLastMessage || ($settings?.keepFollowUpPrompts ?? false)) && message.done && !readOnly && (message?.followUps ?? []).length > 0}
|
||||||
<div class="mt-2.5" in:fade={{ duration: 100 }}>
|
<div class="mt-2.5" in:fade={{ duration: 100 }}>
|
||||||
<FollowUps
|
<FollowUps
|
||||||
followUps={message?.followUps}
|
followUps={message?.followUps}
|
||||||
onClick={(prompt) => {
|
onClick={(prompt) => {
|
||||||
if ($settings?.insertFollowUpPrompt ?? false) {
|
if ($settings?.insertFollowUpPrompt ?? false) {
|
||||||
// Insert the follow-up prompt into the input box
|
// Insert the follow-up prompt into the input box
|
||||||
setInputText(prompt);
|
setInputText(prompt);
|
||||||
} else {
|
} else {
|
||||||
// Submit the follow-up prompt directly
|
// Submit the follow-up prompt directly
|
||||||
submitMessage(message?.id, prompt);
|
submitMessage(message?.id, prompt);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue