Skip to main content

Debug UI for flow-forge-ai workflows.

Project description

flow-forge-ai-ui

Web UI for browsing and replaying flow-forge-ai workflow runs.

Python 3.11+ UI: FastAPI

What It Does

  • Connects to the runtime listener started by flow-forge-ai
  • Displays a list of recorded runs and their steps/events
  • Lets you trigger and monitor workflow replays from the browser

Requirements

  • flow-forge-ai installed and configured with [runtime].enable = true
  • The runtime listener must be reachable at the configured listener_host:listener_port

Installation

cd ui
pip install -e .

Or install via the ui extra from the core package:

cd core
pip install -e ".[ui]"

Starting the UI

flow-forge-ai-ui

By default the server listens on http://127.0.0.1:8080.

Options

flow-forge-ai-ui --host 0.0.0.0 --port 9090
Flag Default Description
-H / --host 127.0.0.1 Bind address
-p / --port 8080 Port

Configuration

The UI reads config.toml from the current working directory (the same file used by the core runtime). It uses the [runtime] section to locate the listener:

[runtime]
enable = true
listener_host = "127.0.0.1"
listener_port = 7070

Make sure the runtime listener is started before opening the UI. The core package starts the listener automatically when a workflow run begins inside an instrumented process.

Usage

  1. Start your workflow in another terminal (the core runtime listener starts automatically):

    cd core/examples/02_ollama_workflow_decorator
    python example.py
    
  2. Start the UI from the directory containing config.toml:

    flow-forge-ai-ui
    
  3. Open http://127.0.0.1:8080 in your browser.

The UI shows all recorded runs. Select a run to inspect its steps and events, or trigger a replay.

API Routes

The UI itself is a thin FastAPI app that proxies requests to the core runtime listener. It exposes the following routes:

Method Path Description
GET / Main UI page (HTML)
GET /api/runs Proxy: list runs
GET /api/steps Proxy: list steps for a run
POST /api/runs/{run_id}/replay Proxy: start replay
GET /api/runs/{run_id}/replay Proxy: get replay status
DELETE /api/runs/{run_id}/replay Proxy: stop replay

Package Layout

ui/
├── src/flow_forge_ai_ui/
│   ├── app.py          # FastAPI app factory and CLI entry point
│   ├── routes.py       # Route handlers and runtime proxy client
│   ├── templates/      # Jinja2 HTML templates
│   └── static/         # JS and static assets
└── tests/

Development

# Install dev dependencies (from core package which includes UI dev deps)
cd core
pip install -e ".[dev]"

# Run UI tests
cd ui
pytest

# Run tests with coverage
pytest --cov=flow_forge_ai_ui --cov-report=term-missing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flow_forge_ai_sdk_ui-0.1.0.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flow_forge_ai_sdk_ui-0.1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file flow_forge_ai_sdk_ui-0.1.0.tar.gz.

File metadata

  • Download URL: flow_forge_ai_sdk_ui-0.1.0.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for flow_forge_ai_sdk_ui-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d6e45a9b5ee75e674536c5175518da56dde021ef7b8afcc9000aeb1aa97765da
MD5 e261b34634002c96b1fc66ebb1530382
BLAKE2b-256 9458efda592ce05056db7b6f33589b90e89fdf5b0d3fc62d31a15865e6e75bd4

See more details on using hashes here.

File details

Details for the file flow_forge_ai_sdk_ui-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for flow_forge_ai_sdk_ui-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f4efc935889eb08d9f9b791f72b9b2bdd5b2aa58f73588c216ab69ddf1c5396
MD5 e1961359d27b410e7f8b51bd6db51a22
BLAKE2b-256 dd9b963f79ac5be1d12103b420092463f6bdb533465d2951d96e97a49391c082

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page