From 840c151ab9ea7e384be37b774ea339264b5c0dc6 Mon Sep 17 00:00:00 2001 From: lvguanjun Date: Sun, 5 Jan 2025 11:22:53 +0800 Subject: [PATCH 1/2] fix: prevent message sync between forked sessions by generating unique IDs --- app/store/chat.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/store/chat.ts b/app/store/chat.ts index 63d7394ece6..7a476fa7f6e 100644 --- a/app/store/chat.ts +++ b/app/store/chat.ts @@ -214,7 +214,11 @@ export const useChatStore = createPersistStore( const newSession = createEmptySession(); newSession.topic = currentSession.topic; - newSession.messages = [...currentSession.messages]; + // 深拷贝消息 + newSession.messages = currentSession.messages.map(msg => ({ + ...msg, + id: nanoid(), // 生成新的消息 ID + })); newSession.mask = { ...currentSession.mask, modelConfig: { From c56587c438611e55251d930d038878e660145ad1 Mon Sep 17 00:00:00 2001 From: dupl <67990457+dupl@users.noreply.github.com> Date: Sun, 5 Jan 2025 20:34:18 +0800 Subject: [PATCH 2/2] Correct the typos in user-manual-cn.md --- docs/user-manual-cn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-manual-cn.md b/docs/user-manual-cn.md index 6109fcf57a4..4b0fd6e3229 100644 --- a/docs/user-manual-cn.md +++ b/docs/user-manual-cn.md @@ -82,7 +82,7 @@ 同时为了让 ChatGPT 理解我们对话的上下文,往往会携带多条历史消息来提供上下文信息,而当对话进行一段时间之后,很容易就会触发长度限制。 -为了解决此问题,我们增加了历史记录压缩功能,假设阈值为 1000 字符,那么每次用户产生的聊天记录超过 1000 字符时,都会将没有被总结过的消息,发送给 ChatGPT,让其产生一个 100 字所有的摘要。 +为了解决此问题,我们增加了历史记录压缩功能,假设阈值为 1000 字符,那么每次用户产生的聊天记录超过 1000 字符时,都会将没有被总结过的消息,发送给 ChatGPT,让其产生一个 100 字左右的摘要。 这样,历史信息就从 1000 字压缩到了 100 字,这是一种有损压缩,但已能满足大多数使用场景。