diff --git a/src/renderer/components/Message.tsx b/src/renderer/components/Message.tsx index 8cbe3dbc..96dc1a51 100644 --- a/src/renderer/components/Message.tsx +++ b/src/renderer/components/Message.tsx @@ -11,7 +11,7 @@ import SmartToyIcon from '@mui/icons-material/SmartToy' import SettingsIcon from '@mui/icons-material/Settings' import { useTranslation } from 'react-i18next' import { Message, SessionType } from '../../shared/types' -import { useAtomValue, useSetAtom } from 'jotai' +import { useAtom, useAtomValue, useSetAtom } from 'jotai' import { showMessageTimestampAtom, showModelNameAtom, @@ -19,6 +19,7 @@ import { showWordCountAtom, openSettingDialogAtom, enableMarkdownRenderingAtom, + settingsAtom, } from '../stores/atoms' import { currsentSessionPicUrlAtom, showTokenUsedAtom } from '../stores/atoms' import * as scrollActions from '../stores/scrollActions' @@ -44,6 +45,7 @@ export interface Props { export default function Message(props: Props) { const { t } = useTranslation() const theme = useTheme() + const showMessageTimestamp = useAtomValue(showMessageTimestampAtom) const showModelName = useAtomValue(showModelNameAtom) @@ -102,6 +104,11 @@ export default function Message(props: Props) { } }, [msg.content]) + const hideInitMsg = () => { + const [settings, _1] = useAtom(settingsAtom); + return settings.hideInitialMessage; + } + let content = msg.content if (typeof msg.content !== 'string') { content = JSON.stringify(msg.content) @@ -146,6 +153,7 @@ export default function Message(props: Props) { [theme.breakpoints.down('sm')]: { paddingX: '0.3rem', }, + display: msg?.role === 'system' && hideInitMsg() ? "none" : "initial" }} > diff --git a/src/renderer/i18n/locales/de/translation.json b/src/renderer/i18n/locales/de/translation.json index d80f65e8..698fd258 100644 --- a/src/renderer/i18n/locales/de/translation.json +++ b/src/renderer/i18n/locales/de/translation.json @@ -3,6 +3,7 @@ "theme": "Thema", "show message word count": "Wortanzahl anzeigen", "show message token count": "Tokenanzahl anzeigen", + "hide initial message": "Anfangsgespräch verstecken", "show message token usage": "Token-Nutzung anzeigen", "show model name": "Modellname anzeigen", "show message timestamp": "Zeitstempel anzeigen", diff --git a/src/renderer/i18n/locales/en/translation.json b/src/renderer/i18n/locales/en/translation.json index 815c002f..33f2d3c6 100644 --- a/src/renderer/i18n/locales/en/translation.json +++ b/src/renderer/i18n/locales/en/translation.json @@ -4,6 +4,7 @@ "show message word count": "Show message word count", "show message token count": "Show message token count", "show message token usage": "Show message token usage", + "hide initial message": "Hide initial message", "show model name": "Show model name", "show message timestamp": "Show message timestamp", "proxy": "Proxy", diff --git a/src/renderer/i18n/locales/fr/translation.json b/src/renderer/i18n/locales/fr/translation.json index 2472940d..d85c8f92 100644 --- a/src/renderer/i18n/locales/fr/translation.json +++ b/src/renderer/i18n/locales/fr/translation.json @@ -4,6 +4,7 @@ "show message word count": "Afficher le nombre de mots du message", "show message token count": "Afficher le nombre de jetons du message", "show message token usage": "Afficher l'utilisation des jetons du message", + "hide initial message": "Masquer le message initial", "show model name": "Afficher le nom du modèle", "show message timestamp": "Afficher l'horodatage du message", "proxy": "Proxy", diff --git a/src/renderer/i18n/locales/ja/translation.json b/src/renderer/i18n/locales/ja/translation.json index 2fb8c43f..6a8331ce 100644 --- a/src/renderer/i18n/locales/ja/translation.json +++ b/src/renderer/i18n/locales/ja/translation.json @@ -4,6 +4,7 @@ "show message word count": "メッセージの単語数を表示", "show message token count": "メッセージのトークン数を表示", "show message token usage": "メッセージのトークン使用状況を表示", + "hide initial message": "初期メッセージを非表示にする", "show model name": "モデル名を表示", "show message timestamp": "メッセージのタイムスタンプを表示", "proxy": "プロキシ", diff --git a/src/renderer/i18n/locales/ko/translation.json b/src/renderer/i18n/locales/ko/translation.json index 749f45c8..c832a737 100644 --- a/src/renderer/i18n/locales/ko/translation.json +++ b/src/renderer/i18n/locales/ko/translation.json @@ -4,6 +4,7 @@ "show message word count": "메시지 단어 수 표시", "show message token count": "메시지 토큰 수 표시", "show message token usage": "메시지 토큰 사용량 표시", + "hide initial message": "초기 대화 프롬프트 숨기기", "show model name": "모델 이름 표시", "show message timestamp": "메시지 타임스탬프 표시", "proxy": "프록시", diff --git a/src/renderer/i18n/locales/ru/translation.json b/src/renderer/i18n/locales/ru/translation.json index a2455604..746f1f4b 100644 --- a/src/renderer/i18n/locales/ru/translation.json +++ b/src/renderer/i18n/locales/ru/translation.json @@ -4,6 +4,7 @@ "show message word count": "Показать количество слов в сообщении", "show message token count": "Показать количество токенов в сообщении", "show message token usage": "Показать использование токенов в сообщении", + "hide initial message": "Скрыть начальное сообщение", "show model name": "Показать название модели", "show message timestamp": "Показать временную метку сообщения", "proxy": "Прокси", diff --git a/src/renderer/i18n/locales/zh-Hans/translation.json b/src/renderer/i18n/locales/zh-Hans/translation.json index b2ef515a..ec5dbc34 100644 --- a/src/renderer/i18n/locales/zh-Hans/translation.json +++ b/src/renderer/i18n/locales/zh-Hans/translation.json @@ -3,6 +3,7 @@ "theme": "主题", "show message word count": "显示消息的字数统计", "show message token count": "显示消息的 token 数量", + "hide initial message": "隐藏初始对话提示", "show message token usage": "显示消息的 token 消耗", "show model name": "显示模型名称", "show message timestamp": "显示消息的时间戳", diff --git a/src/renderer/i18n/locales/zh-Hant/translation.json b/src/renderer/i18n/locales/zh-Hant/translation.json index 3441bc70..29be3f1c 100644 --- a/src/renderer/i18n/locales/zh-Hant/translation.json +++ b/src/renderer/i18n/locales/zh-Hant/translation.json @@ -4,6 +4,7 @@ "show message word count": "顯示消息的字數", "show message token count": "顯示消息的 token 數量", "show message token usage": "顯示消息的 token 消耗", + "hide initial message": "隱藏初始對話提示", "show model name": "顯示模型名稱", "show message timestamp": "顯示消息的時間戳", "proxy": "代理", diff --git a/src/renderer/pages/SettingDialog/DisplaySettingTab.tsx b/src/renderer/pages/SettingDialog/DisplaySettingTab.tsx index 59aec868..1c5ba828 100644 --- a/src/renderer/pages/SettingDialog/DisplaySettingTab.tsx +++ b/src/renderer/pages/SettingDialog/DisplaySettingTab.tsx @@ -97,6 +97,17 @@ export default function DisplaySettingTab(props: { }) } /> + } + label={t('hide initial message')} + checked={settingsEdit.hideInitialMessage} + onChange={(e, checked) => + setSettingsEdit({ + ...settingsEdit, + hideInitialMessage: checked, + }) + } + /> ) diff --git a/src/shared/defaults.ts b/src/shared/defaults.ts index c82422d3..15900468 100644 --- a/src/shared/defaults.ts +++ b/src/shared/defaults.ts @@ -36,6 +36,7 @@ export function settings(): Settings { showTokenUsed: true, showModelName: true, showMessageTimestamp: false, + hideInitialMessage: false, userAvatarKey: '', theme: Theme.FollowSystem, language: 'en', diff --git a/src/shared/types.ts b/src/shared/types.ts index fe07c9f6..0a5c9ba8 100644 --- a/src/shared/types.ts +++ b/src/shared/types.ts @@ -126,6 +126,7 @@ export interface Settings extends ModelSettings { showTokenUsed?: boolean showModelName?: boolean showMessageTimestamp?: boolean + hideInitialMessage?: boolean theme: Theme language: Language