+
+
{detail.project.name}
+
{subtitle}
+
+ {threadStatusDocument
+ ? renderMetadataLine([
+ threadStatusDocument.threadId,
+ threadStatusDocument.deviceId,
+ `更新于 ${formatTimestampLabel(threadStatusDocument.updatedAt)}`,
+ ])
+ : "当前还没有线程状态文档。"}
+
+
+
+ {threadStatusDocument ? (
+ <>
+
+
当前目标
+
+ {renderFallback(threadStatusDocument.projectGoal, "暂无目标")}
+
+
+
+
当前阶段
+
+ {renderFallback(threadStatusDocument.currentPhase, "暂无阶段")}
+
+
+
+
当前进度
+
+ {renderFallback(threadStatusDocument.currentProgress, "暂无进度")}
+
+
+
+
技术架构
+
+ {renderFallback(threadStatusDocument.technicalArchitecture, "暂无架构")}
+
+
+
+
当前阻塞
+
+ {renderFallback(threadStatusDocument.currentBlockers, "暂无阻塞")}
+
+
+
+
建议下一步
+
+ {renderFallback(threadStatusDocument.recommendedNextStep, "暂无建议")}
+
+
+
+
关键文件
+
+ {threadStatusDocument.keyFiles.length
+ ? threadStatusDocument.keyFiles.join("\n")
+ : "暂无关键文件"}
+
+
+
+
关键命令
+
+ {threadStatusDocument.keyCommands.length
+ ? threadStatusDocument.keyCommands.join("\n")
+ : "暂无关键命令"}
+
+
+ >
+ ) : (
+
+ 当前线程还没有生成状态文档。等主 Agent 第一次完成项目理解或后续线程出现明显推进后,这里会自动补全。
+
+ )}
+
+
+
+
最近进展事件
+
+ {recentProgressEvents.length ? `最近 ${recentProgressEvents.length} 条` : "暂无事件"}
+
+
+
+ {recentProgressEvents.length ? (
+ recentProgressEvents.map((event) => (
+
+
+ {renderFallback(event.phase, event.eventType)}
+ {formatTimestampLabel(event.createdAt)}
+
+
{event.summary}
+
+ {renderMetadataLine([event.threadDisplayName, event.deviceId])}
+
+ {event.blockerDelta ? (
+
+ 阻塞变化:{event.blockerDelta}
+
+ ) : null}
+ {event.nextStepDelta ? (
+
+ 下一步变化:{event.nextStepDelta}
+
+ ) : null}
+
+ ))
+ ) : (
+
+ 当前还没有线程进展事件。
+
+ )}
+
+
+
+