Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 24 additions & 4 deletions src/components/ChatMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,12 @@ export default memo(function ChatMessage({
const { t } = useTranslation();
const { showConfirm } = useModals();
const {
config: { initials, showTokensPerSecond },
config: {
initials,
showTokensPerSecond,
showRawUserMessage,
showRawAssistantMessage,
},
} = useAppContext();
const { branchMessage } = useChatContext();

Expand Down Expand Up @@ -116,6 +121,12 @@ export default memo(function ChatMessage({
}),
[msg.role]
);
const renderAsMarkdown = useMemo(() => {
if (isUser && !showRawUserMessage) return true;
if (isAssistant && !showRawAssistantMessage) return true;
if (!isUser && !isAssistant) return true;
return false;
}, [isAssistant, isUser, showRawAssistantMessage, showRawUserMessage]);
const showActionButtons = useMemo(
() => !isEditing && !isPending,
[isEditing, isPending]
Expand Down Expand Up @@ -194,7 +205,12 @@ export default memo(function ChatMessage({
/>
)}

{!!content && <MarkdownDisplay content={content} />}
{!!content &&
(renderAsMarkdown ? (
<MarkdownDisplay content={content} />
) : (
<div className="whitespace-pre-wrap">{content}</div>
))}
</div>
)}
</div>
Expand Down Expand Up @@ -474,7 +490,7 @@ const ThinkingSection = memo(function ThinkingSection({
}: ThinkingSectionProps) {
const { t } = useTranslation();
const {
config: { showThoughtInProgress },
config: { showThoughtInProgress, showRawAssistantMessage },
} = useAppContext();

if (!content) return null;
Expand Down Expand Up @@ -509,7 +525,11 @@ const ThinkingSection = memo(function ThinkingSection({
aria-description={t('chatScreen.ariaLabels.thoughtContent')}
>
<div className="border-l-2 border-base-content/20 pl-4 mb-4">
<MarkdownDisplay content={content} />
{showRawAssistantMessage ? (
<div className="whitespace-pre-wrap">{content}</div>
) : (
<MarkdownDisplay content={content} />
)}
</div>
</div>
</div>
Expand Down
2 changes: 2 additions & 0 deletions src/config/config-default.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
"model": "",
"systemMessage": "",
"initials": "You",
"showRawUserMessage": false,
"showRawAssistantMessage": false,
"pasteLongTextToFileLen": 10000,
"pdfAsImage": false,
"showTokensPerSecond": false,
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "اسم المستخدم",
"note": ""
},
"showRawUserMessage": {
"label": "عرض رسائل المستخدم الخام",
"note": "سيتم تعطيل معالجة تخفيض السعر لرسائل المستخدم."
},
"showRawAssistantMessage": {
"label": "عرض نموذج الرسائل الخام",
"note": "سيتم تعطيل معالجة تخفيض السعر لرسائل النموذج."
},
"pasteLongTextToFileLen": {
"label": "لصق: الحد",
"note": "عند لصق نص طويل، سيتم تحويله إلى ملف. يمكنك التحكم في طول الملف عن طريق تعيين قيمة هذا المعامل. عيّنه على 0 للتعطيل."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "Benutzername",
"note": ""
},
"showRawUserMessage": {
"label": "Benutzermeldungen roh anzeigen",
"note": "Die Markdown-Verarbeitung wird für Benutzernachrichten deaktiviert."
},
"showRawAssistantMessage": {
"label": "Modellnachrichten roh anzeigen",
"note": "Die Markdown-Verarbeitung wird für Modellnachrichten deaktiviert."
},
"pasteLongTextToFileLen": {
"label": "Einfügen: Einschränkung",
"note": "Beim Einfügen eines langen Textes wird dieser in eine Datei umgewandelt. Sie können die Dateilänge durch diesen Parameter steuern. Setzen Sie ihn auf 0, um dies zu deaktivieren."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "User Name",
"note": ""
},
"showRawUserMessage": {
"label": "Display user messages raw",
"note": "Markdown processing will be disabled for user messages."
},
"showRawAssistantMessage": {
"label": "Display model messages raw",
"note": "Markdown processing will be disabled for model messages."
},
"pasteLongTextToFileLen": {
"label": "Paste: limitation",
"note": "When pasting a long text, it will be converted into a file. You can control the file length by setting the value of this parameter. Set to 0 to disable."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "Nombre de usuario",
"note": ""
},
"showRawUserMessage": {
"label": "Mostrar mensajes de usuario sin formato",
"note": "El procesamiento de rebajas se deshabilitará para los mensajes de los usuarios."
},
"showRawAssistantMessage": {
"label": "Mostrar mensajes del modelo sin formato",
"note": "El procesamiento de rebajas se deshabilitará para los mensajes de modelo."
},
"pasteLongTextToFileLen": {
"label": "Líma: takmörkun",
"note": "Cuando se pega un texto largo, se convertirá en un archivo. Puedes controlar la longitud del archivo configurando el valor de este parámetro. Establece en 0 para deshabilitar."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "Nom d'utilisateur",
"note": ""
},
"showRawUserMessage": {
"label": "Afficher les messages utilisateur bruts",
"note": "Le traitement de démarque sera désactivé pour les messages des utilisateurs."
},
"showRawAssistantMessage": {
"label": "Afficher les messages du modèle bruts",
"note": "Le traitement de démarque sera désactivé pour les messages de modèle."
},
"pasteLongTextToFileLen": {
"label": "Coller: limitation",
"note": "Lorsque vous collez un long texte, il sera converti en fichier. Vous pouvez contrôler la longueur du fichier en définissant la valeur de ce paramètre. Mettez 0 pour désactiver."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "उपयोगकर्ता नाम",
"note": ""
},
"showRawUserMessage": {
"label": "उपयोगकर्ता संदेश कच्चे प्रदर्शित करें",
"note": "उपयोगकर्ता संदेशों के लिए मार्कडाउन प्रसंस्करण अक्षम हो जाएगा । "
},
"showRawAssistantMessage": {
"label": "मॉडल संदेश कच्चे प्रदर्शित करें",
"note": "मॉडल संदेशों के लिए मार्कडाउन प्रसंस्करण अक्षम हो जाएगा । "
},
"pasteLongTextToFileLen": {
"label": "पेस्ट: सीमा",
"note": "जब एक लंबा टेक्स्ट पेस्ट किया जाता है, तो उसे एक फ़ाइल में बदल दिया जाएगा। आप इस पैरामीटर का मान सेट करके फ़ाइल की लंबाई को नियंत्रित कर सकते हैं। अक्षम करने के लिए 0 पर सेट करें।"
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "Nome utente",
"note": ""
},
"showRawUserMessage": {
"label": "Visualizza i messaggi utente raw",
"note": "L'elaborazione Markdown sarà disabilitata per i messaggi utente."
},
"showRawAssistantMessage": {
"label": "Visualizza i messaggi del modello raw",
"note": "L'elaborazione Markdown sarà disabilitata per i messaggi modello."
},
"pasteLongTextToFileLen": {
"label": "Incolla: limitazione",
"note": "Quando incolli un testo lungo, verrà convertito in un file. Puoi controllare la lunghezza del file impostando il valore di questo parametro. Imposta su 0 per disabilitare."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "ユーザー名",
"note": ""
},
"showRawUserMessage": {
"label": "ユーザーメッセージをrawで表示する",
"note": "ユーザーメッセージではマークダウン処理が無効になります。"
},
"showRawAssistantMessage": {
"label": "モデルメッセージをrawで表示する",
"note": "モデルメッセージではマークダウン処理が無効になります。"
},
"pasteLongTextToFileLen": {
"label": "貼り付け:制限",
"note": "長いテキストを貼り付けると、ファイルに変換されます。このパラメータの値を設定してファイルの長さを制御できます。無効にするには0に設定します。"
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "사용자 이름",
"note": ""
},
"showRawUserMessage": {
"label": "사용자 메시지 원시 표시",
"note": "사용자 메시지에 대해 마크다운 처리가 비활성화됩니다."
},
"showRawAssistantMessage": {
"label": "모델 메시지 원시 표시",
"note": "모델 메시지에 대해 마크다운 처리가 비활성화됩니다."
},
"pasteLongTextToFileLen": {
"label": "붙여 넣기:제한",
"note": "긴 텍스트를 붙여넣을 때 파일로 변환됩니다. 이 매개변수 값을 설정하여 파일 길이를 제어할 수 있습니다. 비활성화하려면 0으로 설정하세요."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "Nome de Usuário",
"note": ""
},
"showRawUserMessage": {
"label": "Apresentar mensagens do utilizador em bruto",
"note": "O processamento de remarcação será desativado para as mensagens do utilizador."
},
"showRawAssistantMessage": {
"label": "Exibir mensagens do modelo em bruto",
"note": "O processamento de remarcação será desativado para mensagens de modelo."
},
"pasteLongTextToFileLen": {
"label": "Colar: limitação",
"note": "Ao colar um texto longo, ele será convertido em um arquivo. Você pode controlar o comprimento do arquivo definindo o valor deste parâmetro. Defina 0 para desativar."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "Имя пользователя",
"note": ""
},
"showRawUserMessage": {
"label": "Отображать пользовательские сообщения в необработанном виде",
"note": "Для пользовательских сообщений будет отключена обработка уценки."
},
"showRawAssistantMessage": {
"label": "Отображать сообщения модели в необработанном виде",
"note": "Для сообщений модели обработка уценки будет отключена."
},
"pasteLongTextToFileLen": {
"label": "Вставить: ограничение",
"note": "При вставке длинного текста он будет преобразован в файл. Вы можете управлять длиной файла, задав значение этого параметра. Установите 0, чтобы отключить."
Expand Down
8 changes: 8 additions & 0 deletions src/i18n/zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,14 @@
"label": "用户名",
"note": ""
},
"showRawUserMessage": {
"label": "原始显示用户消息",
"note": "将对用户消息禁用标记处理。"
},
"showRawAssistantMessage": {
"label": "原始显示模型消息",
"note": "将对模型消息禁用标记处理。"
},
"pasteLongTextToFileLen": {
"label": "粘贴:限制",
"note": "粘贴长文本时,它将被转换为文件。您可以通过设置此参数的值来控制文件长度。设置为0可禁用。"
Expand Down
2 changes: 2 additions & 0 deletions src/pages/Settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ function getSettingTabsConfiguration(
key: 'theme-manager',
component: () => null,
},
toInput(SettingInputType.CHECKBOX, 'showRawUserMessage'),
toInput(SettingInputType.CHECKBOX, 'showRawAssistantMessage'),
],
},

Expand Down
2 changes: 2 additions & 0 deletions src/types/configuration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ export interface Configuration {

/* ui */
initials: string;
showRawUserMessage: boolean;
showRawAssistantMessage: boolean;

/* conversations */
pasteLongTextToFileLen: number;
Expand Down