diff --git a/src/index.ts b/src/index.ts index 4e170ea..4857ec5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -409,8 +409,8 @@ function main() { return ret; } default: { - if (s.length > 20) { - seal.replyToSender(ctx, msg, '设定过长,请控制在20字以内'); + if (s.length > 65536) { + seal.replyToSender(ctx, msg, '设定过长,请控制在65536字以内'); return ret; } ai2.memory.persona = s; @@ -477,8 +477,8 @@ function main() { return ret; } default: { - if (s.length > 30) { - seal.replyToSender(ctx, msg, '设定过长,请控制在30字以内'); + if (s.length > 65536) { + seal.replyToSender(ctx, msg, '设定过长,请控制在65536字以内'); return ret; } ai.memory.persona = s; diff --git a/src/utils/utils_string.ts b/src/utils/utils_string.ts index 1c109ed..c0b4a8c 100644 --- a/src/utils/utils_string.ts +++ b/src/utils/utils_string.ts @@ -6,6 +6,16 @@ import { ConfigManager } from "../config/config"; import { transformMsgIdBack } from "./utils"; import { AI } from "../AI/AI"; +function removeThinkingChains(text: string): string { + // 移除 ... 标签(大小写不敏感,支持多行) + text = text.replace(//gi, ''); + + // 移除 注释(支持多行) + text = text.replace(//g, ''); + + return text; +} + export function transformTextToArray(s: string): { type: string, data: { [key: string]: string } }[] { const segments = s.split(/(\[CQ:.*?\])/).filter(segment => segment); const messageArray: { type: string, data: { [key: string]: string } }[] = []; @@ -78,6 +88,9 @@ export function transformArrayToText(messageArray: { type: string, data: { [key: } export async function handleReply(ctx: seal.MsgContext, msg: seal.Message, ai: AI, s: string): Promise<{ contextArray: string[], replyArray: string[], images: Image[] }> { + // 移除思维链内容 + s = removeThinkingChains(s); + const { replymsg, isTrim } = ConfigManager.reply; // 分离AI臆想出来的多轮对话