@@ -30,6 +30,11 @@ import {
|
||||
getFunctionById,
|
||||
getFunctionPromptDescription,
|
||||
} from '../data/stateFunctions';
|
||||
import type { StoryGenerationContext } from '../services/aiTypes';
|
||||
import { buildCustomWorldReferenceText } from '../services/customWorld';
|
||||
import { sanitizePromptNarrativeText } from '../services/narrativeLanguage';
|
||||
import { describeGoalStackForPrompt } from '../services/storyEngine/goalDirector';
|
||||
import { buildStoryPromptHistory } from '../services/storyHistory';
|
||||
import {
|
||||
Character,
|
||||
CharacterGender,
|
||||
@@ -40,11 +45,6 @@ import {
|
||||
StoryOption,
|
||||
WorldType,
|
||||
} from '../types';
|
||||
import type { StoryGenerationContext } from '../services/aiTypes';
|
||||
import { buildCustomWorldReferenceText } from '../services/customWorld';
|
||||
import { sanitizePromptNarrativeText } from '../services/narrativeLanguage';
|
||||
import { describeGoalStackForPrompt } from '../services/storyEngine/goalDirector';
|
||||
import { buildStoryPromptHistory } from '../services/storyHistory';
|
||||
|
||||
export const SYSTEM_PROMPT = `你是角色扮演 RPG 的剧情推进者,只能返回 JSON 对象,不能输出解释、markdown 或代码块。
|
||||
输出格式必须严格符合:
|
||||
@@ -1817,8 +1817,11 @@ export function buildStrictNpcChatDialoguePrompt(
|
||||
'不要让对方在聊天里推进交易、招募、切磋、战斗、送礼、求助、离开、继续前进、切换场景等其他 function。',
|
||||
'不要替玩家做选择,不要用建议句、命令句或诱导句把聊天写成别的行为入口。',
|
||||
'低揭示阶段时,宁可留钩子、先谈眼前局势,也不要把完整来历和目标一次说完。',
|
||||
context.isFirstMeaningfulContact
|
||||
? '如果这是第一次真正接触,对方第一次开口必须先用一句自然招呼或开场判断起手,不能写成“某人看着你,像是在等你把话接下去”这类第三人称占位旁白。'
|
||||
: null,
|
||||
'如果当前情景是初见或刚打完一轮冲突,优先写短句、观察句和试探句,不要写成正式自我介绍。',
|
||||
].join('\n\n');
|
||||
].filter(Boolean).join('\n\n');
|
||||
}
|
||||
|
||||
export function buildNpcRecruitDialoguePrompt(
|
||||
|
||||
Reference in New Issue
Block a user