mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-05-30 12:50:14 +08:00
fix(chat): 会话列表无区分度,让用户误以为是 mock 数据
## 问题
用户截图:会话列表 20+ 项全部显示「新对话 / QC-505 / 5月8日」,
完全相同,怀疑是写死的 mock 数据。
## 真相
数据其实是真实的(hermes sessions export 输出的 JSONL):
- title 全空 → fallback 到 t('chatNewSession') = "新对话"
- 用户用同一模型 QC-505 跑了所有会话
- 用户在同一天(5月8日)跑的
- 视觉冗余 100% → 看起来像写死
## 修复(让真实数据显示出区分度)
1. sessionDisplayTitle: 没标题时不再统一显示「新对话」,
改为「未命名 · {id 后6位}」(每个会话不同后缀,一眼能区分)
2. meta 行加 messageCount —— 显示「N 条」让每个会话有自己的数字
3. 加 i18n 键 chatUntitledSession + chatSessionMsgCount(11 语完整)
## 效果
之前:
新对话
QC-505 5月8日
新对话
QC-505 5月8日
... × 20
之后:
未命名 · a3f2b8
QC-505 5月8日 28 条
未命名 · 7c91d4
QC-505 5月8日 14 条
未命名 · e082f1
QC-505 5月8日 3 条
...
用户立刻能看出每个会话是真实独立的,不会再怀疑 mock。
This commit is contained in:
@@ -99,7 +99,14 @@ function formatTime(ts) {
|
||||
}
|
||||
|
||||
function sessionDisplayTitle(s) {
|
||||
return s.title || t('engine.chatNewSession')
|
||||
if (s.title) return s.title
|
||||
// 没有标题时用 id 后 6 位区分(避免 20+ 个会话都显示"新对话",让用户误以为是 mock 数据)
|
||||
const sid = String(s.id || '')
|
||||
if (sid && sid.length >= 6) {
|
||||
const tail = sid.slice(-6)
|
||||
return t('engine.chatUntitledSession', { id: tail })
|
||||
}
|
||||
return t('engine.chatNewSession')
|
||||
}
|
||||
|
||||
/** Compact token formatter — `1234567 → "1.2M"`, `12345 → "12.3k"`, `42 → "42"`. */
|
||||
@@ -373,6 +380,7 @@ export function render() {
|
||||
<div class="hm-chat-session-meta">
|
||||
${s.model ? `<span class="hm-chat-session-model">${escHtml(s.model)}</span>` : ''}
|
||||
<span class="hm-chat-session-time">${escHtml(formatTime(s.updatedAt || s.createdAt))}</span>
|
||||
${s.messageCount > 0 ? `<span class="hm-chat-session-msgs">${escHtml(t('engine.chatSessionMsgCount', { n: s.messageCount }))}</span>` : ''}
|
||||
</div>
|
||||
</div>
|
||||
${selectionMode ? '' : `
|
||||
|
||||
@@ -299,6 +299,8 @@ export default {
|
||||
chatPlaceholder: _('输入消息...', 'Type a message...', '輸入訊息...'),
|
||||
chatSend: _('发送', 'Send', '發送'),
|
||||
chatNewSession: _('新对话', 'New Chat', '新對話'),
|
||||
chatUntitledSession: _('未命名 · {id}', 'Untitled · {id}', '未命名 · {id}', '無題 · {id}', '제목 없음 · {id}', 'Chưa đặt tên · {id}', 'Sin título · {id}', 'Sem título · {id}', 'Без названия · {id}', 'Sans titre · {id}', 'Ohne Titel · {id}'),
|
||||
chatSessionMsgCount: _('{n} 条', '{n} msgs', '{n} 則', '{n} 件', '{n}개', '{n} tin', '{n} mensajes', '{n} mensagens', '{n} сообщ.', '{n} messages', '{n} Nachrichten'),
|
||||
chatNewChat: _('新建', 'New chat', '新建'),
|
||||
chatThinking: _('正在思考...', 'Thinking...', '正在思考...'),
|
||||
chatError: _('发送失败: {error}', 'Send failed: {error}', '發送失敗: {error}'),
|
||||
|
||||
Reference in New Issue
Block a user