Debuggable runtime for AI agent pipelines
Project description
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. Set
OPENAI_API_KEYor 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, 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 |
LLM Providers
OpenAI · Anthropic · Google Gemini · Ollama · OpenRouter · Groq · Mistral · DeepSeek · Together AI
Built With
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
├── 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
I'm a solo developer building this in the open. Every star, issue, and PR makes a real difference.
- 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 |
|---|---|---|
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
License
Distributed under the MIT License. See LICENSE for more information.
No cloud. No telemetry. No surprises. Just debuggable AI workflows.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file binex-0.7.0.tar.gz.
File metadata
- Download URL: binex-0.7.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d50be9537f32d6f4a6525cfe94bf5197d56cf8ee61e5cd93bdb7019cdcc589b
|
|
| MD5 |
bdba59cd541649c7c5d312865df7f816
|
|
| BLAKE2b-256 |
b7e9f3e7f70f1c566f61acc0e725d116000af6d5a0586171d06d6240e7d2e98b
|
File details
Details for the file binex-0.7.0-py3-none-any.whl.
File metadata
- Download URL: binex-0.7.0-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79efe3f5061c0ee32338de7e01a94cb24f02ce319813955baa3828adddfe1f42
|
|
| MD5 |
aa771722dc264daff5c9775dc98fe377
|
|
| BLAKE2b-256 |
6d9d6500e9c189cbe5f8a2a2cdd84f423a7b986ffa585e8a7fc7262ebc03b1d0
|