diff --git a/src/renderer/src/databases/upgrades.ts b/src/renderer/src/databases/upgrades.ts index fae8a74719..cb1e770db0 100644 --- a/src/renderer/src/databases/upgrades.ts +++ b/src/renderer/src/databases/upgrades.ts @@ -281,7 +281,6 @@ export async function upgradeToV7(tx: Transaction): Promise { modelId: oldMessage.modelId, model: oldMessage.model, type: oldMessage.type === 'clear' ? 'clear' : undefined, - isPreset: oldMessage.isPreset, useful: oldMessage.useful, askId: oldMessage.askId, mentions: oldMessage.mentions, diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index c31ae341e6..a9aa935dfd 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -30,16 +30,7 @@ "agent": "Export Agent" }, "delete.popup.content": "Are you sure you want to delete this agent?", - "edit.message.add.title": "Add", - "edit.message.assistant.placeholder": "Enter assistant message", - "edit.message.assistant.title": "Assistant", - "edit.message.empty.content": "Conversation input content cannot be empty", - "edit.message.group.title": "Message Group", - "edit.message.title": "Preset messages", - "edit.message.user.placeholder": "Enter user message", - "edit.message.user.title": "User", "edit.model.select.title": "Select Model", - "edit.settings.hide_preset_messages": "Hide Preset Message", "edit.title": "Edit Agent", "manage.title": "Manage Agents", "my_agents": "My Agents", @@ -76,7 +67,6 @@ "settings.mcp.noServersAvailable": "No MCP servers available. Add servers in settings", "settings.mcp.description": "Default enabled MCP servers", "settings.model": "Model Settings", - "settings.preset_messages": "Preset Messages", "settings.prompt": "Prompt Settings", "settings.reasoning_effort": "Reasoning effort", "settings.reasoning_effort.off": "Off", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 8467a1c1b2..0c558b7d47 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -30,16 +30,7 @@ "agent": "エージェントをエクスポート" }, "delete.popup.content": "このエージェントを削除してもよろしいですか?", - "edit.message.add.title": "追加", - "edit.message.assistant.placeholder": "アシスタントのメッセージを入力", - "edit.message.assistant.title": "アシスタント", - "edit.message.empty.content": "会話の入力内容が空です", - "edit.message.group.title": "メッセージグループ", - "edit.message.title": "プリセットメッセージ", - "edit.message.user.placeholder": "ユーザーメッセージを入力", - "edit.message.user.title": "ユーザー", "edit.model.select.title": "モデルを選択", - "edit.settings.hide_preset_messages": "プリセットメッセージを非表示", "edit.title": "エージェントを編集", "manage.title": "エージェントを管理", "my_agents": "マイエージェント", @@ -76,7 +67,6 @@ "settings.default_model": "デフォルトモデル", "settings.knowledge_base": "ナレッジベース設定", "settings.model": "モデル設定", - "settings.preset_messages": "プリセットメッセージ", "settings.prompt": "プロンプト設定", "settings.reasoning_effort": "思考連鎖の長さ", "settings.reasoning_effort.off": "オフ", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 2aae5c5baa..b461be3c76 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -11,16 +11,7 @@ "add.prompt.variables.tip": "Доступные переменные: {{date}}, {{time}}, {{datetime}}, {{system}}, {{arch}}, {{language}}, {{model_name}}", "add.title": "Создать агента", "delete.popup.content": "Вы уверены, что хотите удалить этого агента?", - "edit.message.add.title": "Добавить", - "edit.message.assistant.placeholder": "Введите сообщение ассистента", - "edit.message.assistant.title": "Ассистент", - "edit.message.empty.content": "Содержание вводимого сообщения не может быть пустым", - "edit.message.group.title": "Группа сообщений", - "edit.message.title": "Предустановленные сообщения", - "edit.message.user.placeholder": "Введите сообщение пользователя", - "edit.message.user.title": "Пользователь", "edit.model.select.title": "Выбрать модель", - "edit.settings.hide_preset_messages": "Скрыть предустановленные сообщения", "edit.title": "Редактировать агента", "manage.title": "Редактировать агентов", "my_agents": "Мои агенты", @@ -76,7 +67,6 @@ "settings.default_model": "Модель по умолчанию", "settings.knowledge_base": "Настройки базы знаний", "settings.model": "Настройки модели", - "settings.preset_messages": "Предустановленные сообщения", "settings.prompt": "Настройки промптов", "settings.reasoning_effort.off": "Выключить", "settings.reasoning_effort.high": "Стараюсь думать", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 04feec6f3b..4f9b6c2fae 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -30,16 +30,7 @@ "agent": "导出智能体" }, "delete.popup.content": "确定要删除此智能体吗?", - "edit.message.add.title": "添加", - "edit.message.assistant.placeholder": "输入助手消息", - "edit.message.assistant.title": "助手", - "edit.message.empty.content": "会话输入内容不能为空", - "edit.message.group.title": "消息组", - "edit.message.title": "预设消息", - "edit.message.user.placeholder": "输入用户消息", - "edit.message.user.title": "用户", "edit.model.select.title": "选择模型", - "edit.settings.hide_preset_messages": "隐藏预设消息", "edit.title": "编辑智能体", "manage.title": "管理智能体", "my_agents": "我的智能体", @@ -83,7 +74,6 @@ "settings.tool_use_mode.function": "函数", "settings.tool_use_mode.prompt": "提示词", "settings.model": "模型设置", - "settings.preset_messages": "预设消息", "settings.prompt": "提示词设置", "settings.reasoning_effort": "思维链长度", "settings.reasoning_effort.off": "关闭", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index b205a7d8d0..61bd018af2 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -30,16 +30,7 @@ "agent": "匯出智慧代理人" }, "delete.popup.content": "確定要刪除此智慧代理人嗎?", - "edit.message.add.title": "新增", - "edit.message.assistant.placeholder": "輸入助手訊息", - "edit.message.assistant.title": "助手", - "edit.message.empty.content": "會話輸入內容不能為空", - "edit.message.group.title": "訊息分組", - "edit.message.title": "預設訊息", - "edit.message.user.placeholder": "輸入使用者訊息", - "edit.message.user.title": "使用者", "edit.model.select.title": "選擇模型", - "edit.settings.hide_preset_messages": "隱藏預設訊息", "edit.title": "編輯智慧代理人", "manage.title": "管理智慧代理人", "my_agents": "我的智慧代理人", @@ -76,7 +67,6 @@ "settings.default_model": "預設模型", "settings.knowledge_base": "知識庫設定", "settings.model": "模型設定", - "settings.preset_messages": "預設訊息", "settings.prompt": "提示詞設定", "settings.reasoning_effort": "思維鏈長度", "settings.reasoning_effort.off": "關閉", diff --git a/src/renderer/src/i18n/translate/el-gr.json b/src/renderer/src/i18n/translate/el-gr.json index 5ea7d99b94..c54f7e5253 100644 --- a/src/renderer/src/i18n/translate/el-gr.json +++ b/src/renderer/src/i18n/translate/el-gr.json @@ -10,16 +10,7 @@ "add.prompt.placeholder": "Εισαγάγετε φράση προκαλέσεως", "add.title": "Δημιουργία νέου ειδικού", "delete.popup.content": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτόν τον ειδικό;", - "edit.message.add.title": "Προσθήκη", - "edit.message.assistant.placeholder": "Εισαγάγετε μήνυμα βοηθού", - "edit.message.assistant.title": "Βοηθός", - "edit.message.empty.content": "Το περιεχόμενο του συνομιλητή δεν μπορεί να είναι κενό.", - "edit.message.group.title": "Ομάδα μηνυμάτων", - "edit.message.title": "Προεπιλογές μηνυμάτων", - "edit.message.user.placeholder": "Εισαγάγετε μήνυμα χρήστη", - "edit.message.user.title": "Χρήστης", "edit.model.select.title": "Επιλογή μοντέλου", - "edit.settings.hide_preset_messages": "Απόκρυψη προεπιλογών μηνυμάτων", "edit.title": "Επεξεργασία ειδικού", "manage.title": "Διαχείριση ειδικών", "my_agents": "Οι ειδικοί μου", @@ -64,7 +55,6 @@ "settings.default_model": "Προεπιλεγμένο μοντέλο", "settings.knowledge_base": "Ρυθμίσεις βάσης γνώσεων", "settings.model": "Ρυθμίσεις μοντέλου", - "settings.preset_messages": "Προεπιλεγμένα μηνύματα", "settings.prompt": "Ρυθμίσεις προκαλύμματος", "settings.reasoning_effort": "Μήκος λογισμικού αλυσίδας", "settings.reasoning_effort.high": "Μεγάλο", diff --git a/src/renderer/src/i18n/translate/es-es.json b/src/renderer/src/i18n/translate/es-es.json index d0a1c588d0..9496124331 100644 --- a/src/renderer/src/i18n/translate/es-es.json +++ b/src/renderer/src/i18n/translate/es-es.json @@ -10,16 +10,7 @@ "add.prompt.placeholder": "Ingrese la palabra clave", "add.title": "Crear agente inteligente", "delete.popup.content": "¿Está seguro de que desea eliminar este agente inteligente?", - "edit.message.add.title": "Agregar", - "edit.message.assistant.placeholder": "Ingrese el mensaje del asistente", - "edit.message.assistant.title": "Asistente", - "edit.message.empty.content": "El contenido de la sesión de chat no puede estar vacío", - "edit.message.group.title": "Grupo de mensajes", - "edit.message.title": "Mensaje predeterminado", - "edit.message.user.placeholder": "Ingrese el mensaje del usuario", - "edit.message.user.title": "Usuario", "edit.model.select.title": "Seleccionar modelo", - "edit.settings.hide_preset_messages": "Ocultar mensajes predeterminados", "edit.title": "Editar agente inteligente", "manage.title": "Administrar agentes inteligentes", "my_agents": "Mis agentes inteligentes", @@ -64,7 +55,6 @@ "settings.default_model": "Modelo Predeterminado", "settings.knowledge_base": "Configuración de Base de Conocimientos", "settings.model": "Configuración de Modelo", - "settings.preset_messages": "Mensajes Preestablecidos", "settings.prompt": "Configuración de Palabras Clave", "settings.reasoning_effort": "Longitud de Cadena de Razonamiento", "settings.reasoning_effort.high": "Largo", diff --git a/src/renderer/src/i18n/translate/fr-fr.json b/src/renderer/src/i18n/translate/fr-fr.json index 272954f0e8..30870432df 100644 --- a/src/renderer/src/i18n/translate/fr-fr.json +++ b/src/renderer/src/i18n/translate/fr-fr.json @@ -10,16 +10,7 @@ "add.prompt.placeholder": "Entrer le mot-clé", "add.title": "Créer un agent intelligent", "delete.popup.content": "Êtes-vous sûr de vouloir supprimer cet agent intelligent ?", - "edit.message.add.title": "Ajouter", - "edit.message.assistant.placeholder": "Entrer le message de l'assistant", - "edit.message.assistant.title": "Assistant", - "edit.message.empty.content": "Le contenu de la session ne peut pas être vide", - "edit.message.group.title": "Groupe de messages", - "edit.message.title": "Messages prédéfinis", - "edit.message.user.placeholder": "Entrer le message de l'utilisateur", - "edit.message.user.title": "Utilisateur", "edit.model.select.title": "Sélectionner un modèle", - "edit.settings.hide_preset_messages": "Masquer les messages prédéfinis", "edit.title": "Modifier l'agent intelligent", "manage.title": "Gérer les agents intelligents", "my_agents": "Mes agents intelligents", @@ -64,7 +55,6 @@ "settings.default_model": "Modèle par défaut", "settings.knowledge_base": "Paramètres de la base de connaissances", "settings.model": "Paramètres du modèle", - "settings.preset_messages": "Messages prédéfinis", "settings.prompt": "Paramètres de l'invite", "settings.reasoning_effort": "Longueur de la chaîne de raisonnement", "settings.reasoning_effort.high": "Long", diff --git a/src/renderer/src/i18n/translate/pt-pt.json b/src/renderer/src/i18n/translate/pt-pt.json index 5e97076f63..2399d39eae 100644 --- a/src/renderer/src/i18n/translate/pt-pt.json +++ b/src/renderer/src/i18n/translate/pt-pt.json @@ -10,16 +10,7 @@ "add.prompt.placeholder": "Digite o Prompt", "add.title": "Criar Agente Inteligente", "delete.popup.content": "Tem certeza de que deseja excluir este agente inteligente?", - "edit.message.add.title": "Adicionar", - "edit.message.assistant.placeholder": "Digite a Mensagem do Assistente", - "edit.message.assistant.title": "Assistente", - "edit.message.empty.content": "O conteúdo da sessão não pode estar vazio", - "edit.message.group.title": "Grupo de Mensagens", - "edit.message.title": "Mensagens Padrão", - "edit.message.user.placeholder": "Digite a Mensagem do Usuário", - "edit.message.user.title": "Usuário", "edit.model.select.title": "Selecionar Modelo", - "edit.settings.hide_preset_messages": "Ocultar Mensagens Padrão", "edit.title": "Editar Agente Inteligente", "manage.title": "Gerenciar Agentes Inteligentes", "my_agents": "Meus Agentes Inteligentes", @@ -64,7 +55,6 @@ "settings.default_model": "Modelo Padrão", "settings.knowledge_base": "Configurações da Base de Conhecimento", "settings.model": "Configurações do Modelo", - "settings.preset_messages": "Mensagens Pré-definidas", "settings.prompt": "Configurações de Prompt", "settings.reasoning_effort": "Comprimento da Cadeia de Raciocínio", "settings.reasoning_effort.high": "Longo", diff --git a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx index 9b37287ebd..0f8c23d276 100644 --- a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx +++ b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx @@ -18,7 +18,7 @@ import { modelGenerating, useRuntime } from '@renderer/hooks/useRuntime' import { useMessageStyle, useSettings } from '@renderer/hooks/useSettings' import { useShortcut, useShortcutDisplay } from '@renderer/hooks/useShortcuts' import { useSidebarIconShow } from '@renderer/hooks/useSidebarIcon' -import { addAssistantMessagesToTopic, getDefaultTopic } from '@renderer/services/AssistantService' +import { getDefaultTopic } from '@renderer/services/AssistantService' import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import FileManager from '@renderer/services/FileManager' import { checkRateLimit, getUserMessage } from '@renderer/services/MessagesService' @@ -408,7 +408,6 @@ const Inputbar: FC = ({ assistant: _assistant, setActiveTopic, topic }) = const topic = getDefaultTopic(assistant.id) await db.topics.add({ id: topic.id, messages: [] }) - await addAssistantMessagesToTopic({ assistant, topic }) // Clear previous state // Reset to assistant default model diff --git a/src/renderer/src/pages/home/Messages/Message.tsx b/src/renderer/src/pages/home/Messages/Message.tsx index 8648150452..6fecd2df78 100644 --- a/src/renderer/src/pages/home/Messages/Message.tsx +++ b/src/renderer/src/pages/home/Messages/Message.tsx @@ -29,7 +29,6 @@ interface Props { assistant?: Assistant index?: number total?: number - hidePresetMessages?: boolean hideMenuBar?: boolean style?: React.CSSProperties isGrouped?: boolean @@ -42,7 +41,6 @@ const MessageItem: FC = ({ topic, // assistant, index, - hidePresetMessages, hideMenuBar = false, isGrouped, isStreaming = false, @@ -122,10 +120,6 @@ const MessageItem: FC = ({ return () => unsubscribes.forEach((unsub) => unsub()) }, [message.id, messageHighlightHandler]) - if (hidePresetMessages && message.isPreset) { - return null - } - if (message.type === 'clear') { return ( EventEmitter.emit(EVENT_NAMES.NEW_CONTEXT)}> diff --git a/src/renderer/src/pages/home/Messages/MessageGroup.tsx b/src/renderer/src/pages/home/Messages/MessageGroup.tsx index 0e7e6751a4..26a18822d9 100644 --- a/src/renderer/src/pages/home/Messages/MessageGroup.tsx +++ b/src/renderer/src/pages/home/Messages/MessageGroup.tsx @@ -19,11 +19,10 @@ import SelectableMessage from './MessageSelect' interface Props { messages: (Message & { index: number })[] topic: Topic - hidePresetMessages?: boolean registerMessageElement?: (id: string, element: HTMLElement | null) => void } -const MessageGroup = ({ messages, topic, hidePresetMessages, registerMessageElement }: Props) => { +const MessageGroup = ({ messages, topic, registerMessageElement }: Props) => { const { editMessage } = useMessageOperations(topic) const { multiModelMessageStyle: multiModelMessageStyleSetting, gridColumns, gridPopoverTrigger } = useSettings() const { isMultiSelectMode } = useChatContext(topic) @@ -168,7 +167,6 @@ const MessageGroup = ({ messages, topic, hidePresetMessages, registerMessageElem message, topic, index: message.index, - hidePresetMessages, style: { paddingTop: isGrouped && ['horizontal', 'grid'].includes(multiModelMessageStyle) ? 0 : 15 } @@ -220,16 +218,7 @@ const MessageGroup = ({ messages, topic, hidePresetMessages, registerMessageElem ) }, - [ - isGrid, - isGrouped, - topic, - hidePresetMessages, - multiModelMessageStyle, - isHorizontal, - selectedMessageId, - gridPopoverTrigger - ] + [isGrid, isGrouped, topic, multiModelMessageStyle, isHorizontal, selectedMessageId, gridPopoverTrigger] ) return ( diff --git a/src/renderer/src/pages/home/Messages/Messages.tsx b/src/renderer/src/pages/home/Messages/Messages.tsx index 47b844252c..cae4237ffd 100644 --- a/src/renderer/src/pages/home/Messages/Messages.tsx +++ b/src/renderer/src/pages/home/Messages/Messages.tsx @@ -289,7 +289,6 @@ const Messages: React.FC = ({ assistant, topic, setActiveTopic, o key={key} messages={groupMessages} topic={topic} - hidePresetMessages={assistant.settings?.hideMessages} registerMessageElement={registerMessageElement} /> ))} diff --git a/src/renderer/src/pages/settings/AssistantSettings/AssistantMessagesSettings.tsx b/src/renderer/src/pages/settings/AssistantSettings/AssistantMessagesSettings.tsx deleted file mode 100644 index a74e3823ea..0000000000 --- a/src/renderer/src/pages/settings/AssistantSettings/AssistantMessagesSettings.tsx +++ /dev/null @@ -1,170 +0,0 @@ -import { DeleteOutlined, PlusOutlined } from '@ant-design/icons' -import { Assistant, AssistantMessage, AssistantSettings } from '@renderer/types' -import { Button, Card, Col, Divider, Form as FormAntd, FormInstance, Row, Space, Switch } from 'antd' -import TextArea from 'antd/es/input/TextArea' -import { FC, useMemo, useRef, useState } from 'react' -import { useTranslation } from 'react-i18next' -import styled from 'styled-components' - -interface Props { - assistant: Assistant - updateAssistant: (assistant: Assistant) => void - updateAssistantSettings: (settings: Partial) => void -} - -const AssistantMessagesSettings: FC = ({ assistant, updateAssistant, updateAssistantSettings }) => { - const { t } = useTranslation() - const [form] = Form.useForm() - const formRef = useRef(null) - const [messages, setMessagess] = useState(assistant?.messages || []) - const [hideMessages, setHideMessages] = useState(assistant?.settings?.hideMessages || false) - - const showSaveButton = useMemo(() => { - const originalMessages = assistant?.messages || [] - if (originalMessages.length !== messages.length) return true - - return messages.some((msg, index) => { - const originalMsg = originalMessages[index] - return !originalMsg || msg.content.trim() !== originalMsg.content.trim() - }) - }, [messages, assistant?.messages]) - - const onSave = () => { - // 检查是否有空对话组 - for (let i = 0; i < messages.length; i += 2) { - const userContent = messages[i].content.trim() - const assistantContent = messages[i + 1]?.content.trim() - if (userContent === '' || assistantContent === '') { - window.modal.error({ - centered: true, - content: t('agents.edit.message.empty.content') - }) - return - } - } - - // 过滤掉空消息并将消息分组 - const filteredMessagess = messages.reduce((acc, conv, index) => { - if (index % 2 === 0) { - const userContent = conv.content.trim() - const assistantContent = messages[index + 1]?.content.trim() - if (userContent !== '' || assistantContent !== '') { - acc.push({ role: 'user', content: userContent }, { role: 'assistant', content: assistantContent }) - } - } - return acc - }, [] as AssistantMessage[]) - - updateAssistant({ - ...assistant, - messages: filteredMessagess - }) - - window.message.success({ content: t('message.save.success.title'), key: 'save-messages' }) - } - - const addMessages = () => { - setMessagess([...messages, { role: 'user', content: '' }, { role: 'assistant', content: '' }]) - } - - const updateMessages = (index: number, role: 'user' | 'assistant', content: string) => { - const newMessagess = [...messages] - newMessagess[index] = { role, content } - setMessagess(newMessagess) - } - - const deleteMessages = (index: number) => { - const newMessagess = [...messages] - newMessagess.splice(index, 2) // 删除用户和助手的对话 - setMessagess(newMessagess) - } - - return ( - -
- - { - setHideMessages(checked) - updateAssistantSettings({ hideMessages: checked }) - }} - /> - - - - {messages.map( - (_, index) => - index % 2 === 0 && ( - } type="text" danger onClick={() => deleteMessages(index)} />}> - - - - - -