feat(webui): show forked history boundary

This commit is contained in:
Xubin Ren
2026-06-10 04:26:06 +08:00
parent 73d4b1cb2f
commit 26a58282d4
21 changed files with 242 additions and 121 deletions
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "Chat {{id}}",
"forkTitle": "Fork: {{title}}",
"loading": "Loading…",
"noSessions": "No sessions yet.",
"showMore": "Show {{count}} more",
@@ -811,7 +812,8 @@
"scrollToBottom": "Scroll to bottom",
"loadEarlier": "Load earlier messages",
"fork": {
"failed": "Could not fork this chat. Try again."
"failed": "Could not fork this chat. Try again.",
"fromHistory": "Forked from history"
},
"promptNavigator": {
"open": "Open prompt navigator",
@@ -852,11 +854,11 @@
"imageAttachment": "Image attachment",
"automationSourceFallback": "Automation",
"automationTriggered": "Triggered automatically",
"copyMessage": "Copy message",
"copiedMessage": "Copied message",
"forkFromHere": "Fork from here",
"copyReply": "Copy reply",
"copiedReply": "Copied reply",
"copyMessage": "Copy",
"copiedMessage": "Copied",
"forkFromHere": "Fork",
"copyReply": "Copy",
"copiedReply": "Copied",
"turnLatencyTitle": "Response time (end-to-end)"
},
"lightbox": {
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "Chat {{id}}",
"forkTitle": "Bifurcación: {{title}}",
"loading": "Cargando…",
"noSessions": "Todavía no hay sesiones.",
"showMore": "Mostrar {{count}} más",
@@ -811,7 +812,8 @@
"scrollToBottom": "Desplazarse al final",
"loadEarlier": "Cargar mensajes anteriores",
"fork": {
"failed": "No se pudo bifurcar este chat. Inténtalo de nuevo."
"failed": "No se pudo bifurcar este chat. Inténtalo de nuevo.",
"fromHistory": "Bifurcado desde el historial"
},
"promptNavigator": {
"open": "Abrir navegador de prompts",
@@ -838,11 +840,11 @@
"agentActivityLiveSummary": "En curso… · {{reasoning}} pasos · {{tools}} llamadas a herramientas",
"agentActivityLiveToolsOnly": "En curso… · {{tools}} llamadas a herramientas",
"imageAttachment": "Imagen adjunta",
"copyMessage": "Copiar mensaje",
"copiedMessage": "Mensaje copiado",
"forkFromHere": "Bifurcar desde aquí",
"copyReply": "Copiar respuesta",
"copiedReply": "Respuesta copiada",
"copyMessage": "Copiar",
"copiedMessage": "Copiado",
"forkFromHere": "Bifurcar",
"copyReply": "Copiar",
"copiedReply": "Copiado",
"turnLatencyTitle": "Tiempo de respuesta (extremo a extremo)",
"activityThinkingFor": "Pensando durante {{duration}}",
"activityThought": "Pensamiento completado",
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "Discussion {{id}}",
"forkTitle": "Branche : {{title}}",
"loading": "Chargement…",
"noSessions": "Aucune session pour le moment.",
"showMore": "Afficher {{count}} de plus",
@@ -811,7 +812,8 @@
"scrollToBottom": "Faire défiler vers le bas",
"loadEarlier": "Charger les messages précédents",
"fork": {
"failed": "Impossible de bifurquer cette conversation. Réessayez."
"failed": "Impossible de bifurquer cette conversation. Réessayez.",
"fromHistory": "Bifurqué depuis l'historique"
},
"promptNavigator": {
"open": "Ouvrir le navigateur de prompts",
@@ -838,11 +840,11 @@
"agentActivityLiveSummary": "En cours… · {{reasoning}} étapes · {{tools}} appels doutils",
"agentActivityLiveToolsOnly": "En cours… · {{tools}} appels doutils",
"imageAttachment": "Pièce jointe image",
"copyMessage": "Copier le message",
"copiedMessage": "Message copié",
"forkFromHere": "Bifurquer depuis ici",
"copyReply": "Copier la réponse",
"copiedReply": "Réponse copiée",
"copyMessage": "Copier",
"copiedMessage": "Copié",
"forkFromHere": "Bifurquer",
"copyReply": "Copier",
"copiedReply": "Copié",
"turnLatencyTitle": "Temps de réponse (de bout en bout)",
"activityThinkingFor": "Réflexion pendant {{duration}}",
"activityThought": "Réflexion terminée",
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "Obrolan {{id}}",
"forkTitle": "Cabang: {{title}}",
"loading": "Memuat…",
"noSessions": "Belum ada sesi.",
"showMore": "Tampilkan {{count}} lagi",
@@ -811,7 +812,8 @@
"scrollToBottom": "Gulir ke bawah",
"loadEarlier": "Muat pesan sebelumnya",
"fork": {
"failed": "Tidak dapat mem-fork chat ini. Coba lagi."
"failed": "Tidak dapat mem-fork chat ini. Coba lagi.",
"fromHistory": "Fork dari riwayat"
},
"promptNavigator": {
"open": "Buka navigator prompt",
@@ -838,11 +840,11 @@
"agentActivityLiveSummary": "Berjalan… · {{reasoning}} langkah · {{tools}} panggilan alat",
"agentActivityLiveToolsOnly": "Berjalan… · {{tools}} panggilan alat",
"imageAttachment": "Lampiran gambar",
"copyMessage": "Salin pesan",
"copiedMessage": "Pesan disalin",
"forkFromHere": "Fork dari sini",
"copyReply": "Salin balasan",
"copiedReply": "Balasan disalin",
"copyMessage": "Salin",
"copiedMessage": "Disalin",
"forkFromHere": "Fork",
"copyReply": "Salin",
"copiedReply": "Disalin",
"turnLatencyTitle": "Waktu respons (ujung ke ujung)",
"activityThinkingFor": "Berpikir selama {{duration}}",
"activityThought": "Selesai berpikir",
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "チャット {{id}}",
"forkTitle": "分岐:{{title}}",
"loading": "読み込み中…",
"noSessions": "まだセッションがありません。",
"showMore": "さらに {{count}} 件表示",
@@ -811,7 +812,8 @@
"scrollToBottom": "一番下へスクロール",
"loadEarlier": "以前のメッセージを読み込む",
"fork": {
"failed": "このチャットを分岐できませんでした。もう一度お試しください。"
"failed": "このチャットを分岐できませんでした。もう一度お試しください。",
"fromHistory": "履歴から分岐"
},
"promptNavigator": {
"open": "プロンプトナビゲーターを開く",
@@ -838,11 +840,11 @@
"agentActivityLiveSummary": "実行中… · {{reasoning}} ステップ · ツール呼び出し {{tools}} 回",
"agentActivityLiveToolsOnly": "実行中… · ツール呼び出し {{tools}} 回",
"imageAttachment": "画像の添付",
"copyMessage": "メッセージをコピー",
"copiedMessage": "メッセージをコピーしました",
"forkFromHere": "ここから分岐",
"copyReply": "返信をコピー",
"copiedReply": "返信をコピーしました",
"copyMessage": "コピー",
"copiedMessage": "コピー済み",
"forkFromHere": "分岐",
"copyReply": "コピー",
"copiedReply": "コピー済み",
"turnLatencyTitle": "応答時間(全行程)",
"activityThinkingFor": "{{duration}}考えています",
"activityThought": "思考しました",
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "채팅 {{id}}",
"forkTitle": "분기: {{title}}",
"loading": "불러오는 중…",
"noSessions": "아직 세션이 없습니다.",
"showMore": "{{count}}개 더 보기",
@@ -811,7 +812,8 @@
"scrollToBottom": "맨 아래로 스크롤",
"loadEarlier": "이전 메시지 불러오기",
"fork": {
"failed": "이 채팅을 분기할 수 없습니다. 다시 시도해 주세요."
"failed": "이 채팅을 분기할 수 없습니다. 다시 시도해 주세요.",
"fromHistory": "기록에서 분기됨"
},
"promptNavigator": {
"open": "프롬프트 탐색기 열기",
@@ -838,11 +840,11 @@
"agentActivityLiveSummary": "진행 중… · {{reasoning}}단계 · 도구 호출 {{tools}}회",
"agentActivityLiveToolsOnly": "진행 중… · 도구 호출 {{tools}}회",
"imageAttachment": "이미지 첨부",
"copyMessage": "메시지 복사",
"copiedMessage": "메시지가 복사됨",
"forkFromHere": "여기서 분기",
"copyReply": "답변 복사",
"copiedReply": "답변이 복사됨",
"copyMessage": "복사",
"copiedMessage": "복사됨",
"forkFromHere": "분기",
"copyReply": "복사",
"copiedReply": "복사됨",
"turnLatencyTitle": "응답 시간(엔드투엔드)",
"activityThinkingFor": "{{duration}} 동안 생각 중",
"activityThought": "생각함",
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "Trò chuyện {{id}}",
"forkTitle": "Nhánh: {{title}}",
"loading": "Đang tải…",
"noSessions": "Chưa có phiên nào.",
"showMore": "Hiển thị thêm {{count}}",
@@ -811,7 +812,8 @@
"scrollToBottom": "Cuộn xuống cuối",
"loadEarlier": "Tải tin nhắn trước đó",
"fork": {
"failed": "Không thể rẽ nhánh cuộc trò chuyện này. Hãy thử lại."
"failed": "Không thể rẽ nhánh cuộc trò chuyện này. Hãy thử lại.",
"fromHistory": "Tách nhánh từ lịch sử"
},
"promptNavigator": {
"open": "Mở trình điều hướng prompt",
@@ -838,11 +840,11 @@
"agentActivityLiveSummary": "Đang chạy… · {{reasoning}} bước · {{tools}} lần gọi công cụ",
"agentActivityLiveToolsOnly": "Đang chạy… · {{tools}} lần gọi công cụ",
"imageAttachment": "Tệp hình ảnh đính kèm",
"copyMessage": "Sao chép tin nhắn",
"copiedMessage": "Đã sao chép tin nhắn",
"forkFromHere": "Rẽ nhánh từ đây",
"copyReply": "Sao chép trả lời",
"copiedReply": "Đã sao chép trả lời",
"copyMessage": "Sao chép",
"copiedMessage": "Đã sao chép",
"forkFromHere": "Tách nhánh",
"copyReply": "Sao chép",
"copiedReply": "Đã sao chép",
"turnLatencyTitle": "Thời gian phản hồi (end-to-end)",
"activityThinkingFor": "Đang suy nghĩ trong {{duration}}",
"activityThought": "Đã suy nghĩ",
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "对话 {{id}}",
"forkTitle": "分叉:{{title}}",
"loading": "加载中…",
"noSessions": "还没有会话。",
"showMore": "再显示 {{count}} 个",
@@ -811,7 +812,8 @@
"scrollToBottom": "滚动到底部",
"loadEarlier": "加载更早消息",
"fork": {
"failed": "无法分叉这个对话,请重试。"
"failed": "无法分叉这个对话,请重试。",
"fromHistory": "从历史消息分叉"
},
"promptNavigator": {
"open": "打开输入导航",
@@ -852,11 +854,11 @@
"imageAttachment": "图片附件",
"automationSourceFallback": "自动化",
"automationTriggered": "自动触发",
"copyMessage": "复制消息",
"copiedMessage": "已复制消息",
"forkFromHere": "从这里分叉",
"copyReply": "复制回复",
"copiedReply": "已复制回复",
"copyMessage": "复制",
"copiedMessage": "已复制",
"forkFromHere": "分叉",
"copyReply": "复制",
"copiedReply": "已复制",
"turnLatencyTitle": "本轮耗时(端到端)"
},
"lightbox": {
+8 -6
View File
@@ -509,6 +509,7 @@
},
"chat": {
"fallbackTitle": "對話 {{id}}",
"forkTitle": "分叉:{{title}}",
"loading": "載入中…",
"noSessions": "目前還沒有會話。",
"showMore": "再顯示 {{count}} 個",
@@ -811,7 +812,8 @@
"scrollToBottom": "捲動到底部",
"loadEarlier": "載入更早訊息",
"fork": {
"failed": "無法分叉這個對話,請重試。"
"failed": "無法分叉這個對話,請重試。",
"fromHistory": "從歷史訊息分叉"
},
"promptNavigator": {
"open": "開啟輸入導覽",
@@ -838,11 +840,11 @@
"agentActivityLiveSummary": "進行中… · {{reasoning}} 步 · {{tools}} 次工具呼叫",
"agentActivityLiveToolsOnly": "進行中… · {{tools}} 次工具呼叫",
"imageAttachment": "圖片附件",
"copyMessage": "複製訊息",
"copiedMessage": "已複製訊息",
"forkFromHere": "從這裡分叉",
"copyReply": "複製回覆",
"copiedReply": "已複製回覆",
"copyMessage": "複製",
"copiedMessage": "已複製",
"forkFromHere": "分叉",
"copyReply": "複製",
"copiedReply": "已複製",
"turnLatencyTitle": "本輪耗時(端到端)",
"activityThinkingFor": "思考中,已 {{duration}}",
"activityThought": "已思考",