AI 에이전트 워크플로우를 위한 오픈 소스 시각적 오케스트레이터
요약
Binex는 오픈 소스이며 완전히 로컬 환경에서 AI 에이전트 워크플로우를 구축, 실행, 디버깅할 수 있는 시각적 런타임입니다. LangGraph나 CrewAI 같은 프레임워크가 '구축'에 초점을 맞춘다면, Binex는 추적(trace), 비용 분석, 리플레이 등 완전한 디버깅이 가능한 '실행 환경'을 제공합니다. OpenAI, Anthropic 등 다양한 모델과 사용자 정의 도구를 지원하며, 데이터 보안 및 공급업체 종속성 문제를 해결하는 데 중점을 둡니다.
핵심 포인트
- 오픈 소스이며 완전히 로컬에서 작동하여 데이터 유출 위험이 없습니다.
- 시각적 워크플로우 편집기를 통해 에이전트 파이프라인을 쉽게 구축할 수 있습니다.
- 실행 후 디버깅 기능(Trace, Diff, Bisect)과 비용 추정 기능을 제공합니다.
- OpenAI, Anthropic 등 다양한 모델 및 사용자 정의 Python 도구 통합을 지원합니다.
AI 에이전트 워크플로우를 위한 오픈 소스 시각적 오케스트레이터
다중 에이전트 파이프라인을 빌드, 실행, 디버그 및 리플레이하세요 — 100% 로컬에서.
Binex는 오픈 소스이며 완전히 로컬인 AI 에이전트 워크플로우 런타임입니다. 클라우드는 없습니다. 원격 측정(telemetry)도 없고, 공급업체 종속성(vendor lock-in)도 없습니다.
pip install binex
binex ui
끝입니다. 브라우저가 열리고, 당신은 AI 워크플로우를 구축하고 있습니다.
100% 로컬— 데이터는 절대 기기를 벗어나지 않습니다. 100% 오픈 소스— MIT 라이선스로 모든 줄을 감사할 수 있습니다. 제로 원격 측정(Zero telemetry)— 추적, 분석, 놀라움이 없습니다. 완전한 디버깅 가능성(Full debuggability)— 모든 입력, 출력, 프롬프트 및 비용이 가시적입니다. 모든 모델— OpenAI, Anthropic, Google, Ollama, OpenRouter, DeepSeek 및 LiteLLM을 통해 40개 이상 지원.
LangGraph, CrewAI, AutoGen은 에이전트를 구축하는 프레임워크입니다. Binex는 디버그 가능한 런타임입니다 — 추적(trace), 비용(cost), 차이점(diff), 이진 탐색(bisect), 리플레이(replay), 회귀 게이트(regression gates) 등
file), 예: OPENAI_API_KEY=… docker compose …
완전히 로컬 환경으로 설정하려면 --profile local 옵션을 사용하여 번들된 Ollama 사이드카를 추가하세요.
동일한 이미지에 대해 일회성 CLI 명령을 실행합니다:
docker build -f docker/Dockerfile.webui -t binex .
docker run --rm -v binex-data:/data binex binex run workflow.yaml
별도의 docker/docker-compose.yml은 다른 배포 방식입니다 — A2A 에이전트 서버 메시(planner/researcher/… + Ollama + LiteLLM)이며, Web UI가 아닙니다.
시각적 워크플로우 편집기를 실행합니다:
binex ui
6가지 노드 유형: LLM Agent, Local Script, Human Input, Human Approve, Human Output, A2A Agent
- 8개의 무료 OpenRouter 모델을 포함하여 20개 이상의 사전 설정된 모델
- 내장 프롬프트 라이브러리 (Planner, Researcher, Analyzer, Writer, Reviewer, Summarizer)
Tool Picker — 10개의 내장 도구, MCP 서버 통합, 사용자 정의 Python 도구접이식 섹션(Collapsible sections) — LLM 노드별 모델, 프롬프트, 도구, 고급 설정
Workflow Settings 패널 — MCP 서버(stdio/HTTP) 및 cron 스케줄 구성- 시각적 모드와 YAML 모드 간 전환 — 양쪽 모두 동기화됨 (도구 및 MCP 포함) - 빌드하는 동안 실시간 비용 추정
- 사용자 정의 모델 입력 — 모든 litellm 호환 모델 사용
| 카테고리 | 페이지 |
|---|---|
| Workflows | 브라우징, 시각적 편집기(도구 선택기 및 MCP 구성 포함), Scaffold Wizard |
| Runs | 대시보드, RunLive (SSE), RunDetail |
| Analysis | 디버그(입력/출력 아티팩트), 트레이스(Gantt 타임라인), 진단(근본 원인), 계보(아티팩트 그래프), 평가(suite 결과 및 기준선) |
| Comparison | 차이점 비교(필터 바와 나란히, 이전 실행과 비교), Bisect (NodeMap, DAG 시각화, 발산 지표) |
| Costs | 비용 대시보드(차트), 예산 관리 |
| System | 닥터(상태 확인), 플러그인, 게이트웨이, 내보내기, 스케줄러(cron) |
사이드바는 4개의 그룹으로 구성됩니다: Build (편집기, Scaffold), Runs (대시보드), Analyze (Compare, Bisect), System (Gateway, Plugins, Doctor). 실행별 페이지(Debug, Trace, Diagnose, Lineage, Costs)는 실행 컨텍스트에서 열립니다.
어떤 노드든 디버깅 → 'Replay' 클릭 → 모델이나 프롬프트를 교체하고 해당 노드만 다시 실행합니다. 전체 파이프라인을 재실행할 필요가 없습니다.
# Zero-config 데모
binex hello
팁: 2개의 노드로 구성된 데모 워크플로우(생산자 → 소비자)를 실행하며, API 키가 필요하지 않습니다.
# 워크플로우 실행
binex run examples/simple.yaml
팁: 설정된 LLM 제공업체를 사용합니다. OPENAI_API_KEY를 설정하거나 완전히 로컬로 실행하려면 ollama를 사용할 수 있습니다.
# 실행 검사
binex debug latest
binex trace latest
팁: debug는 노드별 입/출력을 보여줍니다. trace는 간트 차트로 실행 타임라인을 보여줍니다.
binex ui
팁: 브라우저가 자동으로 열립니다. 포트를 변경하려면 --port 9000을, 자동 열기를 건너뛰려면 --no-browser를 사용하세요.
name: research-pipeline
nodes:
input:
...
| 접두사 (Prefix) | 설명 (Description) |
|---|---|
local:// | 인프로세스 Python 호출 가능 함수 (In-process Python callable) |
llm:// | LiteLLM을 통한 LLM (40개 이상의 제공업체) |
a2a:// | A2A 프로토콜을 사용한 원격 에이전트 (Remote agent) |
human://input | 사용자로부터의 자유 텍스트 입력 (Free-text input from user) |
human://approve | 조건부 분기를 포함하는 승인 게이트 (Approval gate with conditional branching) |
human://output | 사용자에게 결과 표시 (Display results to user) |
builtin:// | 10개의 내장 도구 (계산기, web_search, shell_command 등) |
mcp:// | MCP 서버 도구 (stdio 또는 HTTP 전송) |
python:// | 도구로서의 사용자 정의 Python 함수 (Custom Python function as tool) |
langchain:// | LangChain Runnable (플러그인) |
crewai:// | CrewAI Crew (플러그인) |
autogen:// | AutoGen Team (플러그인) |
| 명령어 (Command) | 설명 (Description) |
|---|---|
binex run | 워크플로우 실행 (Execute a workflow) |
binex ui | 웹 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 | 대화형 TUI 대시보드 (Interactive TUI dashboard) |
binex scaffold | DSL로부터 워크플로우 생성 (Generate workflow from DSL) |
binex export | CSV/JSON으로 내보내기 (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 | binex start의 사용 중단된 별칭 (Deprecated alias for binex start) |
binex validate | 워크플로우 YAML 유효성 검사 (Validate workflow YAML) |
binex cancel | 실행 중인 워크플로우 취소 (Cancel a running workflow) |
binex artifacts | 아티팩트 검사 (Inspect artifacts) |
binex dev | 로컬 개발 환경 (Local development environment) |
binex gateway | A2A 게이트웨이 관리 (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 | OTLP/JSON 트레이스를 Binex 실행으로 가져오기 (Import an OTLP/JSON trace as a Binex run) |
binex collect | 실시간 OTLP/JSON 수집기 엔드포인트 (Live OTLP/JSON collector endpoint) |
binex mcp serve | Binex를 MCP 서버로 노출 (Expose Binex as an MCP server) |
YAML 테스트 스위트를 작성하고, 기준선을 승인한 다음, CI에서 회귀(regressions)를 포착하는 방법:
binex eval run examples/eval/research-eval.yaml # 평가 스위트 실행
binex eval bless examples/eval/research-eval.yaml # 출력을 기준선으로 승인
binex eval golden workflow.yaml --baseline run_abc # 골든 런에 워크플로우 게이팅```
A suite는 입력(inputs)을 단언문(assertions, contains, regex, JSON path, LLM judge 등)과 쌍으로 묶어 처리합니다. CI 환경에서는 다음 명령어를 추가할 수 있습니다:
`binex eval run suite.yaml --format github --strict-baseline`
또한 모든 에이전트 프레임워크의 프로덕션 추적(production traces)을 실행(runs)으로 가져올 수도 있습니다: `binex import otel trace.json`
`claude mcp add binex -- binex mcp serve`
이를 통해 runs, evals, 그리고 artifacts를 MCP 도구(`binex_debug`, `binex_eval_run`, `binex_diff`)로 노출하여 Claude Code, Cursor 또는 모든 MCP 호환 에이전트에서 사용할 수 있습니다.
런타임 시 하위 DAG 파이프라인으로 확장되는 9가지 내장 에이전 패턴:
| Pattern | Description |
|---|---|
`critic` | draft → critique → refine (자기 개선 루프) |
`debate` | pro → con → judge (적대적 추론) |
`best_of_n` | N개의 병렬 후보군 → 선택자 |
`reflexion` | act → evaluate → reflect (반복적 자기 성찰) |
`scatter` | mapper → N개의 병렬 워커 → reducer (fan-out/fan-in) |
`fsm` | 구성 가능한 상태와 터미널을 가진 유한 상태 기계(finite state machine) |
`constitutional` | draft → critique-per-principle → revise |
`chain_of_verification` | draft → verify claims → synthesize |
`plan_execute` | planner → N개의 실행기(executors) → aggregator |
nodes:
review:
pattern: critic
...
**OpenAI** · **Anthropic** · **Google Gemini** · **Ollama** · **OpenRouter** · **Groq** · **Mistral** · **DeepSeek** · **Together AI**
`examples/`에 29개의 예제 워크플로우가 있습니다. 주요 특징:
| 예제 | 시연 내용 |
|---|---|
`simple.yaml` | 최소 2개 노드 파이프라인 |
`diamond.yaml` | 다이아몬드 의존성 패턴 |
`fan-out-fan-in.yaml` | 집계가 포함된 병렬 실행 |
`human-in-the-loop.yaml` | 승인 게이트 및 조건부 분기 |
`human-feedback.yaml` | 인간 피드백 루프 |
`conditional-routing.yaml` | 조건부 노드 실행 |
`multi-provider-demo.yaml` | 하나의 워크플로우 내 다중 LLM 제공업체 지원 |
`ollama-research.yaml` | Ollama + OpenRouter를 사용한 전체 연구 파이프라인 |
`budget-hard-limit.yaml` | 하드 스톱을 통한 예산 강제 적용 |
`budget-per-node.yaml` | 노드별 예산 할당 |
`a2a-multi-agent.yaml` | A2A 프로토콜 다중 에이전트 워크플로우 |
`langchain-summarizer.yaml` | 파이프라인 내 LangChain Runnable 사용 |
`crewai-research-crew.yaml` | 워크플로우 노드로 사용되는 CrewAI Crew |
`autogen-coding-team.yaml` | 코드 생성을 위한 AutoGen 팀 |
`mixed-framework-pipeline.yaml` | 하나의 파이프라인 내 LangChain + CrewAI + AutoGen 조합
src/binex/
├── adapters/ # 에이전트 백엔드 (로컬, LLM, A2A, 인간, 프레임워크)
├── agents/ # 에이전트 정의 및 구성
...
전체 문서는 **alexli18.github.io/binex**에서 확인하세요.
기여를 환영합니다! 유용하다고 느끼셨다면:
**레포지토리 스타(Star)**— 1초밖에 걸리지 않으며 아는 것보다 더 많은 도움을 줍니다**오픈 이슈(Open issues)**— 무엇이 잘못되었거나 필요한 것이 있는지 알려주세요**PR 제출(Submit PRs)**— 함께 만들어 갑시다
저는 이 프로젝트를 오픈 소스로 개발하는 1인 개발자입니다. 모든 스타, 이슈, PR은 실질적인 변화를 만듭니다.
- 프로젝트 포크(Fork the Project)
- 기능 브랜치 생성 (`git checkout -b feature/AmazingFeature`)
- 변경 사항 커밋 (`git commit -m 'Add some AmazingFeature'`)
- 브랜치에 푸시 (`git push origin feature/AmazingFeature`)
- 풀 리퀘스트(Pull Request) 열기
Binex는 환경 변수를 통해 구성할 수 있습니다:
| 변수 (Variable) | 기본값 (Default) | 설명 (Description) |
|---|---|---|
`BINEX_STORE_PATH` | `.binex` | SQLite 데이터베이스 및 아티팩트 디렉토리 |
`BINEX_DEFAULT_DEADLINE_MS` | `120000` | 밀리초 단위의 기본 노드 타임아웃 시간 |
`BINEX_DEFAULT_MAX_RETRIES` | `1` | 실패한 노드의 기본 재시도 횟수 |
`BINEX_DEFAULT_BACKOFF` | `exponential` | 재시도 백오프 전략 (`fixed` 또는 `exponential`) |
`BINEX_REGISTRY_URL` | `http://localhost:8000` | 기본 A2A 에이전트 레지스트리 URL |
모든 데이터는 `.binex/`에 저장됩니다.
(기본적으로 gitignore 처리됨):
`.binex/binex.db`
— SQLite 데이터베이스 (실행 기록, 비용 기록)
`.binex/artifacts/`
— JSON 아티팩트 파일
MIT 라이선스 하에 배포됩니다. 자세한 내용은 `LICENSE`를 참조하세요.
AI 에이전트는 블랙박스가 되어서는 안 된다고 믿는 1인 개발자가 제작했습니다.
클라우드 없음. 원격 측정(telemetry) 없음. 놀라움도 없음. 디버깅 가능한 AI 워크플로우만 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기