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サーバーです。1つのコマンドでインストール。
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. 制御 | 一時停止 (スペースキー)、再開、ノード再実行、計画の途中変更 |
🛠 機能
インタラクティブ計画キャンバス
| 機能 | 説明 |
|---|---|
| React Flowキャンバス | スムーズなアニメーション付きのフルパン、ズーム、ドラッグ |
| ストリーミングパーサー | エージェントが生成する計画ノードがリアルタイムで表示 |
| Dagre自動レイアウト | ノードのインテリジェントな自動配置 |
| ビジュアルステータス | 保留中 (グレー) → 実行中 (黄色パルス) → 完了 (緑) / 失敗 (赤) |
| 次ノードインジケーター | 次に実行されるノードを青いパルスで表示 |
| 複雑度バッジ | 低 (緑)、中 (黄)、高 (赤) を一目で確認 |
| グローエフェクト | アクティブなノードと次に実行されるノードを強調するシャドウグロー |
| 挿入可能エッジ | エッジにホバーして計画の途中に新しいノードを挿入 |
ノード詳細パネル
任意のノードをクリックして詳細を表示:
| 情報 | 表示内容 |
|---|---|
| タイトルと説明 | このステップの完全なコンテキスト |
| 複雑度レベル | 低 / 中 / 高 (ビジュアルインジケーター付き) |
| 期待される出力 | ステップが生成すべきもの |
| リスクとエッジケース | 注意すべき潜在的な問題 |
| 長所と短所 | 分岐オプションのトレードオフ比較 |
動的フィールド (ユーザー入力)
ノードは実行前にユーザー入力を要求できます:
| フィールドタイプ | ユースケース |
|---|---|
| 文字列 | プロジェクト名、URL、カスタム値 |
| 数値 | ポート番号、制限、カウント |
| ブール値 | オプションのYes/Noトグル |
| 選択 | 定義済み選択肢のドロップダウン |
| シークレット | APIキー、トークン (マスク入力) |
| ファイル | コンテキストを添付するファイルパス |
各フィールドに含まれるもの:
- 必須/オプションのインジケーター
- デフォルト値
- ヘルプテキストと説明
- セットアップ手順 (「APIキーの取得方法」)
ファイル添付
特定のノードにコンテキストファイルを添付:
- 自動タイプ検出 — 画像、コード、ドキュメント、その他
- ファイルタイプ別ビジュアルアイコン
- 説明 — このファイルが重要な理由をメモ
- 削除 — 不要な添付ファイルを削除
メタ指示
任意のノードにカスタムLLM指示を追加:
「ここではエラーハンドリングに特に注意する」 「src/auth.tsの既存の認証パターンを使用する」 「エッジケースのテストを必ず追加する」
指示は、そのノードが実行される直前にエージェントに送信されます。
分岐の検出と選択
エージェントが複数のアプローチを提案した場合:
| 機能 | 説明 |
|---|---|
| 自動検出 | グラフ構造から分岐を検出 (特別なマークアップ不要) |
| 分岐点 | 複数の出力エッジを持つノードが決定点になる |
| 選択モーダル | 長所/短所を並べて比較 |
| 複雑度比較 | 各オプションの難易度を表示 |
| ビジュアルインジケーター | 選択された分岐がキャンバス上でハイライト |
| 未選択のスキップ | 選択したパスのみが実行される |
要件チェックリスト
承認前に、Overtureが必要なものを表示:
- 空の必須フィールド — ノードごとにカウント
- 分岐選択 — 保留中の決定事項
- 進捗インジケーター — ビジュアルな完了追跡
- 展開可能なアイテム — クリックして詳細を表示
- 色分け — 緑 (完了) / オレンジ (保留中)
すべての要件が満たされるまで、承認ボタンは無効のままです。
実行コントロール
| コントロール | 方法 |
|---|---|
| 承認 | ボタンをクリックまたはEnterを押す |
| 一時停止 | 実行中にSpacebarを押す |
| 再開 | 再度Spacebarを押す |
| ノード再実行 | 失敗したノードをクリック → 「再実行」 |
| ここから再実行 | 任意のノードから最後まで再実行 |
承認ボタンはスマートです:
- 🟢 「承認して実行」 — 計画準備完了、要件満たす
- 🟠 「要件を完了」 — 条件未達成
- 🔵 「実行中...」 — スピナー付きで実行中
- 🟢 「完了」 — すべて完了
- 🔴 「失敗」 — エラー発生
構造化出力
各ノード実行後、リッチな構造化出力を確認:
| カテゴリ | 表示内容 |
|---|---|
| 概要 | 達成されたことのサマリー |
| 変更されたファイル | パス、追加/削除行数、差分 |
| 作成されたファイル | 行数付きの新規ファイル |
| 削除されたファイル | 削除されたファイル |
| インストールされたパッケージ | バージョン付きnpmパッケージ |
| MCPサーバーセットアップ | インストールステータス (インストール済み/設定済み/失敗) |
| Web検索 | 実行されたクエリ、使用された結果 |
| ツール呼び出し | 使用されたツールとその頻度 |
| プレビューURL | デプロイされたサイトやプレビューへのリンク |
| ノート | 情報、警告、エラー |
各カテゴリは展開可能 — 視覚的過負荷なしに詳細を掘り下げられます。
出力モーダル
完了したノードをクリックして完全な出力を表示:
- 長い出力用にスクロール可能
- シンタックスハイライトされたコードスニペット
- Escapeキーまたは外部クリックで閉じる
🏪 MCPマーケットプレイス
Overture UIから直接MCPサーバーを参照して添付。
| 機能 | 説明 |
|---|---|
| 組み込みマーケットプレイス | MCPサーバーを検索・発見 |
| サーバー詳細 | 説明、作者、GitHubリンク、スター数 |
| カテゴリブラウジング | ユースケースでフィルタリング |
| ノードごとの添付 | 特定のステップに特定のツールを添付 |
| セットアップ手順 | 各サーバーの設定方法を確認 |
| 推奨サーバー | 一般的なタスク向けのキュレーションリスト |
MCPサーバーをノードに添付すると、エージェントはそのステップでのみそれらのツールにアクセスできるようになります。
📂 マルチプロジェクトサポート
複数のプロジェクトで同時に作業:
| 機能 | 説明 |
|---|---|
| タブナビゲーション | プロジェクトを即座に切り替え |
| 自動登録 | 最初のエージェント接触時にプロジェクトが登録される |
| 分離された状態 | 各プロジェクトに個別の計画、ノード、設定 |
| 未読バッジ | 他のプロジェクトに更新がある場合に通知 |
| プロジェクトコンテキスト | プロジェクト名、パス、エージェントタイプを表示 |
単一プロジェクトの場合、タブバーは自動的に非表示になり、UIがすっきりします。
📜 計画履歴と永続性
作業を失わない:
| 機能 | 説明 |
|---|---|
| 自動保存 | 3秒ごとにプランを保存 |
| ローカルストレージ | ~/.overture/history.json に保存 |
| 履歴ブラウザ | 過去の全プランを表示するスライドインパネル |
| ステータスアイコン | 完了、失敗、実行中、一時停止 |
| プログレスバー | 完了率を視覚的に表示 |
| ワンクリック再開 | 任意の過去プランを読み込んで続行 |
| 完全なコンテキスト | すべてのフィールド値、ブランチ選択、添付ファイルを保持 |
再開時の情報
再開時には、完全なコンテキストが提供されます:
- 現在のノード — 実行が停止した場所
- 完了したノード — その出力を含む
- 保留中のノード — 残りの作業
- 失敗したノード — エラーメッセージを含む
- すべての設定 — フィールド値、ブランチ、添付ファイル
- タイムスタンプ — 作成日時、一時停止日時
✏️ 動的プラン変更
実行中でもプランを変更可能:
| 操作 | 説明 |
|---|---|
| ノードの挿入 | 実行途中で新しいステップを追加 |
| ノードの削除 | ステップを削除(エッジは自動再接続) |
| コンテンツの置換 | ノードのタイトル/説明をその場で更新 |
| バッチ操作 | 1回のリクエストで複数の変更を適用 |
プラン差分ビュー
プランが変更された場合、差分を正確に確認可能:
- 追加されたノード — 緑色でハイライト
- 削除されたノード — 赤色でハイライト
- 変更されたノード — 黄色で変更前/変更後を比較表示
- エッジの変更 — 追加/削除された接続
🔌 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 | Web 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 を参照。
Built by Sixth
最高の体験のために、Sixth for VS Code
をお試しください。
Overtureはゼロ設定でビルトインされています。
Stop flying blind. See the plan. Approve it. Execute with confidence.