优化: ai-chat 对话流布局与轨迹信息密度改造

- 分组行去统计化,调用统计归并轨迹卡头部
- 相对时间改时间分隔线,跨日显绝对时间
- 思考过程单行 pill 化,答案卡加 accent 边
- 工具卡短路径展示与耗时提示统一
- 高风险工具名单启动时同步后端注册表
- 自动重试改琥珀细条,红卡与手动重试仅终态
- 轨迹卡头并时间线行,显轮次号与绝对时间
- 运行中摘要补当前工具名与失败计数
- 执行中工具卡加实时计时,耗时统一人话口径
- 重试残留清理改标记匹配,替代中文子串硬编码
This commit is contained in:
lxy
2026-10-01 19:35:20 +08:00
parent 0560137840
commit 66c6553cdf
14 changed files with 562 additions and 209 deletions
+4 -3
View File
@@ -22,9 +22,9 @@ export default {
errorAuth: '调用失败:API Key 无效或无权限',
errorTimeout: '响应超时,请重试',
errorNetwork: '网络连接失败,请检查网络',
// CR-30-2 / F-260616-07(d) / 决策 a1: 流前失败重试中错误气泡内更新文案
// 明确这是 AI 响应(网络/限流)重试,非工具执行失败(工具失败在卡片内显示)
aiStreamRetry: '⚠ AI 响应失败,正在重试({attempt}/{max})…',
// CR-30-2 / F-260616-07(d) / 决策 a1: 流中断自动重试的过渡细条文案(中性描述:
// 重试是过渡态非终态失败,不用错误警示语气;重试耗尽的终态失败仍走 AiError 错误卡)
aiStreamRetry: '与上游连接中断,自动重试中({attempt}/{max})…',
// Fatal 类错误(4xx/鉴权)不可重试,提示用户去设置而非重试
notRetryable: '此错误无法通过重试解决,请检查配置',
streamInterruptedAfterTool: '⚠ 工具已执行完成,后续回复中断(长时间无数据流)。可点继续重试。',
@@ -67,6 +67,7 @@ export default {
duration: '总耗时 {time}',
expand: '展开轨迹',
collapse: '收起轨迹',
roundN: '第 {n} 轮',
processOnly: '过程记录',
stepDone: '✓ {n} 次调用完成',
stepRunning: '正在 {name}',
+8 -4
View File
@@ -16,12 +16,16 @@ export default {
executionFailed: '执行失败',
executionFailedHint: '工具执行失败,详情见下方',
collapse: '收起',
expandAll: '展开全部',
expand: '展开',
collapseAll: '全部收起',
written: '已写入',
items: '项',
lines: '行',
// 状态点 tooltip(ToolCard 绿/红/蓝点 hover,中英成对)
statusOk: '成功',
statusFailed: '失败',
statusRunning: '进行中',
statusPending: '待审批',
statusRejected: '已拒绝',
// UX-260618-08/11:截断提示(read_file 分页截断 / list_directory 1000 上限截断)
linesTruncated: '{shown}/{total} 行,已截断',
dirTruncated: '已截断,仅前 {n} 项',
@@ -75,7 +79,7 @@ export default {
advancedTask: '任务「{title}」已推进至 {status}',
// advance_task 退回累加轮数(>0 才显);{title} 显任务名(后端返 TaskRecord),回退 id
advancedTaskWithRounds: '任务「{title}」已推进至 {status}(已退回 {n} 次)',
commandOk: '命令成功({ms} 毫秒)',
commandOk: '命令成功({time})',
commandFailed: '命令失败(退出码 {code})',
commandOutputLines: '{n} 行输出',
patchedFile: '已修改 {path}(增减 {diff} 字节)',
@@ -91,7 +95,7 @@ export default {
writeOverwrite: '覆盖 {old} → {neww}',
encodingLabel: '编码:{enc}',
// http_request 结果摘要(method + 状态码 + 耗时;body 在展开态显示)
httpOk: '{method} {status} 成功({ms} 毫秒)',
httpOk: '{method} {status} 成功({time})',
httpFailed: '{method} {status} 失败',
httpTruncated: '响应已截断({bytes}),详见下方',
httpRequestFallback: 'HTTP 请求',