feat: workflow和chat分离

1,增加了创建workflow的页面
2.删除了event
This commit is contained in:
2026-05-14 15:51:28 +00:00
parent c0e4fd34ae
commit 78bd6adc48
30 changed files with 1196 additions and 760 deletions
+6 -9
View File
@@ -23,7 +23,8 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
try {
const response = await apiClient.get(`/api/v1/workflow/${traceId}`);
setDetail(response.data);
} catch {
} catch (err) {
console.error('Failed to fetch workflow detail', err);
setDetail(null);
} finally {
setLoading(false);
@@ -38,7 +39,7 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
}
fetchDetail(selectedWorkflow);
setLogs([]); // Reset logs when changing workflow
setLogs([]);
const protocol = window.location.protocol;
const host = window.location.host;
@@ -95,8 +96,8 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
<div className="flex items-center gap-4">
<h2 className="font-semibold text-slate-800 flex items-center gap-2">
<Terminal size={18} className="text-blue-500" />
<span className="truncate max-w-[200px]" title={detail?.workflow_title || 'Loading...'}>
{detail?.workflow_title || 'Workflow Details'}
<span className="truncate max-w-[200px]" title={detail?.title || 'Loading...'}>
{detail?.title || 'Workflow Details'}
</span>
</h2>
<span className={`px-2 py-0.5 text-xs rounded-full font-medium ${sseConnected ? 'bg-green-100 text-green-700' : 'bg-slate-100 text-slate-500'}`}>
@@ -104,7 +105,6 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
</span>
</div>
{/* Navigation Tabs */}
<div className="flex items-center bg-slate-100 rounded-lg p-1">
<button
onClick={() => setActiveTab('chat')}
@@ -135,7 +135,7 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
{activeTab === 'diagram' ? (
<div className="absolute inset-0">
{detail?.steps && detail.steps.length > 0 ? (
<WorkflowDiagram steps={detail.steps} currentStep={detail.current_step} status={detail.status} />
<WorkflowDiagram steps={detail.steps} currentStep={0} status={detail.status} />
) : (
<div className="h-full flex items-center justify-center text-slate-400">
Workflow steps are not yet generated.
@@ -144,7 +144,6 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
</div>
) : (
<div className="flex-1 flex flex-col p-6 overflow-hidden">
{/* Command Header */}
{detail?.command && (
<div className="bg-white border border-slate-200 rounded-xl p-4 mb-4 shadow-sm shrink-0">
<h3 className="text-xs font-semibold text-slate-500 uppercase tracking-wider mb-2">Original Command</h3>
@@ -152,7 +151,6 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
</div>
)}
{/* Live Chat / Logs Area */}
<div className="flex-1 bg-white border border-slate-200 rounded-xl shadow-sm overflow-y-auto p-4 mb-4 space-y-3 font-mono text-sm">
{logs.length === 0 ? (
<div className="h-full flex items-center justify-center text-slate-400">
@@ -168,7 +166,6 @@ export function RightPanel({ selectedWorkflow }: RightPanelProps) {
<div ref={logsEndRef} />
</div>
{/* Input Area */}
<form onSubmit={handleReplySubmit} className="relative shrink-0">
<input
type="text"