diff --git a/web/src/hooks/useMessageActions.js b/web/src/hooks/useMessageActions.js index 2cabff73..aa43f8a5 100644 --- a/web/src/hooks/useMessageActions.js +++ b/web/src/hooks/useMessageActions.js @@ -163,20 +163,26 @@ export const useMessageActions = (message, setMessage, onMessageSend) => { // 切换角色 const handleRoleToggle = useCallback((targetMessage) => { + if (!(targetMessage.role === 'assistant' || targetMessage.role === 'system')) { + return; + } + + const newRole = targetMessage.role === 'assistant' ? 'system' : 'assistant'; + setMessage(prevMessages => { return prevMessages.map(msg => { if (msg.id === targetMessage.id && (msg.role === 'assistant' || msg.role === 'system')) { - const newRole = msg.role === 'assistant' ? 'system' : 'assistant'; - Toast.success({ - content: t(`已切换为${newRole === 'system' ? 'System' : 'Assistant'}角色`), - duration: 2, - }); return { ...msg, role: newRole }; } return msg; }); }); + + Toast.success({ + content: t(`已切换为${newRole === 'system' ? 'System' : 'Assistant'}角色`), + duration: 2, + }); }, [setMessage, t]); return { diff --git a/web/src/pages/Playground/index.js b/web/src/pages/Playground/index.js index a76291ed..2a37d2b7 100644 --- a/web/src/pages/Playground/index.js +++ b/web/src/pages/Playground/index.js @@ -413,7 +413,6 @@ const Playground = () => { onMessageCopy={messageActions.handleMessageCopy} onMessageReset={messageActions.handleMessageReset} onMessageDelete={messageActions.handleMessageDelete} - onRoleToggle={messageActions.handleRoleToggle} onStopGenerator={onStopGenerator} onClearMessages={() => setMessage([])} onToggleDebugPanel={() => setShowDebugPanel(!showDebugPanel)}