Overture

官方

為AI編碼代理提供視覺化計劃審批。將代理的計劃以互動圖表呈現,可附加上下文、選擇方案,並在實際編寫程式碼前進行審批。

文件

Overture

先看計畫再寫程式碼。核准它。然後看著它執行。

npm version CI status npm downloads Discussions MIT License

問題解決方案安裝功能市集設定討論


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


🔥 問題所在

現今每個 AI 程式開發代理 — CursorClaude CodeClineCopilot — 運作方式都一樣:

目前的狀況

  1. 你輸入提示
  2. 代理立刻開始撰寫程式碼
  3. 你對它正在做的事情毫無可見度
  4. 你發現它誤解了你的要求
  5. 數百行程式碼需要被丟棄
  6. 你浪費了 token、時間和耐心

文字計畫沒有幫助

有些代理會在聊天中以文字顯示計畫。但文字無法顯示:

  • 相依性 — 哪些任務依賴於哪些?
  • 分支點 — 有哪些替代方案?
  • 脈絡需求 — 需要哪些檔案、API 或密鑰?
  • 複雜度 — 哪些步驟有風險?
  • 進度 — 完成了什麼,下一步是什麼?

The Problem


✨ 解決方案

Overture 攔截你 AI 代理的規劃階段,並將其呈現為互動式視覺流程圖 — 在任何程式碼被撰寫之前。

Overture Solution

在你核准計畫之前,代理不會寫下任何一行程式碼。



視覺化計畫
具備平移、縮放和點擊導航功能的互動式流程圖

附加脈絡
每個步驟的檔案、API 金鑰、指示

選擇方法
比較不同路徑的優缺點

即時執行
觀察節點隨著進度亮起

MCP 市集
瀏覽並為每個節點附加工具

🚀 安裝

Overture 是一個 MCP 伺服器,可與任何相容 MCP 的 AI 程式開發代理搭配使用。只需一個指令即可安裝。

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+ 並使用 servers 而非 mcpServers

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. 控制暫停 (空白鍵)、繼續、重新執行節點,或在執行中修改計畫

🛠 功能

互動式計畫畫布

Interactive Canvas

功能說明
React Flow 畫布完整的平移、縮放、拖曳,搭配流暢動畫
串流解析器計畫節點在代理產生時即時出現
Dagre 自動佈局智慧型自動節點定位
視覺化狀態待處理 (灰色) → 執行中 (跳動黃色) → 已完成 (綠色) / 失敗 (紅色)
下一個節點指示器藍色跳動顯示下一個要執行的節點
複雜度標記低 (綠色)、中 (黃色)、高 (紅色) 一目瞭然
發光效果陰影發光凸顯執行中和即將執行的節點
可插入的邊將滑鼠懸停在邊上即可在計畫中插入新節點

節點詳細資訊面板

Node Details Panel

點擊任何節點以顯示其完整詳細資訊:

資訊你看到的內容
標題與說明此步驟執行內容的完整脈絡
複雜度等級低 / 中 / 高,附帶視覺指示器
預期輸出此步驟應產生的內容
風險與邊緣案例需要注意的潛在問題
優缺點針對分支選項,比較取捨

動態欄位 (使用者輸入)

Dynamic Fields

節點可以在執行前向你請求輸入:

欄位類型使用案例
字串專案名稱、網址、自訂值
數字連接埠號碼、限制、計數
布林值選項的是/否切換
選擇帶有預定義選項的下拉選單
密鑰API 金鑰、權杖 (遮罩輸入)
檔案附加脈絡的檔案路徑

每個欄位包含:

  • 必要/選用指示器
  • 預設值
  • 說明文字與描述
  • 設定指示 (「如何取得 API 金鑰」)

檔案附件

File Attachments

將脈絡檔案附加到特定節點:

  • 自動類型偵測 — 圖片、程式碼、文件或其他
  • 每種檔案類型的視覺圖示
  • 描述 — 新增關於此檔案為何重要的註記
  • 刪除 — 移除不需要的附件

中繼指令

Meta Instructions

將自訂的 LLM 指令新增到任何節點:

「在這裡特別注意錯誤處理」 「使用 src/auth.ts 中現有的驗證模式」 「務必為邊緣案例新增測試」

指令會在該節點執行前傳送給代理。


分支偵測與選擇

Branch Selection

當代理提出多種方法時:

功能說明
自動偵測從圖表結構偵測分支 (無需特殊標記)
分支點具有多個輸出邊的節點成為決策點
選擇模式並排比較優缺點
複雜度比較查看每個選項的難度等級
視覺指示器選定的分支在畫布上反白顯示
跳過未選取的只執行你選擇的路徑

