add chat sys prompts to settings

This commit is contained in:
Julian Freeman
2026-04-05 11:53:43 -04:00
parent 9dbce266b4
commit e2b6340446
3 changed files with 118 additions and 13 deletions

View File

@@ -11,9 +11,6 @@ import {
LANGUAGES,
SPEAKER_IDENTITY_OPTIONS,
TONE_REGISTER_OPTIONS,
CONVERSATION_SYSTEM_PROMPT_TEMPLATE,
CONVERSATION_EVALUATION_PROMPT_TEMPLATE,
CONVERSATION_REFINEMENT_PROMPT_TEMPLATE,
type Participant
} from '../stores/settings';
import { cn } from '../lib/utils';
@@ -169,7 +166,7 @@ const translateMessage = async (sender: 'me' | 'partner') => {
const toLang = sender === 'me' ? activeSession.value.partner.language : activeSession.value.me.language;
const myToneLabel = TONE_REGISTER_OPTIONS.find(o => o.value === activeSession.value!.me.tone)?.label || '随和';
const systemPrompt = CONVERSATION_SYSTEM_PROMPT_TEMPLATE
const systemPrompt = settings.chatSystemPromptTemplate
.replace(/{ME_NAME}/g, activeSession.value.me.name)
.replace(/{ME_GENDER}/g, activeSession.value.me.gender)
.replace(/{ME_LANG}/g, activeSession.value.me.language.englishName)
@@ -245,7 +242,7 @@ const evaluateMessage = async (messageId: string, force = false) => {
? (TONE_REGISTER_OPTIONS.find(o => o.value === activeSession.value!.me.tone)?.label || '随和')
: '自动识别 (保留原作者原始语气和情绪)';
const systemPrompt = CONVERSATION_EVALUATION_PROMPT_TEMPLATE
const systemPrompt = settings.chatEvaluationPromptTemplate
.replace(/{ME_NAME}/g, activeSession.value.me.name)
.replace(/{ME_GENDER}/g, activeSession.value.me.gender)
.replace(/{ME_LANG}/g, activeSession.value.me.language.englishName)
@@ -337,7 +334,7 @@ const refineMessage = async (messageId: string) => {
// 确定目标语气
const targetTone = msg.sender === 'me' ? myToneLabel : '自动识别 (保持原作者原始语气和情绪)';
const systemPrompt = CONVERSATION_REFINEMENT_PROMPT_TEMPLATE
const systemPrompt = settings.chatRefinementPromptTemplate
.replace(/{ME_NAME}/g, activeSession.value.me.name)
.replace(/{ME_GENDER}/g, activeSession.value.me.gender)
.replace(/{ME_LANG}/g, activeSession.value.me.language.englishName)
@@ -345,6 +342,7 @@ const refineMessage = async (messageId: string) => {
.replace(/{PART_GENDER}/g, activeSession.value.partner.gender)
.replace(/{PART_LANG}/g, activeSession.value.partner.language.englishName)
.replace(/{HISTORY_BLOCK}/g, historyBlock || 'None')
.replace(/{ORIGINAL_TEXT}/g, msg.original)
.replace(/{CURRENT_TRANSLATION}/g, msg.translated)
.replace(/{SUGGESTIONS}/g, suggestionsText)
.replace(/{TARGET_TONE}/g, targetTone);