refactor: 移除不必要的预设消息标记和适配器获取逻辑

This commit is contained in:
Jerry 2025-11-11 13:07:52 +08:00
parent 0d514b04f1
commit 8698e9db98
2 changed files with 4 additions and 7 deletions

View File

@ -95,8 +95,6 @@ async function index(e) {
if (!userMessage || userMessage.length === 0) { if (!userMessage || userMessage.length === 0) {
return e.reply(segment.image(await Meme.getMeme(aiConfig.character, 'default'))); return e.reply(segment.image(await Meme.getMeme(aiConfig.character, 'default')));
} }
const adapter = await YunzaiUtils.getAdapter(e);
await Message.emojiLike(e, e.message_id, 128064, e.group_id, adapter); //👀
const result = await processMessage(userMessage, e, aiConfig); const result = await processMessage(userMessage, e, aiConfig);
if (result && result.length > 0) { if (result && result.length > 0) {
// TODO 优化流式输出 // TODO 优化流式输出
@ -106,8 +104,6 @@ async function index(e) {
logger.error(`[crystelf-ai] 处理消息失败: ${error.message}`); logger.error(`[crystelf-ai] 处理消息失败: ${error.message}`);
const adapter = await YunzaiUtils.getAdapter(e); const adapter = await YunzaiUtils.getAdapter(e);
await Message.emojiLike(e, e.message_id, 10060, e.group_id, adapter); await Message.emojiLike(e, e.message_id, 10060, e.group_id, adapter);
const config = await ConfigControl.get();
const aiConfig = config?.ai;
//return e.reply(segment.image(await Meme.getMeme(aiConfig.character, 'default'))); //return e.reply(segment.image(await Meme.getMeme(aiConfig.character, 'default')));
} }
} }
@ -117,7 +113,7 @@ async function extractUserMessage(msg, nickname, e) {
let text = []; let text = [];
let at = []; let at = [];
e.message.forEach((message) => { e.message.forEach((message) => {
//logger.info(message); logger.info(message);
if (message.type === 'text' && (message.text !== '' || message.text !== '\n')) { if (message.type === 'text' && (message.text !== '' || message.text !== '\n')) {
text.push(message.text); text.push(message.text);
} else if (message.type === 'at') { } else if (message.type === 'at') {
@ -235,7 +231,7 @@ async function handleMixMode(userMessage, e, aiConfig) {
]; ];
let resMessage = { let resMessage = {
type: 'message', type: 'message',
data: matchResult.text + ' [词库预设消息]', data: matchResult.text,
at: false, at: false,
quote: false, quote: false,
recall: 0, recall: 0,
@ -269,6 +265,8 @@ async function callAiForResponse(userMessage, e, aiConfig) {
await Message.emojiLike(e, e.message_id, 128166, e.group_id, adapter); await Message.emojiLike(e, e.message_id, 128166, e.group_id, adapter);
return null; return null;
} }
const adapter = await YunzaiUtils.getAdapter(e);
await Message.emojiLike(e, e.message_id, 128064, e.group_id, adapter); //👀
//搜索相关记忆 //搜索相关记忆
const memories = await MemorySystem.searchMemories(e.user_id, e.msg || '', 5); const memories = await MemorySystem.searchMemories(e.user_id, e.msg || '', 5);
logger.info(`[crystelf-ai] ${memories}`); logger.info(`[crystelf-ai] ${memories}`);

View File

@ -63,7 +63,6 @@ export const RESPONSE_FORMAT = `请严格按照以下格式按顺序返回你的
关于上下文: 关于上下文:
1. 你会获得最近的上下文消息,请根据语境回复,可能会有不同的人发送消息,请以昵称和qq号区分 1. 你会获得最近的上下文消息,请根据语境回复,可能会有不同的人发送消息,请以昵称和qq号区分
2. 如果上下文消息中你的回复标记为[词库预设消息],那么代表这条消息没有经过你处理就通过关键词匹配发送给了用户,请核查这种消息(只需要核查最近的一条),如果回复不符合语境,那么在有需要的情况下跟用户说明(例如说明上一条消息是预设的等等)
示例 示例
[ [