Debuggable runtime for AI agent workflows. DAG pipelines, artifact lineage, and replayable runs.
Binex
Open-source visual orchestrator for AI agent workflows
Build, run, debug, and replay multi-agent pipelines โ 100% locally.
Demo
1. Start in seconds
Install, run
binex ui, and you're building workflows 2. Build & run custom workflows
Drag & drop nodes, configure models, run with human input
3. Explore & debug results
Debug, trace, diff, lineage โ full post-mortem inspection
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
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
Web UI
Launch the visual workflow editor:
binex ui
Visual Drag & Drop 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
All runs at a glance โ status, cost, duration
Debugging & Analysis
Left: Node-by-node debug inspection. Right: Gantt timeline with anomaly detection.
Run Comparison
Side-by-side diff with filtering: changed, failed, cost delta
19 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) | | 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.
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. SetOPENAIAPIKEYor useollamafor fully local runs.
# Inspect the run
binex debug latest
binex trace latest
Tip:debugshows per-node inputs/outputs.traceshows the execution timeline as a Gantt chart.
Web UI
binex ui
Tip: Opens the browser automatically. Use--port 9000to change the port,--no-browserto 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]
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, websearch, shellcommand, 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 |
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) | | bestofn | 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 | | chainofverification | 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][Python-badge]][Python-url] [![React][React-badge]][React-url] [![FastAPI][FastAPI-badge]][FastAPI-url] [![TypeScript][TypeScript-badge]][TypeScript-url] [![Tailwind][Tailwind-badge]][Tailwind-url]
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 |
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
Documentation
Full docs at alexli18.github.io/binex
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
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Configuration
Binex can be configured via environment variables:
| Variable | Default | Description | |----------|---------|-------------| | BINEXSTOREPATH | .binex | Directory for SQLite database and artifacts | | BINEXDEFAULTDEADLINE_MS | 120000 | Default node timeout in milliseconds | | BINEXDEFAULTMAX_RETRIES | 1 | Default retry count for failed nodes | | BINEXDEFAULTBACKOFF | exponential | Retry backoff strategy (fixed or exponential) | | BINEXREGISTRYURL | 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
License
Distributed under the MIT License. See LICENSE for more information.
No cloud. No telemetry. No surprises. Just debuggable AI workflows.
[Python-badge]: https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white [Python-url]: https://python.org [React-badge]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB [React-url]: https://reactjs.org/ [FastAPI-badge]: https://img.shields.io/badge/FastAPI-009688?style=for-the-badge&logo=fastapi&logoColor=white [FastAPI-url]: https://fastapi.tiangolo.com/ [TypeScript-badge]: https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white [TypeScript-url]: https://www.typescriptlang.org/ [Tailwind-badge]: https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white [Tailwind-url]: https://tailwindcss.com/