feat: support structured cafe companion personas

This commit is contained in:
2026-09-15 09:06:30 +08:00
parent f8f6ee6a5e
commit dc188ed03d
3 changed files with 92 additions and 8 deletions

View File

@@ -26,9 +26,50 @@ export class RegisterCafeCompanionAgentDto {
@Length(1, 120, { message: '模型名称长度需在1-120字符之间' })
model!: string;
@IsString({ message: '人设指令必须是字符串' })
@Length(1, 4000, { message: '人设指令长度需在1-4000字符之间' })
persona_prompt!: string;
@IsOptional()
@IsString({ message: '补充人设指令必须是字符串' })
@Length(0, 4000, { message: '补充人设指令不能超过4000字符' })
persona_prompt?: string;
@IsOptional()
@IsString({ message: '身份必须是字符串' })
@Length(0, 500, { message: '身份不能超过500字符' })
identity?: string;
@IsOptional()
@IsString({ message: '职位必须是字符串' })
@Length(0, 200, { message: '职位不能超过200字符' })
job_title?: string;
@IsOptional()
@IsString({ message: '性格必须是字符串' })
@Length(0, 1000, { message: '性格不能超过1000字符' })
personality?: string;
@IsOptional()
@IsString({ message: '语气必须是字符串' })
@Length(0, 500, { message: '语气不能超过500字符' })
tone?: string;
@IsOptional()
@IsString({ message: '背景必须是字符串' })
@Length(0, 2000, { message: '背景不能超过2000字符' })
background?: string;
@IsOptional()
@IsString({ message: '喜好必须是字符串' })
@Length(0, 1000, { message: '喜好不能超过1000字符' })
preferences?: string;
@IsOptional()
@IsString({ message: '禁忌必须是字符串' })
@Length(0, 1000, { message: '禁忌不能超过1000字符' })
taboos?: string;
@IsOptional()
@IsString({ message: '话题必须是字符串' })
@Length(0, 1000, { message: '话题不能超过1000字符' })
topics?: string;
@IsOptional()
@IsString({ message: '欢迎语必须是字符串' })