优化: AI Chat 消息视图: 闪烁修复+骨架统一+过程卡降级+任务关联 chip
MessageList.vue:
1. 流式闪烁修复: _mdRenderKey 稳定化 + key 对齐, 消除流式重渲染抖动
2. 骨架统一: 过程步骤卡改用 trace 卡骨架(头部一行摘要 + 正文增量)
3. 过程卡视觉降级: 缩进收窄 + 紧贴结果, 弱化过程突出结论
4. 消息任务关联: TASK_REF_TOOLS 映射(advance_task/run_workflow) 从
toolCalls[].args 派生任务 chip, 零数据模型改动(单一事实源), 无任务工具
的消息不渲染 chip; 新增 .ai-trace-task-chip 样式 + go-to-task emit
AiChat.vue: goToTask(taskId) 接参, router.push('/tasks?taskId=xxx')
Tasks.vue: applyRouteTaskId 消费 query.taskId 自动开抽屉(onMounted 跨路由 +
watch 同路由), 消费后 router.replace 清 query 保持 URL 干净
i18n zh/en: aiChat.goToTaskHint + ai.trace.taskRef 双语补键
验收: vue-tsc --noEmit EXIT 0 + build EXIT 0。
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
@start-edit="startEdit"
|
||||
@send-example-prompt="sendExamplePrompt"
|
||||
@go-to-settings="goToSettings"
|
||||
@go-to-task="goToTask"
|
||||
@toast="(p) => showToast(p.msg, p.type)"
|
||||
/>
|
||||
|
||||
@@ -211,6 +212,16 @@ function goToSettings() {
|
||||
router.push('/settings')
|
||||
}
|
||||
|
||||
/** 跳任务详情(消息任务 chip 点击):嵌入模式 router.push('/tasks?taskId=xxx') 由 Tasks.vue
|
||||
* applyRouteTaskId 消费 query 自动开抽屉;分离窗口无 Tasks 路由,降级 toast */
|
||||
function goToTask(taskId: string) {
|
||||
if (props.detached) {
|
||||
showToast(t('aiChat.goToTaskHint'), 'warning')
|
||||
return
|
||||
}
|
||||
router.push({ path: '/tasks', query: { taskId } })
|
||||
}
|
||||
|
||||
/** 点击示例问题卡片:委托 ChatInput 子组件发送(填入输入框 + handleSend 同款路径) */
|
||||
function sendExamplePrompt(i18nKey: string) {
|
||||
chatInputRef.value?.sendExamplePrompt(i18nKey)
|
||||
|
||||
Reference in New Issue
Block a user