Skip to main content


Binex

Open-source visual orchestrator for AI agent workflows
Build, run, debug, and replay multi-agent pipelines — 100% locally.

PyPI Python License CI E2E Coverage gate Docs Stars

Demo · Install · Web UI · Features · Docs · Issues



Demo

1. Start in seconds

Quick Start
Install, run binex ui, and you're building workflows

2. Build & run custom workflows

Custom Workflow
Drag & drop nodes, configure models, run with human input

3. Explore & debug results

Explore Results
Debug, trace, diff, lineage — full post-mortem inspection

(back to top)


What is Binex?

Binex is an open-source, fully local runtime for AI agent workflows. No cloud. No telemetry. No vendor lock-in.

pip install binex
binex ui

That's it. Browser opens. You're building AI workflows.

Why Binex?

  • 100% local — your data never leaves your machine
  • 100% open source — MIT licensed, audit every line
  • Zero telemetry — no tracking, no analytics, no surprises
  • Full debuggability — every input, output, prompt, and cost is visible
  • Any model — OpenAI, Anthropic, Google, Ollama, OpenRouter, DeepSeek, and 40+ more via LiteLLM

How it compares

LangGraph, CrewAI, and AutoGen are frameworks for building agents. Binex is a debuggable runtime — it competes on everything after "run": trace, cost, diff, bisect, replay, and regression gates, all local.

Capability Binex LangGraph CrewAI AutoGen
Built-in trace / replay / diff / bisect ✅ ⚠️ hosted (LangSmith) ❌ ❌
Per-node / per-call cost tracking ✅ ⚠️ ⚠️ ⚠️
Regression safety net (eval + golden-run diff) ✅ ❌ ❌ ❌
Visual editor and CLI ✅ ⚠️ Studio ❌ ⚠️ Studio
YAML workflows ✅ ❌ ⚠️ ❌
Debug an existing run without migrating ✅ observer ❌ ❌ ❌
Local-first, no cloud ✅ ✅ ✅ ✅

They also compose — point Binex's observe() at an existing CrewAI/LangGraph run to get its debugging without migrating. Full breakdown, including where each tool shines, in docs/comparison.md.

(back to top)


Installation

Requires Python 3.11+

pip install binex

With extras:

pip install binex[langchain]    # LangChain Runnables
pip install binex[crewai]       # CrewAI Crews
pip install binex[autogen]      # AutoGen Teams
pip install binex[telemetry]    # OpenTelemetry tracing
pip install binex[rich]         # Rich colored CLI output

Docker

Prefer a container? Run the CLI and Web UI without touching your Python environment:

# From the repo root — builds the frontend + installs Binex, serves the Web UI.
docker compose -f docker/docker-compose.webui.yml up --build
# → open http://localhost:8420

Runs, artifacts, and workspaces persist in the binex-data volume. Pass API keys via the environment (or a .env file), e.g. OPENAI_API_KEY=… docker compose …. For a fully-local setup, add the bundled Ollama sidecar with --profile local. Run one-off CLI commands against the same image:

docker build -f docker/Dockerfile.webui -t binex .
docker run --rm -v binex-data:/data binex binex run workflow.yaml

The separate docker/docker-compose.yml is a different deployment — the A2A agent-server mesh (planner/researcher/… + Ollama + LiteLLM), not the Web UI.

(back to top)


Web UI

Launch the visual workflow editor:

binex ui

Visual Drag & Drop Editor

Workflow Editor
Collapsible node sections, tool picker with 10 built-in tools, MCP config, Visual ↔ YAML sync

6 node types: LLM Agent, Local Script, Human Input, Human Approve, Human Output, A2A Agent

  • 20+ preset models including 8 free OpenRouter models
  • Built-in prompt library (Planner, Researcher, Analyzer, Writer, Reviewer, Summarizer)
  • Tool Picker — 10 built-in tools, MCP server integration, custom Python tools
  • Collapsible sections — Model, Prompt, Tools, Advanced per LLM node
  • Workflow Settings panel — configure MCP servers (stdio/HTTP) and cron schedules
  • Switch between Visual and YAML modes — changes sync both ways (including tools & MCP)
  • Real-time cost estimation as you build
  • Custom model input — use any litellm-compatible model

Dashboard

Runs Dashboard
All runs at a glance — status, cost, duration

Debugging & Analysis

Debug View Trace Timeline
Left: Node-by-node debug inspection. Right: Gantt timeline with anomaly detection.

Run Comparison

Diff View
Side-by-side diff with filtering: changed, failed, cost delta

20 Pages — Full CLI Parity

Category Pages
Workflows Browse, Visual Editor (with tool picker & MCP config), Scaffold Wizard
Runs Dashboard, RunLive (SSE), RunDetail
Analysis Debug (input/output artifacts), Trace (Gantt timeline), Diagnose (root-cause), Lineage (artifact graph), Eval (suite results & baselines)
Comparison Diff (side-by-side with filter bar, compare with previous run), Bisect (NodeMap, DAG visualization, divergence metrics)
Costs Cost Dashboard (charts), Budget Management
System Doctor (health), Plugins, Gateway, Export, Scheduler (cron)

