Skip to content

tylersexton-dev/agentflow

Repository files navigation

AgentFlow

Visual multi-agent AI orchestration platform. Design, execute, and monitor complex AI pipelines using a drag-and-drop canvas — no config files, no infrastructure.

CI TypeScript React License: MIT


What it does

AgentFlow lets you build multi-agent AI workflows visually. Each node is a Claude-powered agent with its own role, system prompt, and parameters. Connect agents to pass outputs downstream, run the whole pipeline with a single prompt, and watch each agent execute in real-time.

Built on top of Claude (claude-sonnet-4-20250514) via the Anthropic API.


Features

  • Visual Pipeline Canvas — Drag-and-drop React Flow canvas. Connect agents into sequential or parallel pipelines. Live status indicators on every node.
  • Multi-Agent Execution Engine — DAG-based execution with Kahn's topological sort. Parallel agents run concurrently via Promise.all. Context from predecessor agents is automatically passed downstream.
  • Real-Time Streaming — SSE-powered live output. Watch each agent generate tokens as they arrive, not when they finish.
  • 4 Built-in Templates — Deep Research, Code Review (4-agent parallel), Content Creation, and Competitive Analysis pipelines ready to run immediately.
  • Pipeline Library — Browse templates by category, load them to canvas in one click.
  • Analytics Dashboard — Run history, success rates, token usage, 30-day activity chart.
  • Import / Export — JSON pipeline definitions you can version-control, share, and modify programmatically.
  • REST API — Full programmatic access. Run pipelines, retrieve results, integrate with your own tools.
  • Full Test Suite — Integration tests for all API routes. Unit tests for the orchestration engine with a mocked Claude client. No API key required to run tests.
  • CI/CD — GitHub Actions pipeline: type-check, test, build.

Architecture

agentflow/
├── apps/
│   ├── api/          Express + TypeScript backend
│   │   └── src/
│   │       ├── services/orchestration.ts   DAG execution engine
│   │       ├── services/claude.ts          Anthropic SDK wrapper
│   │       ├── services/sse.ts             Real-time streaming
│   │       ├── models/                     SQLite data access
│   │       └── routes/                     REST endpoints
│   └── web/          React + TypeScript frontend
│       └── src/
│           ├── components/Canvas/          React Flow canvas
│           ├── components/Execution/       Live streaming panel
│           ├── components/Library/         Template browser
│           ├── components/Dashboard/       Metrics + history
│           └── store/                      Zustand global state
├── tests/api/        Integration + unit tests
├── docs/             Architecture + API reference
└── .github/          CI workflows

The execution engine uses Kahn's BFS algorithm for topological ordering. Nodes whose predecessors have all completed execute concurrently. A 4-agent fan-in pipeline runs the 3 parallel agents simultaneously, then the coordinator receives all their outputs at once.

See docs/architecture.md for the full system diagram and design decisions.


Quickstart

Prerequisites

1. Clone and install

git clone https://github.com/yourusername/agentflow.git
cd agentflow
npm install

2. Configure environment

cp .env.example .env
# Add your Anthropic API key to .env

3. Run

npm run dev

This starts both the API (port 3001) and the React frontend (port 5173). Open http://localhost:5173.

4. Try it

  1. Click Library in the sidebar
  2. Load the Deep Research Pipeline template
  3. Go back to Canvas
  4. Click Run and enter a research topic
  5. Watch three agents execute in real-time in the execution panel

Built-in Pipeline Templates

Template Agents Pattern Best for
Deep Research 3 Sequential Comprehensive research reports
Code Review 4 Parallel fan-in Multi-perspective code reviews
Content Creation 3 Sequential Blog posts, articles, copy
Competitive Analysis 2 Sequential Market research, strategy

Running Tests

npm run test              # All tests
npm run test:api          # API integration + unit tests only
npm run test:web          # Frontend component tests only

Tests use an in-memory SQLite database and a mocked Claude client — no API key required.


REST API

# List pipelines
GET /api/pipelines

# Create a pipeline
POST /api/pipelines
{ "name": "My Pipeline", "nodes": [...], "edges": [...] }

# Run a pipeline (sync)
POST /api/executions/run-sync
{ "pipelineId": "uuid", "input": "Your prompt here" }

# Dashboard metrics
GET /api/executions/metrics

See docs/api-reference.md for the full spec.


Tech Stack

Layer Tech
Frontend React 18, TypeScript, Vite, React Flow, Zustand, Lucide
Backend Node.js, Express, TypeScript
Database SQLite (better-sqlite3), WAL mode
AI Claude API via @anthropic-ai/sdk
Real-Time Server-Sent Events
Testing Jest, Supertest, Vitest, React Testing Library
CI/CD GitHub Actions
Package Management npm workspaces (monorepo)

License

MIT

About

Visual multi-agent AI orchestration platform. Drag-and-drop pipeline builder, real-time Claude streaming, DAG execution engine.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors