mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-19 16:19:12 +08:00
fix: variable in opener (#2437)
This commit is contained in:
parent
23e95fd7ab
commit
0850c953b3
@ -36,8 +36,9 @@ const ChatWrapper = () => {
|
|||||||
return {
|
return {
|
||||||
...config,
|
...config,
|
||||||
supportFeedback: true,
|
supportFeedback: true,
|
||||||
|
opening_statement: currentConversationId ? currentConversationItem?.introduction : (config as any).opening_statement,
|
||||||
} as ChatConfig
|
} as ChatConfig
|
||||||
}, [appParams])
|
}, [appParams, currentConversationItem?.introduction, currentConversationId])
|
||||||
const {
|
const {
|
||||||
chatList,
|
chatList,
|
||||||
handleSend,
|
handleSend,
|
||||||
@ -46,7 +47,10 @@ const ChatWrapper = () => {
|
|||||||
suggestedQuestions,
|
suggestedQuestions,
|
||||||
} = useChat(
|
} = useChat(
|
||||||
appConfig,
|
appConfig,
|
||||||
undefined,
|
{
|
||||||
|
inputs: (currentConversationId ? currentConversationItem?.inputs : newConversationInputs) as any,
|
||||||
|
promptVariables: inputsForms,
|
||||||
|
},
|
||||||
appPrevChatList,
|
appPrevChatList,
|
||||||
taskId => stopChatMessageResponding('', taskId, isInstalledApp, appId),
|
taskId => stopChatMessageResponding('', taskId, isInstalledApp, appId),
|
||||||
)
|
)
|
||||||
|
@ -100,7 +100,7 @@ export const useChat = (
|
|||||||
const handleUpdateChatList = useCallback((newChatList: ChatItem[]) => {
|
const handleUpdateChatList = useCallback((newChatList: ChatItem[]) => {
|
||||||
setChatList(newChatList)
|
setChatList(newChatList)
|
||||||
chatListRef.current = newChatList
|
chatListRef.current = newChatList
|
||||||
}, [setChatList])
|
}, [])
|
||||||
const handleResponsing = useCallback((isResponsing: boolean) => {
|
const handleResponsing = useCallback((isResponsing: boolean) => {
|
||||||
setIsResponsing(isResponsing)
|
setIsResponsing(isResponsing)
|
||||||
isResponsingRef.current = isResponsing
|
isResponsingRef.current = isResponsing
|
||||||
@ -110,19 +110,29 @@ export const useChat = (
|
|||||||
return replaceStringWithValues(str, promptVariablesConfig?.promptVariables || [], promptVariablesConfig?.inputs || {})
|
return replaceStringWithValues(str, promptVariablesConfig?.promptVariables || [], promptVariablesConfig?.inputs || {})
|
||||||
}, [promptVariablesConfig?.inputs, promptVariablesConfig?.promptVariables])
|
}, [promptVariablesConfig?.inputs, promptVariablesConfig?.promptVariables])
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (config?.opening_statement && chatListRef.current.filter(item => item.isOpeningStatement).length === 0) {
|
if (config?.opening_statement) {
|
||||||
handleUpdateChatList([
|
handleUpdateChatList(produce(chatListRef.current, (draft) => {
|
||||||
{
|
const index = draft.findIndex(item => item.isOpeningStatement)
|
||||||
id: `${Date.now()}`,
|
|
||||||
content: getIntroduction(config.opening_statement),
|
if (index > -1) {
|
||||||
isAnswer: true,
|
draft[index] = {
|
||||||
isOpeningStatement: true,
|
...draft[index],
|
||||||
suggestedQuestions: config.suggested_questions,
|
content: getIntroduction(config.opening_statement),
|
||||||
},
|
suggestedQuestions: config.suggested_questions,
|
||||||
...chatListRef.current,
|
}
|
||||||
])
|
}
|
||||||
|
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(() => {
|
const handleStop = useCallback(() => {
|
||||||
hasStopResponded.current = true
|
hasStopResponded.current = true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user