From e52e8ce2cc44b4e8cc950fe6811810db4142921d Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Mon, 2 Feb 2026 08:18:49 +0300 Subject: Enha: consolidate assistant messages only --- llm.go | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) (limited to 'llm.go') diff --git a/llm.go b/llm.go index d6e4d13..a4162b7 100644 --- a/llm.go +++ b/llm.go @@ -19,18 +19,19 @@ func addPersonaSuffixToLastUserMessage(messages []models.RoleMsg, persona string if len(messages) == 0 { return messages } - - // Find the last user message to modify - for i := len(messages) - 1; i >= 0; i-- { - if messages[i].Role == cfg.UserRole || messages[i].Role == "user" { - // Create a copy of the message to avoid modifying the original - modifiedMsg := messages[i] - modifiedMsg.Content = modifiedMsg.Content + "\n" + persona + ":" - messages[i] = modifiedMsg - break - } - } - + // // Find the last user message to modify + // for i := len(messages) - 1; i >= 0; i-- { + // if messages[i].Role == cfg.UserRole || messages[i].Role == "user" { + // // Create a copy of the message to avoid modifying the original + // modifiedMsg := messages[i] + // modifiedMsg.Content = modifiedMsg.Content + "\n" + persona + ":" + // messages[i] = modifiedMsg + // break + // } + // } + modifiedMsg := messages[len(messages)-1] + modifiedMsg.Content = modifiedMsg.Content + "\n" + persona + ":\n" + messages[len(messages)-1] = modifiedMsg return messages } @@ -329,14 +330,10 @@ func (op LCPChat) FormMsg(msg, role string, resume bool) (io.Reader, error) { } // openai /v1/chat does not support custom roles; needs to be user, assistant, system filteredMessages, botPersona := filterMessagesForCurrentCharacter(chatBody.Messages) - // Add persona suffix to the last user message to indicate who the assistant should reply as - if !resume && cfg.WriteNextMsgAsCompletionAgent != "" { - filteredMessages = addPersonaSuffixToLastUserMessage(filteredMessages, cfg.WriteNextMsgAsCompletionAgent) - } else if !resume { + if !resume { filteredMessages = addPersonaSuffixToLastUserMessage(filteredMessages, botPersona) } - bodyCopy := &models.ChatBody{ Messages: make([]models.RoleMsg, len(filteredMessages)), Model: chatBody.Model, -- cgit v1.2.3