Overture
공식AI 코딩 에이전트를 위한 시각적 계획 승인. 에이전트의 계획을 대화형 그래프로 확인하고, 컨텍스트를 첨부하며, 접근 방식을 선택한 후 코드가 작성되기 전에 승인합니다.
문서
코드보다 계획을 먼저 확인하세요. 승인한 후 실행되는 것을 지켜보세요.
문제 • 해결책 • 설치 • 기능 • 마켓플레이스 • 설정 • 토론
https://github.com/user-attachments/assets/eeb9c4cb-c80d-42da-bf63-c0c4ecb1e5d6
🔥 문제점
오늘날 모든 AI 코딩 에이전트(Cursor, Claude Code, Cline, Copilot)는 동일한 방식으로 작동합니다.
현재 상황
|
텍스트 계획은 도움이 되지 않습니다일부 에이전트는 채팅에 텍스트로 계획을 표시합니다. 하지만 텍스트는 다음을 보여주지 못합니다.
|
✨ 해결책
Overture는 AI 에이전트의 계획 단계를 가로채서 대화형 시각적 순서도로 렌더링합니다 — 코드가 작성되기 전에 말이죠.
에이전트는 여러분이 계획을 승인할 때까지 단 한 줄의 코드도 작성하지 않습니다.
|
시각적 계획 이동, 확대/축소 및 클릭 탐색이 가능한 대화형 순서도 |
컨텍스트 첨부 단계별 파일, API 키, 지침 |
접근 방식 선택 다양한 경로의 장단점 비교 |
실시간 실행 노드가 진행 상황에 따라 켜지는 것을 확인 |
MCP 마켓플레이스 노드별 도구 탐색 및 첨부 |
🚀 설치
Overture는 모든 MCP 호환 AI 코딩 에이전트와 작동하는 MCP 서버입니다. 단 하나의 명령어로 설치하세요.
Claude Code
claude mcp add overture-mcp -- npx overture-mcp
Cursor
~/.cursor/mcp.json에 추가하세요:
{
"mcpServers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"]
}
}
}
더 많은 에이전트 (Cline, Copilot, Sixth AI)
Cline (VS Code 확장)
VS Code 설정 열기 → "Cline MCP" 검색 → 추가:
{
"mcpServers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"]
}
}
}
GitHub Copilot
프로젝트 루트에 .vscode/mcp.json을(를) 생성하세요:
{
"servers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"]
}
}
}
참고: GitHub Copilot MCP는 VS Code 1.99+가 필요하며
mcpServers대신servers을(를) 사용합니다.
Sixth AI (VS Code 확장)
Sixth AI MCP 설정 파일에 추가하세요:
| 플랫폼 | 경로 |
|---|---|
| macOS | ~/Library/Application Support/Code/User/globalStorage/sixth.sixth-ai/settings/sixth-mcp-settings.json |
| Windows | %APPDATA%\Code\User\globalStorage\sixth.sixth-ai\settings\sixth-mcp-settings.json |
| Linux | ~/.config/Code/User/globalStorage/sixth.sixth-ai/settings/sixth-mcp-settings.json |
{
"mcpServers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"],
"disabled": false
}
}
}
전역 설치 (선택 사항)
npm install -g overture-mcp
작동 확인
에이전트에게 어떤 작업이든 지시하세요. Overture가 자동으로 http://localhost:3031에서 열리고 계획을 승인할 준비가 됩니다.
🎯 작동 방식
흐름:
| 단계 | 설명 |
|---|---|
| 1. 프롬프트 | 에이전트에게 작업을 지시합니다: "인증 기능이 있는 REST API 구축" |
| 2. 계획 | 에이전트가 단계, 분기, 요구 사항이 포함된 상세 계획을 생성합니다. |
| 3. 시각화 | Overture가 계획을 대화형 그래프로 렌더링합니다. |
| 4. 보강 | 노드를 클릭하고, 파일을 첨부하고, 분기를 선택하고, API 키를 입력합니다. |
| 5. 승인 | "승인 및 실행"을 클릭합니다 (또는 Enter 키를 누릅니다). |
| 6. 실행 | 노드가 깜빡이거나, 완료되거나, 실패하는 것을 실시간으로 확인합니다. |
| 7. 제어 | 일시 중지 (Spacebar), 재개, 노드 재실행, 또는 실행 중 계획 수정 |
🛠 기능
대화형 계획 캔버스
| 기능 | 설명 |
|---|---|
| React Flow 캔버스 | 부드러운 애니메이션과 함께 전체 이동, 확대/축소, 드래그 |
| 스트리밍 파서 | 에이전트가 생성하는 대로 계획 노드가 실시간으로 표시됨 |
| Dagre 자동 레이아웃 | 지능적인 자동 노드 배치 |
| 시각적 상태 | 대기 중(회색) → 활성(노란색 깜빡임) → 완료(녹색) / 실패(빨간색) |
| 다음 노드 표시기 | 파란색 깜빡임으로 다음에 실행될 노드 표시 |
| 복잡성 배지 | 낮음(녹색), 중간(노란색), 높음(빨간색)을 한눈에 확인 |
| 글로우 효과 | 그림자 글로우로 활성 노드 및 예정 노드 강조 |
| 삽입 가능한 엣지 | 엣지 위에 마우스를 올려 계획 중간에 새 노드 삽입 |
노드 세부 정보 패널
노드를 클릭하면 전체 세부 정보가 표시됩니다.
| 정보 | 확인 내용 |
|---|---|
| 제목 및 설명 | 이 단계가 수행하는 작업에 대한 전체 컨텍스트 |
| 복잡성 수준 | 시각적 표시기가 있는 낮음 / 중간 / 높음 |
| 예상 출력 | 이 단계가 생성해야 하는 것 |
| 위험 및 엣지 케이스 | 주의해야 할 잠재적 문제 |
| 장단점 | 분기 옵션의 경우, 트레이드오프 비교 |
동적 필드 (사용자 입력)
노드는 실행 전에 사용자 입력을 요청할 수 있습니다.
| 필드 유형 | 사용 사례 |
|---|---|
| 문자열 | 프로젝트 이름, URL, 사용자 정의 값 |
| 숫자 | 포트 번호, 제한, 개수 |
| 불리언 | 옵션에 대한 예/아니오 토글 |
| 선택 | 미리 정의된 선택지가 있는 드롭다운 |
| 시크릿 | API 키, 토큰 (마스킹된 입력) |
| 파일 | 컨텍스트를 첨부할 파일 경로 |
각 필드에는 다음이 포함됩니다.
- 필수/선택 표시기
- 기본값
- 도움말 텍스트 및 설명
- 설정 지침 ("API 키를 얻는 방법")
파일 첨부
특정 노드에 컨텍스트 파일을 첨부합니다.
- 자동 유형 감지 — 이미지, 코드, 문서 또는 기타
- 파일 유형별 시각적 아이콘
- 설명 — 이 파일이 중요한 이유에 대한 메모 추가
- 삭제 — 원치 않는 첨부 파일 제거
메타 지침
모든 노드에 사용자 정의 LLM 지침을 추가합니다.
"여기서 오류 처리에 특별히 주의하세요" "src/auth.ts의 기존 인증 패턴을 사용하세요" "엣지 케이스에 대한 테스트를 추가해야 합니다"
지침은 해당 노드가 실행되기 직전에 에이전트로 전송됩니다.
분기 감지 및 선택
에이전트가 여러 접근 방식을 제안할 때:
| 기능 | 설명 |
|---|---|
| 자동 감지 | 그래프 구조에서 분기 감지 (특수 마크업 없음) |
| 분기점 | 여러 개의 나가는 엣지가 있는 노드가 결정 지점이 됨 |
| 선택 모달 | 장단점을 나란히 비교 |
| 복잡성 비교 | 각 옵션의 난이도 확인 |
| 시각적 표시기 | 선택된 분기가 캔버스에서 강조 표시됨 |
| 선택되지 않은 항목 건너뛰기 | 선택한 경로만 실행됨 |
요구 사항 체크리스트
승인하기 전에 Overture가 필요한 사항을 보여줍니다.
- 비어 있는 필수 필드 — 노드별로 계산됨
- 분기 선택 — 보류 중인 결정 사항
- 진행 표시기 — 시각적 완료 추적
- 확장 가능한 항목 — 클릭하여 세부 정보 확인
- 색상 코딩 — 녹색(완료) / 주황색(보류 중)
모든 요구 사항이 충족될 때까지 승인 버튼은 비활성화 상태로 유지됩니다.
실행 제어
| 제어 | 방법 |
|---|---|
| 승인 | 버튼 클릭 또는 Enter 누르기 |
| 일시 중지 | 실행 중 Spacebar 누르기 |
| 재개 | Spacebar 다시 누르기 |
| 노드 재실행 | 실패한 노드 클릭 → "재실행" |
| 여기서부터 재실행 | 임의의 노드부터 끝까지 다시 실행 |
승인 버튼은 스마트하게 작동합니다.
- 🟢 "승인 및 실행" — 계획 준비 완료, 요구 사항 충족됨
- 🟠 "요구 사항 완료" — 조건이 충족되지 않음
- 🔵 "실행 중..." — 스피너와 함께 실행 중
- 🟢 "완료됨" — 모두 완료
- 🔴 "실패" — 오류 발생
구조화된 출력
각 노드가 실행된 후, 풍부한 구조화된 출력을 확인하세요.
| 카테고리 | 표시 내용 |
|---|---|
| 개요 | 수행된 작업 요약 |
| 변경된 파일 | 경로, 추가/제거된 줄, 차이점 |
| 생성된 파일 | 줄 수와 함께 새 파일 |
| 삭제된 파일 | 제거된 파일 |
| 설치된 패키지 | 버전이 포함된 npm 패키지 |
| MCP 서버 설정 | 설치 상태 (설치됨/구성됨/실패) |
| 웹 검색 | 수행된 쿼리, 사용된 결과 |
| 도구 호출 | 사용된 도구 및 빈도 |
| 미리보기 URL | 배포된 사이트 또는 미리보기 링크 |
| 참고 사항 | 정보, 경고, 오류 |
각 카테고리는 확장 가능하여 시각적 과부하 없이 자세히 살펴볼 수 있습니다.
출력 모달
완료된 노드를 클릭하면 전체 출력을 볼 수 있습니다.
- 긴 출력을 위한 스크롤 가능
- 구문 강조된 코드 스니펫
- Escape 키 또는 외부 클릭으로 닫기
🏪 MCP 마켓플레이스
Overture UI에서 직접 MCP 서버를 탐색하고 첨부하세요.
| 기능 | 설명 |
|---|---|
| 내장 마켓플레이스 | MCP 서버 검색 및 발견 |
| 서버 세부 정보 | 설명, 작성자, GitHub 링크, 별점 |
| 카테고리 탐색 | 사용 사례별 필터링 |
| 노드별 첨부 | 특정 단계에 특정 도구 첨부 |
| 설정 지침 | 각 서버 구성 방법 확인 |
| 추천 서버 | 일반적인 작업을 위한 큐레이션된 목록 |
MCP 서버를 노드에 첨부하면 에이전트는 해당 단계에만 해당 도구에 액세스할 수 있습니다.
📂 다중 프로젝트 지원
여러 프로젝트에서 동시에 작업하세요.
| 기능 | 설명 |
|---|---|
| 탭 탐색 | 프로젝트 간 즉시 전환 |
| 자동 등록 | 첫 에이전트 접촉 시 프로젝트 등록 |
| 격리된 상태 | 각 프로젝트는 별도의 계획, 노드, 구성을 가짐 |
| 읽지 않은 배지 | 다른 프로젝트에 업데이트가 있을 때 알림 |
| 프로젝트 컨텍스트 | 프로젝트 이름, 경로 및 에이전트 유형 확인 |
단일 프로젝트인가요? 더 깔끔한 UI를 위해 탭 표시줄이 자동으로 숨겨집니다.
📜 계획 기록 및 지속성
작업 내용을 절대 잃지 마세요.
| 기능 | 설명 |
|---|---|
| 자동 저장 | 3초마다 계획 저장 |
| 로컬 저장소 | ~/.overture/history.json에 저장 |
| 히스토리 브라우저 | 모든 과거 계획을 보여주는 슬라이드인 패널 |
| 상태 아이콘 | 완료, 실패, 실행 중, 일시 정지 |
| 진행률 표시줄 | 시각적 완료 비율 |
| 원클릭 재개 | 과거 계획을 불러와 계속 진행 |
| 전체 컨텍스트 | 모든 필드 값, 분기 선택, 첨부 파일 보존 |
재개 정보
재개 시 전체 컨텍스트를 얻을 수 있습니다:
- 현재 노드 — 실행이 중단된 위치
- 완료된 노드 — 출력과 함께 표시
- 대기 중인 노드 — 남은 작업
- 실패한 노드 — 오류 메시지와 함께 표시
- 모든 구성 — 필드 값, 분기, 첨부 파일
- 타임스탬프 — 생성 시간, 일시 정지 시간
✏️ 동적 계획 수정
실행 중에도 계획을 수정할 수 있습니다:
| 작업 | 설명 |
|---|---|
| 노드 삽입 | 실행 중간에 새 단계 추가 |
| 노드 제거 | 단계 삭제 (엣지 자동 재연결) |
| 내용 교체 | 노드 제목/설명을 제자리에서 업데이트 |
| 일괄 작업 | 한 번의 요청으로 여러 변경 수행 |
계획 차이 보기
계획이 변경되면 정확히 무엇이 달라졌는지 확인할 수 있습니다:
- 추가된 노드 — 녹색으로 강조 표시
- 제거된 노드 — 빨간색으로 강조 표시
- 수정된 노드 — 노란색으로 변경 전/후 비교 표시
- 엣지 변경 — 추가/제거된 연결
🔌 MCP 도구 (에이전트 개발자용)
Overture는 에이전트가 상호 작용할 수 있는 11개의 MCP 도구를 제공합니다:
| 도구 | 목적 |
|---|---|
submit_plan | 완전한 계획을 XML로 제출 |
get_approval | 사용자 승인 대기 (승인될 때까지 차단) |
update_node_status | 실행 중 노드 상태 + 출력 업데이트 |
plan_completed | 계획을 성공적으로 완료로 표시 |
plan_failed | 오류 메시지와 함께 계획 실패로 표시 |
check_rerun | 사용자가 노드 재실행을 요청했는지 확인 |
check_pause | 사용자가 실행을 일시 정지했는지 확인 |
get_resume_info | 일시 정지된 계획 재개를 위한 전체 컨텍스트 가져오기 |
request_plan_update | 증분 계획 수정 요청 |
create_new_plan | 새 계획 생성 신호 |
get_usage_instructions | 에이전트별 지침 가져오기 |
🔄 실시간 WebSocket 통신
19가지 서버-클라이언트 메시지 유형:
connected • plan_started • node_added • edge_added • plan_ready • plan_approved • node_status_updated • plan_completed • plan_failed • plan_paused • plan_resumed • nodes_inserted • node_removed • project_registered • projects_list • history_entries • plan_loaded • resume_plan_info • plan_updated
16가지 클라이언트-서버 메시지 유형:
approve_plan • cancel_plan • rerun_request • pause_execution • resume_execution • insert_nodes • remove_node • register_project • subscribe_project • unsubscribe_project • get_history • load_plan • get_resume_info • save_plan • request_plan_update • create_new_plan
릴레이 모드
WebSocket 포트가 이미 사용 중일 때, Overture는 자동으로 릴레이 클라이언트로 작동하여 기존 서버를 통해 메시지를 전달합니다. 여러 에이전트 인스턴스가 단일 UI를 공유할 수 있습니다.
⚙️ 구성
| 변수 | 기본값 | 설명 |
|---|---|---|
OVERTURE_HTTP_PORT | 3031 | 웹 UI용 포트 |
OVERTURE_WS_PORT | 3030 | WebSocket용 포트 |
OVERTURE_AUTO_OPEN | true | 시작 시 브라우저 자동 열기 |
환경 변수 설정
Claude Code
claude mcp add overture-mcp -e OVERTURE_HTTP_PORT=4000 -e OVERTURE_AUTO_OPEN=false -- npx overture-mcp
Cursor / Cline / Sixth AI
{
"mcpServers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"],
"env": {
"OVERTURE_HTTP_PORT": "4000",
"OVERTURE_WS_PORT": "4001",
"OVERTURE_AUTO_OPEN": "false"
}
}
}
}
GitHub Copilot
{
"servers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"],
"env": {
"OVERTURE_HTTP_PORT": "4000",
"OVERTURE_WS_PORT": "4001",
"OVERTURE_AUTO_OPEN": "false"
}
}
}
}
⌨️ 키보드 단축키
| 키 | 동작 |
|---|---|
Enter | 계획 승인 (준비 시) |
Space | 실행 일시 정지 / 재개 |
Escape | 현재 노드 선택 해제 / 모달 닫기 |
🤝 지원 에이전트
| 에이전트 | 상태 | 비고 |
|---|---|---|
| Claude Code | ✅ 완전 지원 | 네이티브 MCP 지원 |
| Cursor | ✅ 완전 지원 | mcp.json 구성 통해 |
| Cline | ✅ 완전 지원 | VS Code 설정 통해 |
| GitHub Copilot | ✅ 완전 지원 | VS Code 1.99+ 필요 |
| Sixth AI | ✅ 완전 지원 | 내장, 설정 불필요 |
각 에이전트는 최적의 계획 생성을 위한 맞춤형 프롬프트를 제공합니다.
💪 Overture를 선택해야 하는 이유
사용자용
|
AI 코딩용
|
🧑💻 개발
# Clone the repo
git clone https://github.com/SixHq/Overture.git
cd Overture
# Install dependencies
npm install
# Build all packages
npm run build
# Start MCP server (in one terminal)
cd packages/mcp-server && npm start
# Start UI dev server (in another terminal)
cd packages/ui && npm run dev
기술 스택
| 계층 | 기술 |
|---|---|
| MCP 서버 | Node.js, TypeScript, Express, WebSocket (ws), SAX XML 파서 |
| UI | React 18, React Flow, Zustand, Framer Motion, Tailwind CSS, Vite |
| 레이아웃 | Dagre (자동 그래프 배치) |
🤝 기여하기
Overture는 오픈 소스이며 기여를 환영합니다!
- 🐛 버그 신고는 GitHub Issues에서
- 💡 기능 제안은 GitHub Discussions에서
- 📖 문서 개선 — PR 환영
- 🔧 코드 기여 — CONTRIBUTING.md 참조
작은 기여라도 모두 감사히 받습니다.
📄 라이선스
MIT 라이선스 - 자세한 내용은 LICENSE 참조.
제작: Sixth
최상의 경험을 위해 Sixth for VS Code
를 사용해 보세요.
Overture는 설정 없이 내장되어 있습니다.
눈먼 비행을 멈추세요. 계획을 확인하세요. 승인하세요. 자신 있게 실행하세요.