Overture

공식

AI 코딩 에이전트를 위한 시각적 계획 승인. 에이전트의 계획을 대화형 그래프로 확인하고, 컨텍스트를 첨부하며, 접근 방식을 선택한 후 코드가 작성되기 전에 승인합니다.

문서

Overture

코드보다 계획을 먼저 확인하세요. 승인한 후 실행되는 것을 지켜보세요.

npm version CI status npm downloads Discussions MIT License

문제해결책설치기능마켓플레이스설정토론


https://github.com/user-attachments/assets/eeb9c4cb-c80d-42da-bf63-c0c4ecb1e5d6


🔥 문제점

오늘날 모든 AI 코딩 에이전트(Cursor, Claude Code, Cline, Copilot)는 동일한 방식으로 작동합니다.

현재 상황

  1. 프롬프트를 입력합니다.
  2. 에이전트가 즉시 코드 작성을 시작합니다.
  3. 에이전트가 무엇을 하는지 전혀 알 수 없습니다.
  4. 요청을 잘못 이해했다는 것을 깨닫습니다.
  5. 수백 줄의 코드를 폐기해야 합니다.
  6. 토큰, 시간, 인내심을 낭비했습니다.

텍스트 계획은 도움이 되지 않습니다

일부 에이전트는 채팅에 텍스트로 계획을 표시합니다. 하지만 텍스트는 다음을 보여주지 못합니다.

  • 의존성 — 어떤 작업이 무엇에 의존하는가?
  • 분기점 — 어떤 대안 접근 방식이 존재하는가?
  • 컨텍스트 요구 사항 — 어떤 파일, API, 또는 시크릿이 필요한가?
  • 복잡성 — 어떤 단계가 위험한가?
  • 진행 상황 — 무엇이 완료되었고, 다음은 무엇인가?

The Problem


✨ 해결책

Overture는 AI 에이전트의 계획 단계를 가로채서 대화형 시각적 순서도로 렌더링합니다 — 코드가 작성되기 전에 말이죠.

Overture Solution

에이전트는 여러분이 계획을 승인할 때까지 단 한 줄의 코드도 작성하지 않습니다.



시각적 계획
이동, 확대/축소 및 클릭 탐색이 가능한 대화형 순서도

컨텍스트 첨부
단계별 파일, 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에서 열리고 계획을 승인할 준비가 됩니다.


🎯 작동 방식

How Overture Works

흐름:

단계설명
1. 프롬프트에이전트에게 작업을 지시합니다: "인증 기능이 있는 REST API 구축"
2. 계획에이전트가 단계, 분기, 요구 사항이 포함된 상세 계획을 생성합니다.
3. 시각화Overture가 계획을 대화형 그래프로 렌더링합니다.
4. 보강노드를 클릭하고, 파일을 첨부하고, 분기를 선택하고, API 키를 입력합니다.
5. 승인"승인 및 실행"을 클릭합니다 (또는 Enter 키를 누릅니다).
6. 실행노드가 깜빡이거나, 완료되거나, 실패하는 것을 실시간으로 확인합니다.
7. 제어일시 중지 (Spacebar), 재개, 노드 재실행, 또는 실행 중 계획 수정

🛠 기능

대화형 계획 캔버스

Interactive Canvas

기능설명
React Flow 캔버스부드러운 애니메이션과 함께 전체 이동, 확대/축소, 드래그
스트리밍 파서에이전트가 생성하는 대로 계획 노드가 실시간으로 표시됨
Dagre 자동 레이아웃지능적인 자동 노드 배치
시각적 상태대기 중(회색) → 활성(노란색 깜빡임) → 완료(녹색) / 실패(빨간색)
다음 노드 표시기파란색 깜빡임으로 다음에 실행될 노드 표시
복잡성 배지낮음(녹색), 중간(노란색), 높음(빨간색)을 한눈에 확인
글로우 효과그림자 글로우로 활성 노드 및 예정 노드 강조
삽입 가능한 엣지엣지 위에 마우스를 올려 계획 중간에 새 노드 삽입

노드 세부 정보 패널

Node Details Panel

노드를 클릭하면 전체 세부 정보가 표시됩니다.

정보확인 내용
제목 및 설명이 단계가 수행하는 작업에 대한 전체 컨텍스트
복잡성 수준시각적 표시기가 있는 낮음 / 중간 / 높음
예상 출력이 단계가 생성해야 하는 것
위험 및 엣지 케이스주의해야 할 잠재적 문제
장단점분기 옵션의 경우, 트레이드오프 비교

동적 필드 (사용자 입력)

Dynamic Fields

노드는 실행 전에 사용자 입력을 요청할 수 있습니다.

필드 유형사용 사례
문자열프로젝트 이름, URL, 사용자 정의 값
숫자포트 번호, 제한, 개수
불리언옵션에 대한 예/아니오 토글
선택미리 정의된 선택지가 있는 드롭다운
시크릿API 키, 토큰 (마스킹된 입력)
파일컨텍스트를 첨부할 파일 경로

각 필드에는 다음이 포함됩니다.

  • 필수/선택 표시기
  • 기본값
  • 도움말 텍스트 및 설명
  • 설정 지침 ("API 키를 얻는 방법")

파일 첨부

File Attachments

특정 노드에 컨텍스트 파일을 첨부합니다.

  • 자동 유형 감지 — 이미지, 코드, 문서 또는 기타
  • 파일 유형별 시각적 아이콘
  • 설명 — 이 파일이 중요한 이유에 대한 메모 추가
  • 삭제 — 원치 않는 첨부 파일 제거

메타 지침

Meta Instructions

모든 노드에 사용자 정의 LLM 지침을 추가합니다.

