| 
					
				 | 
			
			
				@@ -100,7 +100,7 @@ export const useChat = ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const handleUpdateChatList = useCallback((newChatList: ChatItem[]) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setChatList(newChatList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     chatListRef.current = newChatList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, [setChatList]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const handleResponsing = useCallback((isResponsing: boolean) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setIsResponsing(isResponsing) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     isResponsingRef.current = isResponsing 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -110,19 +110,29 @@ export const useChat = ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return replaceStringWithValues(str, promptVariablesConfig?.promptVariables || [], promptVariablesConfig?.inputs || {}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, [promptVariablesConfig?.inputs, promptVariablesConfig?.promptVariables]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (config?.opening_statement && chatListRef.current.filter(item => item.isOpeningStatement).length === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      handleUpdateChatList([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          id: `${Date.now()}`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          content: getIntroduction(config.opening_statement), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          isAnswer: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          isOpeningStatement: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          suggestedQuestions: config.suggested_questions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ...chatListRef.current, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (config?.opening_statement) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handleUpdateChatList(produce(chatListRef.current, (draft) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const index = draft.findIndex(item => item.isOpeningStatement) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (index > -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          draft[index] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ...draft[index], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content: getIntroduction(config.opening_statement), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            suggestedQuestions: config.suggested_questions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          draft.unshift({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            id: `${Date.now()}`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            content: getIntroduction(config.opening_statement), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isAnswer: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isOpeningStatement: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            suggestedQuestions: config.suggested_questions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      })) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, [config?.opening_statement, getIntroduction, config?.suggested_questions, handleUpdateChatList]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const handleStop = useCallback(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     hasStopResponded.current = true 
			 |