优化: ai-chat 对话流布局与轨迹信息密度改造
- 分组行去统计化,调用统计归并轨迹卡头部 - 相对时间改时间分隔线,跨日显绝对时间 - 思考过程单行 pill 化,答案卡加 accent 边 - 工具卡短路径展示与耗时提示统一 - 高风险工具名单启动时同步后端注册表 - 自动重试改琥珀细条,红卡与手动重试仅终态 - 轨迹卡头并时间线行,显轮次号与绝对时间 - 运行中摘要补当前工具名与失败计数 - 执行中工具卡加实时计时,耗时统一人话口径 - 重试残留清理改标记匹配,替代中文子串硬编码
This commit is contained in:
+4
-3
@@ -22,9 +22,9 @@ export default {
|
||||
errorAuth: 'Request failed: the API key is invalid or lacks permission.',
|
||||
errorTimeout: 'The response timed out. Please try again.',
|
||||
errorNetwork: 'Network connection failed. Please check your network.',
|
||||
// CR-30-2 / F-260616-07(d) / decision a1: stream pre-failure retry bubble copy
|
||||
// clarify this is an AI response (network/rate-limit) retry, not a tool failure (shown in card)
|
||||
aiStreamRetry: '⚠ AI response failed, retrying ({attempt}/{max})…',
|
||||
// CR-30-2 / F-260616-07(d) / decision a1: copy for the auto-retry transition line
|
||||
// (neutral wording: a retry is transient, not a terminal failure; exhausted retries still surface the AiError card)
|
||||
aiStreamRetry: 'Connection interrupted, auto-retrying ({attempt}/{max})…',
|
||||
// Fatal errors (4xx/auth) are not retryable — prompt user to check settings instead
|
||||
notRetryable: 'This error cannot be resolved by retrying. Please check the configuration.',
|
||||
streamInterruptedAfterTool: '⚠ The tool finished, but the following reply was interrupted (no data stream for a long time). You can click Continue to retry.',
|
||||
@@ -67,6 +67,7 @@ export default {
|
||||
duration: 'total {time}',
|
||||
expand: 'Expand trace',
|
||||
collapse: 'Collapse trace',
|
||||
roundN: 'Round {n}',
|
||||
processOnly: 'Process log',
|
||||
stepDone: '✓ {n} calls done',
|
||||
stepRunning: 'running {name}',
|
||||
|
||||
@@ -15,14 +15,18 @@ export default {
|
||||
// tool execution failure marker (AR-6 keeps status=completed, red to distinguish from success)
|
||||
executionFailed: 'Failed',
|
||||
executionFailedHint: 'Tool execution failed, see details below',
|
||||
// Singular expand/collapse (ToolCard single-card content, command output toggle; expandAll/collapseAll are for ToolCardList global multi-group)
|
||||
// Singular expand/collapse (ToolCard single-card content, command output toggle)
|
||||
expand: 'Expand',
|
||||
collapse: 'Collapse',
|
||||
expandAll: 'Expand all',
|
||||
collapseAll: 'Collapse all',
|
||||
written: 'written',
|
||||
items: 'items',
|
||||
lines: 'lines',
|
||||
// Status dot tooltips (ToolCard green/red/blue dot hover, zh-en paired)
|
||||
statusOk: 'Success',
|
||||
statusFailed: 'Failed',
|
||||
statusRunning: 'Running',
|
||||
statusPending: 'Pending approval',
|
||||
statusRejected: 'Rejected',
|
||||
// UX-260618-08/11: truncation hints (read_file paged truncation / list_directory 1000-entry cap)
|
||||
linesTruncated: '{shown}/{total} lines, truncated',
|
||||
dirTruncated: 'Truncated, first {n} items only',
|
||||
@@ -74,7 +78,7 @@ export default {
|
||||
advancedTask: 'Task「{title}」 advanced to {status}',
|
||||
// advance_task return-round accumulation (shown only when >0); {title} = task name (TaskRecord), fallback id
|
||||
advancedTaskWithRounds: 'Task「{title}」 advanced to {status} (returned {n} times)',
|
||||
commandOk: 'Command succeeded ({ms} ms)',
|
||||
commandOk: 'Command succeeded ({time})',
|
||||
commandFailed: 'Command failed (exit code {code})',
|
||||
commandOutputLines: '{n} lines of output',
|
||||
patchedFile: 'Patched {path} ({diff} bytes)',
|
||||
@@ -90,7 +94,7 @@ export default {
|
||||
writeOverwrite: 'overwrote {old} → {neww}',
|
||||
encodingLabel: 'encoding: {enc}',
|
||||
// http_request result summary (method + status + elapsed; body in expanded view)
|
||||
httpOk: '{method} {status} OK ({ms} ms)',
|
||||
httpOk: '{method} {status} OK ({time})',
|
||||
httpFailed: '{method} {status} failed',
|
||||
httpTruncated: 'Response truncated ({bytes}), see details',
|
||||
httpRequestFallback: 'HTTP Request',
|
||||
|
||||
@@ -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}',
|
||||
|
||||
@@ -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 请求',
|
||||
|
||||
Reference in New Issue
Block a user