- {isAssistant ? 'Resume Assistant' : 'You'}
+ {isAssistant ? '' : userInfo.nickname}
{
return finalParameters;
};
+export const useSelectCurrentDialog = () => {
+ const currentDialog: IDialog = useSelector(
+ (state: any) => state.chatModel.currentDialog,
+ );
+
+ return currentDialog;
+};
+
export const useRemoveDialog = () => {
const dispatch = useDispatch();
@@ -404,6 +412,8 @@ export const useSelectCurrentConversation = () => {
const conversation: IClientConversation = useSelector(
(state: any) => state.chatModel.currentConversation,
);
+ const dialog = useSelectCurrentDialog();
+ const { conversationId } = useGetChatSearchParams();
const addNewestConversation = useCallback((message: string) => {
setCurrentConversation((pre) => {
@@ -421,13 +431,30 @@ export const useSelectCurrentConversation = () => {
});
}, []);
- useEffect(() => {
- console.info('useSelectCurrentConversation: 1', currentConversation);
- }, [currentConversation]);
+ const addPrologue = useCallback(() => {
+ if (conversationId === '') {
+ const prologue = dialog.prompt_config?.prologue;
+
+ const nextMessage = {
+ role: MessageType.Assistant,
+ content: prologue,
+ id: uuid(),
+ } as IMessage;
+
+ setCurrentConversation({
+ id: '',
+ dialog_id: dialog.id,
+ reference: [],
+ message: [nextMessage],
+ } as any);
+ }
+ }, [conversationId, dialog]);
useEffect(() => {
- console.info('useSelectCurrentConversation: 2', conversation);
+ addPrologue();
+ }, [addPrologue]);
+ useEffect(() => {
setCurrentConversation(conversation);
}, [conversation]);
@@ -472,7 +499,6 @@ export const useScrollToBottom = (currentConversation: IClientConversation) => {
export const useFetchConversationOnMount = () => {
const { conversationId } = useGetChatSearchParams();
- const setCurrentConversation = useSetCurrentConversation();
const fetchConversation = useFetchConversation();
const { currentConversation, addNewestConversation } =
useSelectCurrentConversation();
@@ -481,10 +507,8 @@ export const useFetchConversationOnMount = () => {
const fetchConversationOnMount = useCallback(() => {
if (isConversationIdExist(conversationId)) {
fetchConversation(conversationId);
- } else {
- setCurrentConversation({} as IClientConversation);
}
- }, [fetchConversation, setCurrentConversation, conversationId]);
+ }, [fetchConversation, conversationId]);
useEffect(() => {
fetchConversationOnMount();
diff --git a/web/src/pages/chat/index.less b/web/src/pages/chat/index.less
index e3b5f89949..cb1546f203 100644
--- a/web/src/pages/chat/index.less
+++ b/web/src/pages/chat/index.less
@@ -1,5 +1,6 @@
.chatWrapper {
height: 100%;
+ width: 100%;
.chatAppWrapper {
width: 288px;