diff --git a/src/components/chat-topics/chat-topics.tsx b/src/components/chat-topics/chat-topics.tsx index b5276fef1346e82a7f9ad26fcbbce5cc8cde7147..c2808270b733d626d174efd7731697fca9fd183f 100644 --- a/src/components/chat-topics/chat-topics.tsx +++ b/src/components/chat-topics/chat-topics.tsx @@ -36,7 +36,7 @@ export const ChatTopics = (props: ChatTopicProps) => { const topics = useSignal([]); useEffect(() => { - const currentTopic = props.controller.topics.value.sort((a, b) => { + const currentTopic = [...props.controller.topics.value].sort((a, b) => { // 第一优先级:置顶状态(true在前,false在后) if (a.isTop !== b.isTop) return b.isTop ? 1 : -1; // 第二优先级:sequence排序 diff --git a/src/controller/ai-chat/ai-chat.controller.ts b/src/controller/ai-chat/ai-chat.controller.ts index f4b332f310ffa124437d90b67df9a460b7b1e635..21501f80e061b6b7109cdcde2ce3c77072ce9cdc 100644 --- a/src/controller/ai-chat/ai-chat.controller.ts +++ b/src/controller/ai-chat/ai-chat.controller.ts @@ -958,17 +958,15 @@ export class AiChatController { this.params, tempData, ); - - if (result && result.data) { - const newMessage = result.data[0]; + const newMessage = result?.data?.[0]; + if (newMessage.content) this.addMessage({ messageid: createUUID(), state: 30, - type: 'DEFAULT', - role: 'ASSISTANT', - ...newMessage, + type: newMessage.type || 'DEFAULT', + role: newMessage.role || 'ASSISTANT', + content: newMessage.content, }); - } } break; case 'raw': diff --git a/src/controller/chat/chat.controller.ts b/src/controller/chat/chat.controller.ts index 319c0175bd87c0edcf12c4999cbbc1d269d43e94..0b5002a6154a41269e932ecdcc754d4d9ffed088 100644 --- a/src/controller/chat/chat.controller.ts +++ b/src/controller/chat/chat.controller.ts @@ -258,6 +258,10 @@ export class ChatController { topicOptions.id, ) as ChatTopic; + // 附加排序和置顶字段 + topicOptions.sequence = currentTopic.sequence; + topicOptions.isTop = currentTopic.isTop; + // 计算activeAIAgentID if ( currentTopic &&