需求檢查清單

Requirements Checklist

在你核准之前,Overture 會顯示需要什麼:

  • 空的必要欄位 — 每個節點的計數
  • 分支選擇 — 哪些決策待處理
  • 進度指示器 — 視覺化完成追蹤
  • 可展開的項目 — 點擊查看詳細資訊
  • 顏色編碼 — 綠色 (已完成) / 橙色 (待處理)

在所有需求都滿足之前,核准按鈕會保持停用狀態。


執行控制項

Execution Controls

控制項如何操作
核准點擊按鈕或按下 Enter
暫停在執行中按下 Spacebar
繼續再次按下 Spacebar
重新執行節點點擊失敗的節點 →「重新執行」
從此處重新執行從任何節點重新執行到最後

核准按鈕很聰明:

  • 🟢 「核准並執行」 — 計畫就緒,需求已滿足
  • 🟠 「完成需求」 — 條件未滿足
  • 🔵 「執行中...」 — 帶有旋轉圖示的執行中
  • 🟢 「已完成」 — 全部完成
  • 🔴 「失敗」 — 發生錯誤

結構化輸出

Structured Output

每個節點執行後,查看豐富的結構化輸出:

類別顯示的內容
概覽已完成事項的摘要
已變更的檔案路徑、新增/移除的行數、差異
已建立的檔案帶有行數的新檔案
已刪除的檔案已移除的檔案
已安裝的套件帶有版本的 npm 套件
MCP 伺服器設定安裝狀態 (已安裝/已設定/失敗)
網路搜尋執行的查詢、使用的結果
工具呼叫使用了哪些工具以及使用頻率
預覽網址部署網站或預覽的連結
備註資訊、警告、錯誤

每個類別都是可展開的 — 深入查看而不會有視覺超載。


輸出模式

Output Modal

點擊任何已完成的節點以查看完整輸出:

  • 可捲動 以查看長輸出
  • 語法突顯 的程式碼片段
  • 使用 Escape 關閉 或點擊外部

🏪 MCP 市集

MCP Marketplace

直接從 Overture 使用者介面瀏覽和附加 MCP 伺服器。

功能說明
內建市集搜尋和探索 MCP 伺服器
伺服器詳細資訊描述、作者、GitHub 連結、星號
類別瀏覽按使用案例篩選
每個節點的附件將特定工具附加到特定步驟
設定指示查看如何設定每個伺服器
推薦的伺服器針對常見任務的精選清單

當你將 MCP 伺服器附加到節點時,代理僅在該步驟獲得這些工具的存取權。


📂 多專案支援

同時處理多個專案:

功能說明
分頁導覽立即在專案之間切換
自動註冊專案在首次代理接觸時註冊
隔離狀態每個專案有獨立的計畫、節點、設定
未讀標記知道其他專案何時有更新
專案脈絡查看專案名稱、路徑和代理類型

單一專案?分頁列會自動隱藏,獲得更簡潔的使用者介面。


📜 計畫歷史記錄與持續性

絕不遺失你的工作:

功能說明
自動儲存每 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 會自動以中繼客戶端模式運作,透過現有伺服器轉發訊息。多個代理實例可以共用單一使用者介面。


⚙️ 設定

變數預設值說明
OVERTURE_HTTP_PORT3031網頁使用者介面的連接埠
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?

對於使用者

  • 透明度 — 在程式碼撰寫前確切查看將發生什麼
  • 控制權 — 核准、拒絕或修改任何計畫
  • 脈絡 — 將檔案和指令附加到正確的步驟
  • 選擇權 — 比較不同方法並選擇您的路徑
  • 可視性 — 即時進度與豐富的輸出
  • 安全性 — 隨時暫停、繼續或重新執行
  • 歷史記錄 — 立即繼續任何過往計畫
  • 效率 — 不會在拒絕的方法上浪費 token

對於 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 解析器
使用者介面React 18、React Flow、Zustand、Framer Motion、Tailwind CSS、Vite
佈局Dagre(自動圖形定位)

🤝 貢獻

Overture 是開放原始碼,我們歡迎貢獻!

所有貢獻,無論大小,都受到感謝。


📄 授權

MIT 授權 - 詳情請參閱 LICENSE



Sixth

Sixth 打造

為獲得最佳體驗,請嘗試 Sixth for VS Code
Overture 內建其中,無需任何設定。

停止盲目飛行。查看計畫。核准它。自信地執行。

Star 歷史

Star History Chart