feat(webui): add assistant reply fork-from-here

This commit is contained in:
Bayern4ever-dot
2026-06-10 04:26:06 +08:00
committed by Xubin Ren
parent 4a58b83acc
commit 03bca4c0a9
30 changed files with 1358 additions and 36 deletions
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "Scroll to bottom",
"loadEarlier": "Load earlier messages",
"fork": {
"failed": "Could not fork this chat. Try again."
},
"promptNavigator": {
"open": "Open prompt navigator",
"title": "Prompts",
@@ -849,6 +852,9 @@
"imageAttachment": "Image attachment",
"automationSourceFallback": "Automation",
"automationTriggered": "Triggered automatically",
"copyMessage": "Copy message",
"copiedMessage": "Copied message",
"forkFromHere": "Fork from here",
"copyReply": "Copy reply",
"copiedReply": "Copied reply",
"turnLatencyTitle": "Response time (end-to-end)"
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "Desplazarse al final",
"loadEarlier": "Cargar mensajes anteriores",
"fork": {
"failed": "No se pudo bifurcar este chat. Inténtalo de nuevo."
},
"promptNavigator": {
"open": "Abrir navegador de prompts",
"title": "Prompts",
@@ -835,6 +838,9 @@
"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",
"turnLatencyTitle": "Tiempo de respuesta (extremo a extremo)",
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "Faire défiler vers le bas",
"loadEarlier": "Charger les messages précédents",
"fork": {
"failed": "Impossible de bifurquer cette conversation. Réessayez."
},
"promptNavigator": {
"open": "Ouvrir le navigateur de prompts",
"title": "Prompts",
@@ -835,6 +838,9 @@
"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",
"turnLatencyTitle": "Temps de réponse (de bout en bout)",
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "Gulir ke bawah",
"loadEarlier": "Muat pesan sebelumnya",
"fork": {
"failed": "Tidak dapat mem-fork chat ini. Coba lagi."
},
"promptNavigator": {
"open": "Buka navigator prompt",
"title": "Prompt",
@@ -835,6 +838,9 @@
"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",
"turnLatencyTitle": "Waktu respons (ujung ke ujung)",
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "一番下へスクロール",
"loadEarlier": "以前のメッセージを読み込む",
"fork": {
"failed": "このチャットを分岐できませんでした。もう一度お試しください。"
},
"promptNavigator": {
"open": "プロンプトナビゲーターを開く",
"title": "プロンプト",
@@ -835,6 +838,9 @@
"agentActivityLiveSummary": "実行中… · {{reasoning}} ステップ · ツール呼び出し {{tools}} 回",
"agentActivityLiveToolsOnly": "実行中… · ツール呼び出し {{tools}} 回",
"imageAttachment": "画像の添付",
"copyMessage": "メッセージをコピー",
"copiedMessage": "メッセージをコピーしました",
"forkFromHere": "ここから分岐",
"copyReply": "返信をコピー",
"copiedReply": "返信をコピーしました",
"turnLatencyTitle": "応答時間(全行程)",
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "맨 아래로 스크롤",
"loadEarlier": "이전 메시지 불러오기",
"fork": {
"failed": "이 채팅을 분기할 수 없습니다. 다시 시도해 주세요."
},
"promptNavigator": {
"open": "프롬프트 탐색기 열기",
"title": "프롬프트",
@@ -835,6 +838,9 @@
"agentActivityLiveSummary": "진행 중… · {{reasoning}}단계 · 도구 호출 {{tools}}회",
"agentActivityLiveToolsOnly": "진행 중… · 도구 호출 {{tools}}회",
"imageAttachment": "이미지 첨부",
"copyMessage": "메시지 복사",
"copiedMessage": "메시지가 복사됨",
"forkFromHere": "여기서 분기",
"copyReply": "답변 복사",
"copiedReply": "답변이 복사됨",
"turnLatencyTitle": "응답 시간(엔드투엔드)",
+6
View File
@@ -810,6 +810,9 @@
},
"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."
},
"promptNavigator": {
"open": "Mở trình điều hướng prompt",
"title": "Prompt",
@@ -835,6 +838,9 @@
"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",
"turnLatencyTitle": "Thời gian phản hồi (end-to-end)",
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "滚动到底部",
"loadEarlier": "加载更早消息",
"fork": {
"failed": "无法分叉这个对话,请重试。"
},
"promptNavigator": {
"open": "打开输入导航",
"title": "输入列表",
@@ -849,6 +852,9 @@
"imageAttachment": "图片附件",
"automationSourceFallback": "自动化",
"automationTriggered": "自动触发",
"copyMessage": "复制消息",
"copiedMessage": "已复制消息",
"forkFromHere": "从这里分叉",
"copyReply": "复制回复",
"copiedReply": "已复制回复",
"turnLatencyTitle": "本轮耗时(端到端)"
+6
View File
@@ -810,6 +810,9 @@
},
"scrollToBottom": "捲動到底部",
"loadEarlier": "載入更早訊息",
"fork": {
"failed": "無法分叉這個對話,請重試。"
},
"promptNavigator": {
"open": "開啟輸入導覽",
"title": "輸入列表",
@@ -835,6 +838,9 @@
"agentActivityLiveSummary": "進行中… · {{reasoning}} 步 · {{tools}} 次工具呼叫",
"agentActivityLiveToolsOnly": "進行中… · {{tools}} 次工具呼叫",
"imageAttachment": "圖片附件",
"copyMessage": "複製訊息",
"copiedMessage": "已複製訊息",
"forkFromHere": "從這裡分叉",
"copyReply": "複製回覆",
"copiedReply": "已複製回覆",
"turnLatencyTitle": "本輪耗時(端到端)",