smogili1/circuit
요약
Circuit은 Claude Code 및 OpenAI Codex 에이전트를 오케스트레이션하기 위한 드래그 앤 드롭 방식의 시각적 워크플로 디자이너이자 실행 엔진입니다. 실시간 스트리밍과 유연한 제어 흐름을 지원하며, 워크플로를 YAML 형식으로 저장하고 로드할 수 있는 기능을 제공합니다.
핵심 포인트
- Claude Code 및 OpenAI Codex 에이전트를 활용한 멀티 에이전트 워크플로 구축 가능
- 드래그 앤 드롭 인터페이스를 통한 시각적 워크플로 에디터 제공
- 조건(Condition) 및 병합(Merge) 노드를 통한 유연한 제어 흐름 지원
- YAML 기반의 워크플로 지속성 및 저장 기능
- Node.js 환경 및 Docker를 통한 간편한 설치 및 실행 지원
Circuit은 다단계 Claude Code 및 OpenAI Codex 에이전트 (agents)를 오케스트레이션하기 위한 드래그 앤 드롭 (drag-and-drop) 워크플로 디자이너 및 실행 엔진 (execution engine)입니다. 실시간 스트리밍 (real-time streaming), 노드 간 참조 보간 (reference interpolation), 유연한 제어 흐름 (control flow)을 통해 다단계 워크플로를 실행할 수 있습니다.
시각적 워크플로 에디터 (Visual Workflow Editor)
-
에이전트 워크플로 구축을 위한 드래그 앤 드롭 인터페이스
멀티 에이전트 지원 (Multi-Agent Support) -
Claude Code 및 OpenAI Codex 에이전트 노드
제어 흐름 (Control Flow) -
분기 로직을 위한 조건 (Condition) 및 병합 (merge) 노드
워크플로 지속성 (Workflow Persistence) -
워크플로를 YAML로 저장 및 로드하여 워크플로를 vibe code 할 수 있음
-
Node.js 18+
에이전트 노드를 사용하려면 각 제공업체(provider)와 인증해야 합니다:
옵션 1: 환경 변수 (Environment Variables)
export ANTHROPIC_API_KEY=your-anthropic-key # Claude 에이전트 노드용
export OPENAI_API_KEY=your-openai-key # Codex 에이전트 노드용
옵션 2: OAuth 로그인 (OAuth Login)
워크플로가 실행될 머신의 Claude Code/Codex CLI에서 OAuth를 통해 로그인하십시오.
# 저장소 클론 (Clone the repository)
git clone https://github.com/smogili1/circuit.git
cd circuit
...
# 개발 서버 시작 (권장)
make dev-start
# 로그 확인
...
앱은 http://localhost:3001 에서 실행됩니다.
npm run dev
# docker-compose를 이용한 빠른 시작
docker-compose up -d
# 또는 수동으로 빌드 및 실행
...
데이터는 circuit-data 볼륨 (컨테이너 내 /app/data)에 지속됩니다.
실행하기 전에 API 키를 환경 변수로 설정하십시오:
export ANTHROPIC_API_KEY=your-key
export OPENAI_API_KEY=your-key
docker-compose up -d
또는 docker run으로 직접 전달하십시오:
docker run -d -p 3001:3001 \
-v circuit-data:/app/data \
-e ANTHROPIC_API_KEY=your-key \
...
| 명령 (Command) | 설명 (Description) |
|---|---|
make dev-start | 핫 리로드 (hot reload)와 함께 백그라운드에서 서버 시작 |
make dev-stop | 백그라운드 서버 중지 |
make logs | 서버 로그 추적 (Tail) |
make test | 모든 테스트 실행 |
make build | 프로덕션 (production)용 빌드 |
circuit/
├── backend/ # Node.js + Express + Socket.io
│ └── src/
...
| 유형 (Type) | 설명 (Description) |
|---|---|
| Input | 초기 데이터가 포함된 시작점 |
| Claude Agent | 도구 (Tools)를 사용한 Claude Code 실행 |
| Codex Agent | OpenAI Codex 실행 |
| Condition | 표현식 (Expression)에 기반한 분기 |
| Merge | 여러 분기 결합 |
| Output | 워크플로 (Workflow) 결과 |
노드 (Nodes)는 상위 노드 (Upstream nodes)의 출력값을 참조할 수 있습니다:
{{PlanAgent.result}} # 전체 결과
{{DataFetcher.output.items}} # 중첩된 경로 (Nested path)
{{Analyzer.transcript}} # 에이전트 기록 (Agent transcript)
GET /api/workflows
-
모든 워크플로 목록 조회
POST /api/workflows -
워크플로 생성
GET /api/workflows/:id -
워크플로 조회
PUT /api/workflows/:id -
워크플로 수정
DELETE /api/workflows/:id -
워크플로 삭제
클라이언트에서 서버로 (Client to Server):
save-workflow
-
워크플로 변경 사항 저장
control -
실행 시작/중단/재개
서버에서 클라이언트로 (Server to Client):
workflows
-
워크플로 목록 업데이트
event -
실행 생명주기 (Execution lifecycle) 이벤트
# 모든 테스트 실행
make test
# 백엔드 (Backend) 전용
...
Apache 2.0
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기