"여기서 오류 처리에 특별히 주의하세요" "src/auth.ts의 기존 인증 패턴을 사용하세요" "엣지 케이스에 대한 테스트를 추가해야 합니다"

지침은 해당 노드가 실행되기 직전에 에이전트로 전송됩니다.


분기 감지 및 선택

Branch Selection

에이전트가 여러 접근 방식을 제안할 때:

기능설명
자동 감지그래프 구조에서 분기 감지 (특수 마크업 없음)
분기점여러 개의 나가는 엣지가 있는 노드가 결정 지점이 됨
선택 모달장단점을 나란히 비교
복잡성 비교각 옵션의 난이도 확인
시각적 표시기선택된 분기가 캔버스에서 강조 표시됨
선택되지 않은 항목 건너뛰기선택한 경로만 실행됨

요구 사항 체크리스트

Requirements Checklist

승인하기 전에 Overture가 필요한 사항을 보여줍니다.

  • 비어 있는 필수 필드 — 노드별로 계산됨
  • 분기 선택 — 보류 중인 결정 사항
  • 진행 표시기 — 시각적 완료 추적
  • 확장 가능한 항목 — 클릭하여 세부 정보 확인
  • 색상 코딩 — 녹색(완료) / 주황색(보류 중)

모든 요구 사항이 충족될 때까지 승인 버튼은 비활성화 상태로 유지됩니다.


실행 제어

Execution Controls

제어방법
승인버튼 클릭 또는 Enter 누르기
일시 중지실행 중 Spacebar 누르기
재개Spacebar 다시 누르기
노드 재실행실패한 노드 클릭 → "재실행"
여기서부터 재실행임의의 노드부터 끝까지 다시 실행

승인 버튼은 스마트하게 작동합니다.

  • 🟢 "승인 및 실행" — 계획 준비 완료, 요구 사항 충족됨
  • 🟠 "요구 사항 완료" — 조건이 충족되지 않음
  • 🔵 "실행 중..." — 스피너와 함께 실행 중
  • 🟢 "완료됨" — 모두 완료
  • 🔴 "실패" — 오류 발생

구조화된 출력

Structured Output

각 노드가 실행된 후, 풍부한 구조화된 출력을 확인하세요.

카테고리표시 내용
개요수행된 작업 요약
변경된 파일경로, 추가/제거된 줄, 차이점
생성된 파일줄 수와 함께 새 파일
삭제된 파일제거된 파일
설치된 패키지버전이 포함된 npm 패키지
MCP 서버 설정설치 상태 (설치됨/구성됨/실패)
웹 검색수행된 쿼리, 사용된 결과
도구 호출사용된 도구 및 빈도
미리보기 URL배포된 사이트 또는 미리보기 링크
참고 사항정보, 경고, 오류

각 카테고리는 확장 가능하여 시각적 과부하 없이 자세히 살펴볼 수 있습니다.


출력 모달

Output Modal

완료된 노드를 클릭하면 전체 출력을 볼 수 있습니다.

  • 긴 출력을 위한 스크롤 가능
  • 구문 강조된 코드 스니펫
  • Escape 키 또는 외부 클릭으로 닫기

🏪 MCP 마켓플레이스

MCP Marketplace

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가지 서버-클라이언트 메시지 유형:

connectedplan_startednode_addededge_addedplan_readyplan_approvednode_status_updatedplan_completedplan_failedplan_pausedplan_resumednodes_insertednode_removedproject_registeredprojects_listhistory_entriesplan_loadedresume_plan_infoplan_updated

16가지 클라이언트-서버 메시지 유형:

approve_plancancel_planrerun_requestpause_executionresume_executioninsert_nodesremove_noderegister_projectsubscribe_projectunsubscribe_projectget_historyload_planget_resume_infosave_planrequest_plan_updatecreate_new_plan

릴레이 모드

WebSocket 포트가 이미 사용 중일 때, Overture는 자동으로 릴레이 클라이언트로 작동하여 기존 서버를 통해 메시지를 전달합니다. 여러 에이전트 인스턴스가 단일 UI를 공유할 수 있습니다.


⚙️ 구성

변수기본값설명
OVERTURE_HTTP_PORT3031웹 UI용 포트
OVERTURE_WS_PORT3030WebSocket용 포트
OVERTURE_AUTO_OPENtrue시작 시 브라우저 자동 열기

환경 변수 설정

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 코딩용

  • 신뢰 — 에이전트를 예측 가능하고 제어 가능하게 만듦
  • 해석 가능성 — 실행 전 AI 추론 확인
  • 범용성 — 모든 MCP 호환 에이전트와 작동
  • 확장성 — 도구 발견을 위한 MCP 마켓플레이스
  • 오픈 소스 — MIT 라이선스, 커뮤니티 주도
  • 자체 완비형 — 클라우드 종속성 없음
  • 오프라인 작동 — 완전 로컬 실행
  • 다중 프로젝트 — 여러 작업 공간 관리

🧑‍💻 개발

# 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 파서
UIReact 18, React Flow, Zustand, Framer Motion, Tailwind CSS, Vite
레이아웃Dagre (자동 그래프 배치)

🤝 기여하기

Overture는 오픈 소스이며 기여를 환영합니다!

작은 기여라도 모두 감사히 받습니다.


📄 라이선스

MIT 라이선스 - 자세한 내용은 LICENSE 참조.



Sixth

제작: Sixth

최상의 경험을 위해 Sixth for VS Code
를 사용해 보세요. Overture는 설정 없이 내장되어 있습니다.

눈먼 비행을 멈추세요. 계획을 확인하세요. 승인하세요. 자신 있게 실행하세요.

Star 히스토리

Star History Chart