This commit is contained in:
2025-09-19 18:20:10 +08:00
parent 249f32c25f
commit 15cddb6474
3 changed files with 56 additions and 30 deletions
+32 -16
View File
@@ -1,5 +1,8 @@
import { AiCharacters } from "../../schema/schema";
import { ConfigManager } from "../manager/ConfigManager";
import { AiCharacterConfig } from "../config/AiCharacterConfig";
import { DataId, DataManager } from "../data/DataManager";
import { GlobalData } from "../data/GlobalData";
import { ConfigId, ConfigManager } from "../manager/ConfigManager";
/**
* 角色配置映射
@@ -12,17 +15,18 @@ export class RoleConfigLoader {
* @returns System Instruction字符串,如果未找到则返回默认Role_1
*/
public static getRoleInstruction(roleId: number): string {
const AiCharacter = ConfigManager.tables.TbAiCharacters.get(roleId);
const globalPrompt = ConfigManager.tables.TbGlobalConfig.girlBasePrompt;
const prompt =
globalPrompt +
"\n" +
AiCharacter.basePrompt +
"\n" +
AiCharacter.additionPrompt;
const aiCharacter = ConfigManager.I.getDataById<AiCharacterConfig>(
ConfigId.AiCharacter
);
const globalConfig = DataManager.I.getDataById<GlobalData>(DataId.Global);
console.log(AiCharacter.basePrompt);
console.log(AiCharacter.additionPrompt);
const basePrompt = aiCharacter.getBasePromptById(roleId);
const additionPrompt = aiCharacter.getAdditionPromptById(roleId);
const globalPrompt = globalConfig.getGirlBasePrompt();
const prompt = globalPrompt + "\n" + basePrompt + "\n" + additionPrompt;
console.log(basePrompt);
console.log(additionPrompt);
return prompt;
}
@@ -32,9 +36,15 @@ export class RoleConfigLoader {
* @returns System Instruction字符串,如果未找到则返回默认Role_1
*/
public static getEmotionInstruction(roleId: number): string {
const AiCharacter = ConfigManager.tables.TbAiCharacters.get(roleId);
const globalPrompt = ConfigManager.tables.TbGlobalConfig.EmotionBasePrompt;
const prompt = globalPrompt + "\n" + AiCharacter.basePrompt;
const aiCharacter = ConfigManager.I.getDataById<AiCharacterConfig>(
ConfigId.AiCharacter
);
const globalConfig = DataManager.I.getDataById<GlobalData>(DataId.Global);
const basePrompt = aiCharacter.getBasePromptById(roleId);
////globalConfig没有emotionBasePrompt数据 请补充并替换下行
const globalPrompt = globalConfig.getEmotionBasePrompt();
const prompt = globalPrompt + "\n" + basePrompt;
return prompt;
}
@@ -43,13 +53,19 @@ export class RoleConfigLoader {
* @param roleId 角色ID
*/
public static hasRole(roleId: number): boolean {
return ConfigManager.tables.TbAiCharacters.get(roleId) != null;
const aiCharacter = ConfigManager.I.getDataById<AiCharacterConfig>(
ConfigId.AiCharacter
);
return aiCharacter.getBasePromptById(roleId) != null;
}
/**
* 获取所有配置的角色ID
*/
public static getAllRoles(): AiCharacters[] {
return ConfigManager.tables.TbAiCharacters.getDataList();
const aiCharacter = ConfigManager.I.getDataById<AiCharacterConfig>(
ConfigId.AiCharacter
);
return aiCharacter.getAllId();
}
}