Navigation

Sidebar organized into 4 groups: Build (Editor, Scaffold), Runs (Dashboard), Analyze (Compare, Bisect), System (Gateway, Plugins, Doctor). Run-specific pages (Debug, Trace, Diagnose, Lineage, Costs) open from run context.

Replay

Debug any node → click Replay → swap the model or prompt → re-run just that node. No re-running the entire pipeline.

(back to top)


Quickstart

CLI

# Zero-config demo
binex hello

Tip: Runs a 2-node demo workflow (producer → consumer), no API keys needed.

# Run a workflow
binex run examples/simple.yaml

Tip: Uses your configured LLM provider. Set OPENAI_API_KEY or use ollama for fully local runs.

# Inspect the run
binex debug latest
binex trace latest

Tip: debug shows per-node inputs/outputs. trace shows the execution timeline as a Gantt chart.

Web UI

binex ui

Tip: Opens the browser automatically. Use --port 9000 to change the port, --no-browser to skip auto-open.

Create a Workflow

name: research-pipeline
nodes:
  input:
    agent: "human://input"
    outputs: [output]

  planner:
    agent: "llm://gemini/gemini-2.5-flash"
    system_prompt: "Break this topic into research questions"
    tools:
      - "builtin://web_search"
      - "builtin://calculator"
    depends_on: [input]
    outputs: [output]

  researcher:
    agent: "llm://openrouter/google/gemma-3-27b-it:free"
    system_prompt: "Investigate and report findings"
    tools:
      - "builtin://fetch_url"
    depends_on: [planner]
    outputs: [output]

  output:
    agent: "human://output"
    depends_on: [researcher]
    outputs: [output]

(back to top)


Features

Agent Adapters

Prefix Description
local:// In-process Python callable
llm:// LLM via LiteLLM (40+ providers)
a2a:// Remote agent via A2A protocol
human://input Free-text input from user
human://approve Approval gate with conditional branching
human://output Display results to user
builtin:// 10 built-in tools (calculator, web_search, shell_command, etc.)
mcp:// MCP server tools (stdio or HTTP transport)
python:// Custom Python function as tool
langchain:// LangChain Runnable (plugin)
crewai:// CrewAI Crew (plugin)
autogen:// AutoGen Team (plugin)

CLI Commands

Command Description
binex run Execute a workflow
binex ui Launch Web UI
binex debug Post-mortem inspection
binex trace Execution timeline
binex replay Re-run with agent swaps
binex diff Compare two runs
binex diagnose Root-cause failure analysis
binex bisect Find first divergence between two runs
binex cost show Cost breakdown per node
binex explore Interactive TUI dashboard
binex scaffold Generate workflow from DSL
binex export Export to CSV/JSON
binex doctor System health check
binex hello Zero-config demo
binex list List available workflows
binex start Create a new project interactively
binex init Deprecated alias for binex start
binex validate Validate workflow YAML
binex cancel Cancel a running workflow
binex artifacts Inspect artifacts
binex dev Local development environment
binex gateway A2A Gateway management
binex plugins Manage adapter plugins
binex workflow Workflow versioning & inspection
binex scheduler start Start cron-based workflow scheduler
binex scheduler list List scheduled workflows
binex scheduler add/remove Register/unregister workflow files
binex eval run Run an eval suite against blessed baselines
binex eval bless Approve current outputs as the new baseline
binex eval golden Run a workflow and gate on assertions / a golden run
binex import otel Import an OTLP/JSON trace as a Binex run
binex collect Live OTLP/JSON collector endpoint
binex mcp serve Expose Binex as an MCP server

Eval — Regression Testing for Agent Pipelines

Write a YAML test suite, bless a baseline, then catch regressions in CI:

binex eval run examples/eval/research-eval.yaml      # run an eval suite
binex eval bless examples/eval/research-eval.yaml    # approve outputs as the baseline
binex eval golden workflow.yaml --baseline run_abc   # gate one workflow on a golden run

A suite pairs inputs with assertions (contains, regex, JSON path, LLM judge). In CI, add binex eval run suite.yaml --format github --strict-baseline. You can also import production traces from any agent framework as runs: binex import otel trace.json.

Use Binex from Your Coding Agent

claude mcp add binex -- binex mcp serve

Exposes runs, evals, and artifacts as MCP tools (binex_debug, binex_eval_run, binex_diff) for Claude Code, Cursor, or any MCP-compatible agent.

Pattern Nodes

9 built-in agentic patterns that expand into sub-DAG pipelines at runtime:

Pattern Description
critic draft → critique → refine (self-improvement loop)
debate pro → con → judge (adversarial reasoning)
best_of_n N parallel candidates → selector
reflexion act → evaluate → reflect (iterative self-reflection)
scatter mapper → N parallel workers → reducer (fan-out/fan-in)
fsm finite state machine with configurable states and terminal
constitutional draft → critique-per-principle → revise
chain_of_verification draft → verify claims → synthesize
plan_execute planner → N executors → aggregator
nodes:
  review:
    pattern: critic
    model: gpt-4o
    config:
      rounds: 2
    steps:
      critique:
        model: gpt-4o          # override per step

