mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-01-03 02:55:29 +08:00
Feat: Add agent log-sheet in cavas and log-sheet in share's page (#9072)
### What problem does this PR solve? Feat: Add agent log-sheet in cavas and log-sheet in share's page #3221 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
import { SharedFrom } from '@/constants/chat';
|
||||
import { IEventList } from '@/hooks/use-send-message';
|
||||
import { useSendAgentMessage } from '@/pages/agent/chat/use-send-agent-message';
|
||||
import trim from 'lodash/trim';
|
||||
import { useSearchParams } from 'umi';
|
||||
@ -27,14 +28,16 @@ export const useGetSharedChatSearchParams = () => {
|
||||
};
|
||||
};
|
||||
|
||||
export function useSendNextSharedMessage() {
|
||||
export const useSendNextSharedMessage = (
|
||||
addEventList: (data: IEventList, messageId: string) => void,
|
||||
) => {
|
||||
const { from, sharedId: conversationId } = useGetSharedChatSearchParams();
|
||||
const url = `/api/v1/${from === SharedFrom.Agent ? 'agentbots' : 'chatbots'}/${conversationId}/completions`;
|
||||
|
||||
const ret = useSendAgentMessage(url);
|
||||
const ret = useSendAgentMessage(url, addEventList);
|
||||
|
||||
return {
|
||||
...ret,
|
||||
hasError: false,
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
@ -11,6 +11,7 @@ import {
|
||||
} from '@/hooks/use-agent-request';
|
||||
import { cn } from '@/lib/utils';
|
||||
import i18n from '@/locales/config';
|
||||
import { useCacheChatLog } from '@/pages/agent/hooks/use-cache-chat-log';
|
||||
import { useSendButtonDisabled } from '@/pages/chat/hooks';
|
||||
import { buildMessageUuidWithRole } from '@/utils/chat';
|
||||
import React, { forwardRef, useCallback, useMemo } from 'react';
|
||||
@ -31,7 +32,13 @@ const ChatContainer = () => {
|
||||
|
||||
const { uploadCanvasFile, loading } =
|
||||
useUploadCanvasFileWithProgress(conversationId);
|
||||
|
||||
const {
|
||||
addEventList,
|
||||
setCurrentMessageId,
|
||||
currentEventListWithoutMessageById,
|
||||
clearEventList,
|
||||
currentMessageId,
|
||||
} = useCacheChatLog();
|
||||
const {
|
||||
handlePressEnter,
|
||||
handleInputChange,
|
||||
@ -43,9 +50,22 @@ const ChatContainer = () => {
|
||||
stopOutputMessage,
|
||||
findReferenceByMessageId,
|
||||
appendUploadResponseList,
|
||||
} = useSendNextSharedMessage();
|
||||
} = useSendNextSharedMessage(addEventList);
|
||||
|
||||
const sendDisabled = useSendButtonDisabled(value);
|
||||
|
||||
// useEffect(() => {
|
||||
// if (derivedMessages.length) {
|
||||
// const derivedMessagesFilter = derivedMessages.filter(
|
||||
// (message) => message.role === MessageType.Assistant,
|
||||
// );
|
||||
// if (derivedMessagesFilter.length) {
|
||||
// const message = derivedMessagesFilter[derivedMessagesFilter.length - 1];
|
||||
// setCurrentMessageId(message.id);
|
||||
// }
|
||||
// }
|
||||
// }, [derivedMessages, setCurrentMessageId]);
|
||||
|
||||
const useFetchAvatar = useMemo(() => {
|
||||
return from === SharedFrom.Agent
|
||||
? useFetchAgentAvatar
|
||||
@ -81,6 +101,11 @@ const ChatContainer = () => {
|
||||
return (
|
||||
<MessageItem
|
||||
visibleAvatar={visibleAvatar}
|
||||
conversationId={conversationId}
|
||||
currentEventListWithoutMessageById={
|
||||
currentEventListWithoutMessageById
|
||||
}
|
||||
setCurrentMessageId={setCurrentMessageId}
|
||||
key={buildMessageUuidWithRole(message)}
|
||||
avatarDialog={avatarData.avatar}
|
||||
item={message}
|
||||
@ -103,7 +128,6 @@ const ChatContainer = () => {
|
||||
</div>
|
||||
<div ref={ref} />
|
||||
</div>
|
||||
|
||||
<NextMessageInput
|
||||
isShared
|
||||
value={value}
|
||||
|
||||
Reference in New Issue
Block a user