From 3bf0b6b3155ce84991ce612d0b4d3d07d24b5171 Mon Sep 17 00:00:00 2001 From: Jee <36779802+985563349@users.noreply.github.com> Date: Sat, 10 May 2025 20:16:59 +0800 Subject: [PATCH] feat: add prompt display control (#5439) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 亢奋猫 --- src/renderer/src/i18n/locales/en-us.json | 1 + src/renderer/src/i18n/locales/ja-jp.json | 1 + src/renderer/src/i18n/locales/ru-ru.json | 1 + src/renderer/src/i18n/locales/zh-cn.json | 1 + src/renderer/src/i18n/locales/zh-tw.json | 1 + src/renderer/src/pages/home/Messages/Messages.tsx | 4 ++-- src/renderer/src/pages/home/Tabs/SettingsTab.tsx | 7 +++++++ src/renderer/src/store/index.ts | 2 +- src/renderer/src/store/migrate.ts | 4 ++++ src/renderer/src/store/settings.ts | 6 ++++++ 10 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 5f9560ca9c..e70133d759 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -1344,6 +1344,7 @@ "providerPlaceholder": "Provider name", "advancedSettings": "Advanced Settings" }, + "messages.prompt": "Show prompt", "messages.divider": "Show divider between messages", "messages.grid_columns": "Message grid display columns", "messages.grid_popover_trigger": "Grid detail trigger", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 57f935b7a4..7b06e8559c 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -1342,6 +1342,7 @@ "providerPlaceholder": "プロバイダー名", "advancedSettings": "詳細設定" }, + "messages.prompt": "プロンプト表示", "messages.divider": "メッセージ間に区切り線を表示", "messages.grid_columns": "メッセージグリッドの表示列数", "messages.grid_popover_trigger": "グリッド詳細トリガー", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 34711f720f..3f69284988 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -1342,6 +1342,7 @@ "providerPlaceholder": "Имя провайдера", "advancedSettings": "Расширенные настройки" }, + "messages.prompt": "Показывать подсказки", "messages.divider": "Показывать разделитель между сообщениями", "messages.grid_columns": "Количество столбцов сетки сообщений", "messages.grid_popover_trigger": "Триггер для отображения подробной информации в сетке", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 01af59cb75..e777f533d9 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -1344,6 +1344,7 @@ "providerPlaceholder": "提供者名称", "advancedSettings": "高级设置" }, + "messages.prompt": "提示词显示", "messages.divider": "消息分割线", "messages.grid_columns": "消息网格展示列数", "messages.grid_popover_trigger": "网格详情触发", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 23dee80e7a..cc8d898fa4 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -1343,6 +1343,7 @@ "providerPlaceholder": "提供者名稱", "advancedSettings": "高級設定" }, + "messages.prompt": "提示詞顯示", "messages.divider": "訊息間顯示分隔線", "messages.grid_columns": "訊息網格展示列數", "messages.grid_popover_trigger": "網格詳細資訊觸發", diff --git a/src/renderer/src/pages/home/Messages/Messages.tsx b/src/renderer/src/pages/home/Messages/Messages.tsx index 307eebdb1c..6da7985fd4 100644 --- a/src/renderer/src/pages/home/Messages/Messages.tsx +++ b/src/renderer/src/pages/home/Messages/Messages.tsx @@ -42,7 +42,7 @@ interface MessagesProps { const Messages: React.FC = ({ assistant, topic, setActiveTopic }) => { const { t } = useTranslation() - const { showTopics, topicPosition, showAssistants, messageNavigation } = useSettings() + const { showPrompt, showTopics, topicPosition, showAssistants, messageNavigation } = useSettings() const { updateTopic, addTopic } = useAssistant(assistant.id) const dispatch = useAppDispatch() const containerRef = useRef(null) @@ -254,7 +254,7 @@ const Messages: React.FC = ({ assistant, topic, setActiveTopic }) )} - + {showPrompt && } {messageNavigation === 'anchor' && } {messageNavigation === 'buttons' && } diff --git a/src/renderer/src/pages/home/Tabs/SettingsTab.tsx b/src/renderer/src/pages/home/Tabs/SettingsTab.tsx index 0c8972db6d..09fd3eb397 100644 --- a/src/renderer/src/pages/home/Tabs/SettingsTab.tsx +++ b/src/renderer/src/pages/home/Tabs/SettingsTab.tsx @@ -37,6 +37,7 @@ import { setPasteLongTextThreshold, setRenderInputMessageAsMarkdown, setShowInputEstimatedTokens, + setShowPrompt, setShowMessageDivider, setShowTranslateConfirm, setThoughtAutoCollapse @@ -76,6 +77,7 @@ const SettingsTab: FC = (props) => { const dispatch = useAppDispatch() const { + showPrompt, showMessageDivider, messageFont, showInputEstimatedTokens, @@ -282,6 +284,11 @@ const SettingsTab: FC = (props) => { {t('settings.messages.title')} + + {t('settings.messages.prompt')} + dispatch(setShowPrompt(checked))} /> + + {t('settings.messages.divider')} { try { + state.settings.showPrompt = true + addWebSearchProvider(state, 'bocha') + updateWebSearchProvider(state, { id: 'exa', apiHost: 'https://api.exa.ai' }) + updateWebSearchProvider(state, { id: 'tavily', apiHost: 'https://api.tavily.com' diff --git a/src/renderer/src/store/settings.ts b/src/renderer/src/store/settings.ts index 166ed81d6e..3ff8e3f79d 100644 --- a/src/renderer/src/store/settings.ts +++ b/src/renderer/src/store/settings.ts @@ -31,6 +31,7 @@ export interface SettingsState { proxyMode: 'system' | 'custom' | 'none' proxyUrl?: string userName: string + showPrompt: boolean showMessageDivider: boolean messageFont: 'system' | 'serif' showInputEstimatedTokens: boolean @@ -143,6 +144,7 @@ export const initialState: SettingsState = { proxyMode: 'system', proxyUrl: undefined, userName: '', + showPrompt: true, showMessageDivider: true, messageFont: 'system', showInputEstimatedTokens: false, @@ -272,6 +274,9 @@ const settingsSlice = createSlice({ setUserName: (state, action: PayloadAction) => { state.userName = action.payload }, + setShowPrompt: (state, action: PayloadAction) => { + state.showPrompt = action.payload + }, setShowMessageDivider: (state, action: PayloadAction) => { state.showMessageDivider = action.payload }, @@ -528,6 +533,7 @@ export const { setProxyMode, setProxyUrl, setUserName, + setShowPrompt, setShowMessageDivider, setMessageFont, setShowInputEstimatedTokens,