diff --git a/web/app/dashboard/ai-workflow-runs/_components/workflow-run-audit-graph.tsx b/web/app/dashboard/ai-workflow-runs/_components/workflow-run-audit-graph.tsx
index 2a8d203..757cd94 100644
--- a/web/app/dashboard/ai-workflow-runs/_components/workflow-run-audit-graph.tsx
+++ b/web/app/dashboard/ai-workflow-runs/_components/workflow-run-audit-graph.tsx
@@ -80,8 +80,8 @@ const auditEdgeTypes = {
}
const fitViewOptions = {
- padding: 0.18,
- minZoom: 0.45,
+ padding: 0.12,
+ minZoom: 0.32,
maxZoom: 1,
}
@@ -92,6 +92,11 @@ const defaultEdgeOptions = {
},
}
+const auditLayoutScale = {
+ x: 1.35,
+ y: 1.15,
+}
+
export function WorkflowRunAuditGraph({ run }: { run: AIWorkflowRun }) {
const nodeRuns = run.nodes ?? []
const nodeRunByNodeId = useMemo(() => {
@@ -111,7 +116,7 @@ export function WorkflowRunAuditGraph({ run }: { run: AIWorkflowRun }) {
return {
id: node.id,
type: "auditNode",
- position: node.position ?? { x: 0, y: 0 },
+ position: scaleAuditPosition(node.position),
data: {
nodeId: node.id,
nodeType: node.type,
@@ -150,8 +155,8 @@ export function WorkflowRunAuditGraph({ run }: { run: AIWorkflowRun }) {
}
return (
-
-
+
+
) {
if (condition) {
return (
-
+
-
-
-
{data.name}
+
+
+
{data.name}
{data.statusName || "未执行"}
@@ -264,22 +269,22 @@ function AuditCanvasNode({ data }: NodeProps
) {
return (
-
-
- {failed ?
:
}
+
+
+ {failed ?
:
}
-
{data.name}
+
{data.name}
{data.nodeType}
-
+
{data.statusName || "未执行"}
{executed ? (
@@ -305,7 +310,7 @@ function AuditSidePanel({
const branchDecision = extractBranchDecision(outputValue)
return (
-
+
@@ -354,6 +359,13 @@ function AuditMeta({ label, value }: { label: string; value: string }) {
)
}
+function scaleAuditPosition(position: AIWorkflowDefinition["nodes"][number]["position"] | undefined) {
+ return {
+ x: Math.round((position?.x ?? 0) * auditLayoutScale.x),
+ y: Math.round((position?.y ?? 0) * auditLayoutScale.y),
+ }
+}
+
function BranchDecisionBlock({ decision }: { decision: BranchDecision }) {
return (
diff --git a/web/app/dashboard/ai-workflow-runs/page.tsx b/web/app/dashboard/ai-workflow-runs/page.tsx
index 77bd30c..5a4418e 100644
--- a/web/app/dashboard/ai-workflow-runs/page.tsx
+++ b/web/app/dashboard/ai-workflow-runs/page.tsx
@@ -380,30 +380,29 @@ function WorkflowRunDetailDialog({
{loading ? (
{t("workflowRun.loadingDetail")}
) : run ? (
-
-
-
-
-
-
-
+
+
+
+
+
+ void onOpenConversation(run.conversationId)}
>
#{run.conversationId}
}
/>
-
-
-
-
-
+
+
+
+ {run.interruptNodeId ? : null}
{run.errorMessage ? (
@@ -502,6 +501,15 @@ function DetailRow({ label, value }: { label: string; value: ReactNode }) {
)
}
+function CompactRunMeta({ label, value }: { label: string; value: ReactNode }) {
+ return (
+
+ {label}
+ {value || "-"}
+
+ )
+}
+
function safeParseJSON(raw: string): unknown | null {
const trimmed = raw.trim()
if (!trimmed) {