feat: 添加管线阶段可视化展示并改进任务日志

- 添加 PipelineStages 组件,用圆角矩形和箭头展示管线阶段
- 三色方案:已完成为浅绿、进行中为浅橙、未完成为灰色
- 任务列表中显示进度百分比和管线阶段
- 增强后端日志输出,添加任务启动、进度更新和管线完成日志
- 用于诊断任务卡在 running 状态的问题
This commit is contained in:
2026-05-25 18:34:46 +08:00
parent 0847d126a2
commit e0a70106c1
3 changed files with 87 additions and 3 deletions
+12 -3
View File
@@ -3,6 +3,7 @@ import { useParams } from 'react-router-dom'
import { getTasks } from '../api/project'
import type { Task } from '../api/types'
import StatusBadge from './StatusBadge'
import PipelineStages from './PipelineStages'
import Skeleton from './Skeleton'
const ASSET_TYPE_LABELS: Record<string, string> = {
@@ -103,9 +104,17 @@ export default function TaskListPanel() {
>
{task.prompt}
</p>
<span style={{ fontSize: 11, color: 'var(--text-muted)', marginTop: 4, display: 'block' }}>
{formatRelativeTime(task.createdAt)}
</span>
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginTop: 4 }}>
<span style={{ fontSize: 11, color: 'var(--text-muted)' }}>
{formatRelativeTime(task.createdAt)}
</span>
{task.progress !== undefined && task.status === 'running' && (
<span style={{ fontSize: 11, color: 'var(--text-muted)' }}>
{task.progress}%
</span>
)}
</div>
<PipelineStages currentStage={task.stage ?? null} status={task.status} />
</a>
))
)}