LLM Providers

OpenAI · Anthropic · Google Gemini · Ollama · OpenRouter · Groq · Mistral · DeepSeek · Together AI

Built With

Python React FastAPI TypeScript Tailwind

(back to top)


Examples

29 example workflows in examples/. Highlights:

Example What it demonstrates
simple.yaml Minimal two-node pipeline
diamond.yaml Diamond dependency pattern
fan-out-fan-in.yaml Parallel execution with aggregation
human-in-the-loop.yaml Approval gates and conditional branching
human-feedback.yaml Human feedback loop
conditional-routing.yaml Conditional node execution
multi-provider-demo.yaml Multiple LLM providers in one workflow
ollama-research.yaml Full research pipeline with Ollama + OpenRouter
budget-hard-limit.yaml Budget enforcement with hard stop
budget-per-node.yaml Per-node budget allocation
a2a-multi-agent.yaml A2A protocol multi-agent workflow
langchain-summarizer.yaml LangChain Runnable in a pipeline
crewai-research-crew.yaml CrewAI Crew as a workflow node
autogen-coding-team.yaml AutoGen Team for code generation
mixed-framework-pipeline.yaml LangChain + CrewAI + AutoGen in one pipeline

(back to top)


Architecture

src/binex/
├── adapters/        # Agent backends (local, LLM, A2A, human, frameworks)
├── agents/          # Agent definitions and configuration
├── cli/             # Click CLI commands
├── gateway/         # A2A Gateway server and routing
├── graph/           # DAG construction + topological scheduling
├── models/          # Pydantic v2 domain models
├── plugins/         # Plugin registry for custom adapters
├── prompts/         # 112 built-in prompt templates
├── registry/        # Provider and adapter registry
├── runtime/         # Orchestrator, dispatcher, replay engine
├── patterns/        # PatternExpander + 9 pattern templates
├── scheduler/       # Cron-based workflow scheduling
├── stores/          # SQLite execution + filesystem artifacts
├── tools/           # @tool decorator, 10 built-in tools, MCP client
├── trace/           # Debug, lineage, timeline, diffing
├── ui/              # FastAPI backend + React frontend
│   ├── api/         # 32 REST endpoints
│   └── static/      # Pre-built React app
└── workflow_spec/   # YAML loader + validator

(back to top)


Documentation

Full docs at alexli18.github.io/binex

(back to top)


Contributing

Contributions are welcome! If you find this useful:

  • Star the repo — it takes 1 second and helps more than you know
  • Open issues — tell me what's broken or what you need
  • Submit PRs — let's build this together

I'm a solo developer building this in the open. Every star, issue, and PR makes a real difference.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)


Configuration

Binex can be configured via environment variables:

Variable Default Description
BINEX_STORE_PATH .binex Directory for SQLite database and artifacts
BINEX_DEFAULT_DEADLINE_MS 120000 Default node timeout in milliseconds
BINEX_DEFAULT_MAX_RETRIES 1 Default retry count for failed nodes
BINEX_DEFAULT_BACKOFF exponential Retry backoff strategy (fixed or exponential)
BINEX_REGISTRY_URL http://localhost:8000 Default A2A agent registry URL

All data is stored in .binex/ (gitignored by default):

  • .binex/binex.db — SQLite database (runs, execution records, cost records)
  • .binex/artifacts/ — JSON artifact files

(back to top)


License

Distributed under the MIT License. See LICENSE for more information.

(back to top)


Built by a solo dev who believes AI agents shouldn't be black boxes.
No cloud. No telemetry. No surprises. Just debuggable AI workflows.

Metadata

Release files for binex 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for binex 0.8.1
File Size Uploaded Provenance Actions
binex-0.8.1.tar.gz 1.2 MB Without provenance Details for binex-0.8.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for binex 0.8.1
File Interpreter ABI Platform Actions
binex-0.8.1-py3-none-any.whl Python 3 none any Details for binex-0.8.1-py3-none-any.whl

Total release size: 2.6 MB

Release files / binex-0.8.1.tar.gz

Download URL binex-0.8.1.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
71ca76a571a8284953d63b1c607c454cb9f9e1e7dd53c53a0f83210c297382ef
BLAKE2b-256 checksum
How to use checksums
6841e929db4dfeeb1357f731a020e01c3906c7b9c3b4916450b495ac2a76454b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / binex-0.8.1-py3-none-any.whl

Download URL binex-0.8.1-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
78d56bd38a369d391961f43c7c61e82d93f931f45ae9ba1636d262c297ee1946
BLAKE2b-256 checksum
How to use checksums
1b25b16a8a53ab010041c61f1b201206535dcdaf9bb8d3af752f083521d6a5a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Security for binex 0.8.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page