Visualization¶
Generate visual representations of workflows.
ASCII Diagrams¶
Generate ASCII art diagrams for terminal output:
from vibe_aigc.visualization import WorkflowVisualizer, VisualizationFormat
# Generate ASCII diagram
ascii_diagram = WorkflowVisualizer.generate_diagram(
plan,
format=VisualizationFormat.ASCII
)
print(ascii_diagram)
Output:
Workflow Plan: plan-001
==================================================
Source Vibe: Create a blog post about AI agents
├── ⏳ [analyze] Research AI agents (research)
├── ⏳ [generate] Create outline (outline)
│ └─ Depends on: research
└── ⏳ [generate] Write content (write)
└─ Depends on: outline
Mermaid Diagrams¶
Generate Mermaid diagrams for documentation:
mermaid = WorkflowVisualizer.generate_diagram(
plan,
format=VisualizationFormat.MERMAID
)
print(mermaid)
Output:
graph TD
research([Research AI agents]):::pending
outline[Create outline]:::pending
write[Write content]:::pending
research --> outline
outline --> write
classDef completed fill:#d4edda,stroke:#28a745
classDef failed fill:#f8d7da,stroke:#dc3545
classDef running fill:#fff3cd,stroke:#ffc107
classDef pending fill:#f8f9fa,stroke:#6c757d
With Execution Status¶
Pass execution results to show status:
result = await planner.execute(vibe)
# Diagram with status indicators
diagram = WorkflowVisualizer.generate_diagram(
plan,
execution_result=result,
format=VisualizationFormat.ASCII
)
print(diagram)
Output:
Workflow Plan: plan-001
==================================================
Source Vibe: Create a blog post about AI agents
├── ✅ [analyze] Research AI agents (research)
├── ✅ [generate] Create outline (outline)
│ └─ Depends on: research
└── ❌ [generate] Write content (write)
└─ Depends on: outline
Execution Summary:
------------------------------
Status: failed
Completed: 2/3
Duration: 5.23s
Status Indicators¶
| Icon | Status |
|---|---|
| ⏳ | Pending |
| 🔄 | Running |
| ✅ | Completed |
| ❌ | Failed |
| ⏭️ | Skipped |
Real-time Visualization¶
Use execute_with_visualization for live updates:
Embedding in Documentation¶
For Markdown/HTML docs, use Mermaid: