diff --git a/CHANGELOG.md b/CHANGELOG.md
index fac2c621fe8..30457d4abf1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,31 @@
# Changelog
+### [Version 1.139.3](https://github.com/lobehub/lobe-chat/compare/v1.139.2...v1.139.3)
+
+Released on **2025-10-21**
+
+#### 💄 Styles
+
+- **misc**: Show message author in minimap.
+
+
+
+
+Improvements and Fixes
+
+#### Styles
+
+- **misc**: Show message author in minimap, closes [#9797](https://github.com/lobehub/lobe-chat/issues/9797) ([f6daefb](https://github.com/lobehub/lobe-chat/commit/f6daefb))
+
+
+
+
+
+[](#readme-top)
+
+
+
### [Version 1.139.2](https://github.com/lobehub/lobe-chat/compare/v1.139.1...v1.139.2)
Released on **2025-10-20**
diff --git a/changelog/v1.json b/changelog/v1.json
index b07a5794461..a47d6fb8b83 100644
--- a/changelog/v1.json
+++ b/changelog/v1.json
@@ -1,4 +1,11 @@
[
+ {
+ "children": {
+ "improvements": ["Show message author in minimap."]
+ },
+ "date": "2025-10-21",
+ "version": "1.139.3"
+ },
{
"children": {
"improvements": ["Solve when desktop the sider agent list too long."]
diff --git a/locales/ar/chat.json b/locales/ar/chat.json
index 50ac445ac4b..9047f413df0 100644
--- a/locales/ar/chat.json
+++ b/locales/ar/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "الانتقال إلى الرسالة رقم {{index}}",
"nextMessage": "الرسالة التالية",
- "previousMessage": "الرسالة السابقة"
+ "previousMessage": "الرسالة السابقة",
+ "senderAssistant": "المساعد",
+ "senderUser": "أنت"
},
"newAgent": "مساعد جديد",
"newGroupChat": "إنشاء دردشة جماعية جديدة",
diff --git a/locales/bg-BG/chat.json b/locales/bg-BG/chat.json
index cbd751c81f1..2e1615a4e60 100644
--- a/locales/bg-BG/chat.json
+++ b/locales/bg-BG/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Отиди до съобщение № {{index}}",
"nextMessage": "Следващо съобщение",
- "previousMessage": "Предишно съобщение"
+ "previousMessage": "Предишно съобщение",
+ "senderAssistant": "Асистент",
+ "senderUser": "Ти"
},
"newAgent": "Нов агент",
"newGroupChat": "Създаване на нов групов чат",
diff --git a/locales/de-DE/chat.json b/locales/de-DE/chat.json
index 802e5f07800..8776ad87b01 100644
--- a/locales/de-DE/chat.json
+++ b/locales/de-DE/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Zur Nachricht Nr. {{index}} springen",
"nextMessage": "Nächste Nachricht",
- "previousMessage": "Vorherige Nachricht"
+ "previousMessage": "Vorherige Nachricht",
+ "senderAssistant": "Assistent",
+ "senderUser": "Du"
},
"newAgent": "Neuer Assistent",
"newGroupChat": "Neue Gruppe erstellen",
diff --git a/locales/en-US/chat.json b/locales/en-US/chat.json
index 36a1f63c874..1621458498d 100644
--- a/locales/en-US/chat.json
+++ b/locales/en-US/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Jump to message {{index}}",
"nextMessage": "Next message",
- "previousMessage": "Previous message"
+ "previousMessage": "Previous message",
+ "senderAssistant": "Assistant",
+ "senderUser": "You"
},
"newAgent": "New Assistant",
"newGroupChat": "New Group Chat",
diff --git a/locales/es-ES/chat.json b/locales/es-ES/chat.json
index f7f32d02e6c..c9709d3f841 100644
--- a/locales/es-ES/chat.json
+++ b/locales/es-ES/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Ir al mensaje número {{index}}",
"nextMessage": "Mensaje siguiente",
- "previousMessage": "Mensaje anterior"
+ "previousMessage": "Mensaje anterior",
+ "senderAssistant": "Asistente",
+ "senderUser": "Tú"
},
"newAgent": "Nuevo asistente",
"newGroupChat": "Crear nuevo chat de grupo",
diff --git a/locales/fa-IR/chat.json b/locales/fa-IR/chat.json
index 3c7ca942347..792acc47953 100644
--- a/locales/fa-IR/chat.json
+++ b/locales/fa-IR/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "رفتن به پیام شماره {{index}}",
"nextMessage": "پیام بعدی",
- "previousMessage": "پیام قبلی"
+ "previousMessage": "پیام قبلی",
+ "senderAssistant": "دستیار",
+ "senderUser": "شما"
},
"newAgent": "دستیار جدید",
"newGroupChat": "ایجاد چت گروهی جدید",
diff --git a/locales/fr-FR/chat.json b/locales/fr-FR/chat.json
index 8a42a032606..871ae111471 100644
--- a/locales/fr-FR/chat.json
+++ b/locales/fr-FR/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Aller au message n° {{index}}",
"nextMessage": "Message suivant",
- "previousMessage": "Message précédent"
+ "previousMessage": "Message précédent",
+ "senderAssistant": "Assistant",
+ "senderUser": "Vous"
},
"newAgent": "Nouvel agent",
"newGroupChat": "Nouveau groupe de discussion",
diff --git a/locales/it-IT/chat.json b/locales/it-IT/chat.json
index f4cb18a4e75..06ee5a15990 100644
--- a/locales/it-IT/chat.json
+++ b/locales/it-IT/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Vai al messaggio n. {{index}}",
"nextMessage": "Messaggio successivo",
- "previousMessage": "Messaggio precedente"
+ "previousMessage": "Messaggio precedente",
+ "senderAssistant": "Assistente",
+ "senderUser": "Tu"
},
"newAgent": "Nuovo assistente",
"newGroupChat": "Nuova chat di gruppo",
diff --git a/locales/ja-JP/chat.json b/locales/ja-JP/chat.json
index ad62ff8647b..386b5f13e94 100644
--- a/locales/ja-JP/chat.json
+++ b/locales/ja-JP/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "メッセージ {{index}} へジャンプ",
"nextMessage": "次のメッセージ",
- "previousMessage": "前のメッセージ"
+ "previousMessage": "前のメッセージ",
+ "senderAssistant": "アシスタント",
+ "senderUser": "あなた"
},
"newAgent": "新しいエージェント",
"newGroupChat": "新しいグループチャットを作成",
diff --git a/locales/ko-KR/chat.json b/locales/ko-KR/chat.json
index ef2a3c9768f..717ffba62ce 100644
--- a/locales/ko-KR/chat.json
+++ b/locales/ko-KR/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "{{index}}번째 메시지로 이동",
"nextMessage": "다음 메시지",
- "previousMessage": "이전 메시지"
+ "previousMessage": "이전 메시지",
+ "senderAssistant": "도우미",
+ "senderUser": "당신"
},
"newAgent": "새 도우미",
"newGroupChat": "새 그룹 채팅 만들기",
diff --git a/locales/nl-NL/chat.json b/locales/nl-NL/chat.json
index 63f70fbc531..c661372403e 100644
--- a/locales/nl-NL/chat.json
+++ b/locales/nl-NL/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Ga naar bericht {{index}}",
"nextMessage": "Volgend bericht",
- "previousMessage": "Vorig bericht"
+ "previousMessage": "Vorig bericht",
+ "senderAssistant": "Assistent",
+ "senderUser": "Jij"
},
"newAgent": "Nieuwe assistent",
"newGroupChat": "Nieuwe groepschat",
diff --git a/locales/pl-PL/chat.json b/locales/pl-PL/chat.json
index e14b32891d2..284cc792107 100644
--- a/locales/pl-PL/chat.json
+++ b/locales/pl-PL/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Przejdź do wiadomości nr {{index}}",
"nextMessage": "Następna wiadomość",
- "previousMessage": "Poprzednia wiadomość"
+ "previousMessage": "Poprzednia wiadomość",
+ "senderAssistant": "Asystent",
+ "senderUser": "Ty"
},
"newAgent": "Nowy asystent",
"newGroupChat": "Utwórz nowy czat grupowy",
diff --git a/locales/pt-BR/chat.json b/locales/pt-BR/chat.json
index 1c57b0abd01..34eb08536ec 100644
--- a/locales/pt-BR/chat.json
+++ b/locales/pt-BR/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Ir para a mensagem nº {{index}}",
"nextMessage": "Próxima mensagem",
- "previousMessage": "Mensagem anterior"
+ "previousMessage": "Mensagem anterior",
+ "senderAssistant": "Assistente",
+ "senderUser": "Você"
},
"newAgent": "Novo Assistente",
"newGroupChat": "Criar novo grupo",
diff --git a/locales/ru-RU/chat.json b/locales/ru-RU/chat.json
index 716c239d15b..2d398f3e7d4 100644
--- a/locales/ru-RU/chat.json
+++ b/locales/ru-RU/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Перейти к сообщению № {{index}}",
"nextMessage": "Следующее сообщение",
- "previousMessage": "Предыдущее сообщение"
+ "previousMessage": "Предыдущее сообщение",
+ "senderAssistant": "Ассистент",
+ "senderUser": "Вы"
},
"newAgent": "Создать помощника",
"newGroupChat": "Создать групповой чат",
diff --git a/locales/tr-TR/chat.json b/locales/tr-TR/chat.json
index 14ca983cff6..aa7e2097d6a 100644
--- a/locales/tr-TR/chat.json
+++ b/locales/tr-TR/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "{{index}} numaralı mesaja atla",
"nextMessage": "Sonraki mesaj",
- "previousMessage": "Önceki mesaj"
+ "previousMessage": "Önceki mesaj",
+ "senderAssistant": "Asistan",
+ "senderUser": "Sen"
},
"newAgent": "Yeni Asistan",
"newGroupChat": "Yeni grup sohbeti oluştur",
diff --git a/locales/vi-VN/chat.json b/locales/vi-VN/chat.json
index 15d66a99f3a..b2a2f857847 100644
--- a/locales/vi-VN/chat.json
+++ b/locales/vi-VN/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "Chuyển đến tin nhắn thứ {{index}}",
"nextMessage": "Tin nhắn tiếp theo",
- "previousMessage": "Tin nhắn trước"
+ "previousMessage": "Tin nhắn trước",
+ "senderAssistant": "Trợ lý",
+ "senderUser": "Bạn"
},
"newAgent": "Tạo trợ lý mới",
"newGroupChat": "Tạo nhóm mới",
diff --git a/locales/zh-CN/chat.json b/locales/zh-CN/chat.json
index 82a9e3fc874..0b65d08f0d7 100644
--- a/locales/zh-CN/chat.json
+++ b/locales/zh-CN/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "跳转至第 {{index}} 条消息",
"nextMessage": "下一条消息",
- "previousMessage": "上一条消息"
+ "previousMessage": "上一条消息",
+ "senderAssistant": "助手",
+ "senderUser": "你"
},
"newAgent": "新建助手",
"newGroupChat": "新建群聊",
diff --git a/locales/zh-TW/chat.json b/locales/zh-TW/chat.json
index 4542de420dc..fd459e9d6b1 100644
--- a/locales/zh-TW/chat.json
+++ b/locales/zh-TW/chat.json
@@ -228,7 +228,9 @@
"minimap": {
"jumpToMessage": "跳轉至第 {{index}} 條訊息",
"nextMessage": "下一條訊息",
- "previousMessage": "上一條訊息"
+ "previousMessage": "上一條訊息",
+ "senderAssistant": "助理",
+ "senderUser": "您"
},
"newAgent": "新建助手",
"newGroupChat": "建立群組",
diff --git a/package.json b/package.json
index 2475e5b06a5..d64825f84b4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@lobehub/chat",
- "version": "1.139.2",
+ "version": "1.139.3",
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
"keywords": [
"framework",
@@ -238,7 +238,7 @@
"oidc-provider": "^9.5.1",
"ollama": "^0.6.0",
"openai": "^4.104.0",
- "openapi-fetch": "^0.9.8",
+ "openapi-fetch": "^0.14.0",
"partial-json": "^0.1.7",
"path-browserify-esm": "^1.0.6",
"pdf-parse": "^1.1.1",
diff --git a/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatMinimap/index.tsx b/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatMinimap/index.tsx
index c5269b6581a..94f59ed9256 100644
--- a/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatMinimap/index.tsx
+++ b/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatMinimap/index.tsx
@@ -1,7 +1,7 @@
'use client';
import { Icon } from '@lobehub/ui';
-import { Tooltip } from 'antd';
+import { Popover, Tooltip } from 'antd';
import { createStyles, useTheme } from 'antd-style';
import debug from 'debug';
import { ChevronDown, ChevronUp } from 'lucide-react';
@@ -114,6 +114,19 @@ const useStyles = createStyles(({ css, token }) => ({
indicatorContentActive: css`
background: ${token.colorPrimary};
`,
+ popoverContent: css`
+ max-width: 300px;
+ `,
+ popoverLabel: css`
+ margin-block-end: 4px;
+ font-size: 12px;
+ font-weight: 600;
+ color: ${token.colorTextSecondary};
+ `,
+ popoverText: css`
+ color: ${token.colorText};
+ word-break: break-word;
+ `,
rail: css`
pointer-events: auto;
@@ -174,6 +187,7 @@ const getPreviewText = (content: string | undefined) => {
interface MinimapIndicator {
id: string;
preview: string;
+ role: 'user' | 'assistant';
virtuosoIndex: number;
width: number;
}
@@ -203,6 +217,7 @@ const ChatMinimap = () => {
acc.push({
id: message.id,
preview: getPreviewText(message.content),
+ role: message.role,
virtuosoIndex,
width: getIndicatorWidth(message.content),
});
@@ -317,16 +332,20 @@ const ChatMinimap = () => {
- {indicators.map(({ id, width, preview, virtuosoIndex }, position) => {
+ {indicators.map(({ id, width, preview, role, virtuosoIndex }, position) => {
const isActive = activeIndicatorPosition === position;
+ const senderLabel =
+ role === 'user' ? t('minimap.senderUser') : t('minimap.senderAssistant');
+
+ const popoverContent = preview ? (
+
+
{senderLabel}
+
{preview}
+
+ ) : undefined;
return (
-
+
-
+
);
})}
diff --git a/src/locales/default/chat.ts b/src/locales/default/chat.ts
index 8b2516e8948..2d857c4048e 100644
--- a/src/locales/default/chat.ts
+++ b/src/locales/default/chat.ts
@@ -247,6 +247,8 @@ export default {
jumpToMessage: '跳转至第 {{index}} 条消息',
nextMessage: '下一条消息',
previousMessage: '上一条消息',
+ senderAssistant: '助手',
+ senderUser: '你',
},
newAgent: '新建助手',