Overture
resmiPersetujuan rencana visual untuk agen pengkodean AI. Lihat rencana agen Anda sebagai grafik interaktif, lampirkan konteks, pilih pendekatan, lalu setujui sebelum kode apa pun ditulis.
Dokumentasi
Lihat rencana sebelum kode. Setujui. Lalu saksikan eksekusinya.
Masalah • Solusi • Instalasi • Fitur • Marketplace • Konfigurasi • Diskusi
https://github.com/user-attachments/assets/eeb9c4cb-c80d-42da-bf63-c0c4ecb1e5d6
🔥 Masalahnya
Setiap agen pengkodean AI saat ini — Cursor, Claude Code, Cline, Copilot — bekerja dengan cara yang sama:
Yang Terjadi Sekarang
|
Rencana Teks Tidak MembantuBeberapa agen menampilkan rencana sebagai teks dalam obrolan. Tetapi teks gagal menunjukkan:
|
✨ Solusinya
Overture mencegat fase perencanaan agen AI Anda dan merendernya sebagai diagram alur visual interaktif — sebelum kode apa pun ditulis.
Agen tidak menulis satu baris kode pun sampai Anda menyetujui rencana tersebut.
|
Rencana Visual Diagram alur interaktif dengan navigasi pan, zoom, dan klik-tayang |
Lampirkan Konteks File, kunci API, instruksi per langkah |
Pilih Pendekatan Bandingkan pro/kontra dari jalur yang berbeda |
Eksekusi Real-time Saksikan node menyala seiring kemajuan |
Marketplace MCP Telusuri & lampirkan alat per node |
🚀 Instalasi
Overture adalah server MCP yang bekerja dengan agen pengkodean AI apa pun yang kompatibel dengan MCP. Satu perintah untuk menginstal.
Claude Code
claude mcp add overture-mcp -- npx overture-mcp
Cursor
Tambahkan ke ~/.cursor/mcp.json:
{
"mcpServers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"]
}
}
}
Agen Lainnya (Cline, Copilot, Sixth AI)
Cline (Ekstensi VS Code)
Buka pengaturan VS Code → cari "Cline MCP" → tambahkan:
{
"mcpServers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"]
}
}
}
GitHub Copilot
Buat .vscode/mcp.json di root proyek Anda:
{
"servers": {
"overture": {
"command": "npx",
"args": ["overture-mcp"]
}
}
}
Catatan: GitHub Copilot MCP memerlukan VS Code 1.99+ dan menggunakan
serversalih-alihmcpServers.
Sixth AI (Ekstensi VS Code)
Tambahkan ke file pengaturan Sixth AI MCP Anda:
| Platform | Jalur |
|---|---|
| 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
}
}
}
Instalasi Global (Opsional)
npm install -g overture-mcp
Verifikasi Berfungsi
Berikan tugas apa pun kepada agen Anda. Overture secara otomatis terbuka di http://localhost:3031 dengan rencana Anda siap untuk disetujui.
🎯 Cara Kerjanya
Alurnya:
| Langkah | Yang Terjadi |
|---|---|
| 1. Prompt | Anda memberikan tugas kepada agen: "Buat REST API dengan auth" |
| 2. Rencana | Agen menghasilkan rencana terperinci dengan langkah, cabang, dan persyaratan |
| 3. Visualisasi | Overture merender rencana sebagai grafik interaktif |
| 4. Perkaya | Anda mengklik node, melampirkan file, memilih cabang, mengisi kunci API |
| 5. Setujui | Anda mengklik "Setujui & Jalankan" (atau tekan Enter) |
| 6. Jalankan | Saksikan secara real-time saat node berdenyut, selesai, atau gagal |
| 7. Kontrol | Jeda (Spacebar), lanjutkan, jalankan ulang node, atau modifikasi rencana di tengah jalan |
🛠 Fitur
Kanvas Rencana Interaktif
| Fitur | Deskripsi |
|---|---|
| Kanvas React Flow | Pan penuh, zoom, seret dengan animasi halus |
| Parser Streaming | Node rencana muncul secara real-time saat agen menghasilkannya |
| Tata Letak Otomatis Dagre | Pemosisian otomatis node yang cerdas |
| Status Visual | Tertunda (abu-abu) → Aktif (kuning berdenyut) → Selesai (hijau) / Gagal (merah) |
| Indikator Node Berikutnya | Denyut biru menunjukkan node mana yang dieksekusi selanjutnya |
| Lencana Kompleksitas | Rendah (hijau), Sedang (kuning), Tinggi (merah) sekilas |
| Efek Cahaya | Cahaya bayangan menyoroti node aktif dan yang akan datang |
| Sisi yang Dapat Disisipkan | Arahkan kursor ke sisi untuk menyisipkan node baru di tengah rencana |
Panel Detail Node
Klik node mana pun untuk mengungkap detail lengkapnya:
| Info | Yang Anda Lihat |
|---|---|
| Judul & Deskripsi | Konteks lengkap tentang apa yang dilakukan langkah ini |
| Tingkat Kompleksitas | Rendah / Sedang / Tinggi dengan indikator visual |
| Keluaran yang Diharapkan | Apa yang seharusnya dihasilkan langkah ini |
| Risiko & Kasus Tepi | Masalah potensial yang harus diwaspadai |
| Pro & Kontra | Untuk opsi cabang, bandingkan trade-off |
Bidang Dinamis (Input Pengguna)
Node dapat meminta input dari Anda sebelum eksekusi:
| Jenis Bidang | Kasus Penggunaan |
|---|---|
| String | Nama proyek, URL, nilai kustom |
| Angka | Nomor port, batas, jumlah |
| Boolean | Toggle Ya/Tidak untuk opsi |
| Pilih | Dropdown dengan pilihan yang telah ditentukan |
| Rahasia | Kunci API, token (input tersamar) |
| File | Jalur file untuk melampirkan konteks |
Setiap bidang mencakup:
- Indikator wajib/opsional
- Nilai default
- Teks bantuan & deskripsi
- Instruksi penyiapan ("Cara mendapatkan kunci API")
Lampiran File
Lampirkan file konteks ke node tertentu:
- Deteksi tipe otomatis — Gambar, kode, dokumen, atau lainnya
- Ikon visual per jenis file
- Deskripsi — tambahkan catatan tentang mengapa file ini penting
- Hapus — hapus lampiran yang tidak diinginkan
Instruksi Meta
Tambahkan instruksi LLM kustom ke node mana pun:
"Berikan perhatian khusus pada penanganan kesalahan di sini" "Gunakan pola auth yang ada dari src/auth.ts" "Pastikan untuk menambahkan pengujian untuk kasus tepi"
Instruksi dikirim ke agen tepat sebelum node itu dieksekusi.
Deteksi & Pemilihan Cabang
Saat agen mengusulkan beberapa pendekatan:
| Fitur | Deskripsi |
|---|---|
| Deteksi Otomatis | Cabang terdeteksi dari struktur grafik (tanpa markup khusus) |
| Titik Cabang | Node dengan beberapa sisi keluar menjadi titik keputusan |
| Modal Pemilihan | Perbandingan berdampingan dengan pro/kontra |
| Perbandingan Kompleksitas | Lihat tingkat kesulitan untuk setiap opsi |
| Indikator Visual | Cabang yang dipilih disorot di kanvas |
| Lewati yang Tidak Dipilih | Hanya jalur yang Anda pilih yang dieksekusi |
Daftar Periksa Persyaratan
Sebelum Anda dapat menyetujui, Overture menunjukkan apa yang diperlukan:
- Bidang wajib yang kosong — dihitung per node
- Pemilihan cabang — keputusan mana yang tertunda
- Indikator kemajuan — pelacakan penyelesaian visual
- Item yang dapat diperluas — klik untuk melihat detail
- Kode warna — Hijau (selesai) / Oranye (tertunda)
Tombol Setujui tetap dinonaktifkan sampai semua persyaratan terpenuhi.
Kontrol Eksekusi
| Kontrol | Cara |
|---|---|
| Setujui | Klik tombol atau tekan Enter |
| Jeda | Tekan Spacebar di tengah eksekusi |
| Lanjutkan | Tekan Spacebar lagi |
| Jalankan Ulang Node | Klik node yang gagal → "Jalankan Ulang" |
| Jalankan Ulang Dari Sini | Eksekusi ulang dari node mana pun hingga akhir |
Tombol persetujuan itu cerdas:
- 🟢 "Setujui & Jalankan" — rencana siap, persyaratan terpenuhi
- 🟠 "Lengkapi Persyaratan" — kondisi belum terpenuhi
- 🔵 "Menjalankan..." — berjalan dengan spinner
- 🟢 "Selesai" — semua selesai
- 🔴 "Gagal" — terjadi kesalahan
Keluaran Terstruktur
Setelah setiap node dieksekusi, lihat keluaran terstruktur yang kaya:
| Kategori | Yang Ditampilkan |
|---|---|
| Ikhtisar | Ringkasan tentang apa yang telah dicapai |
| File yang Diubah | Jalur, baris ditambahkan/dihapus, diff |
| File yang Dibuat | File baru dengan jumlah baris |
| File yang Dihapus | File yang dihapus |
| Paket yang Diinstal | Paket npm dengan versi |
| Penyiapan Server MCP | Status instalasi (terinstal/dikonfigurasi/gagal) |
| Pencarian Web | Kueri yang dilakukan, hasil yang digunakan |
| Panggilan Alat | Alat mana yang digunakan dan seberapa sering |
| URL Pratinjau | Tautan ke situs yang diterapkan atau pratinjau |
| Catatan | Info, peringatan, kesalahan |
Setiap kategori dapat diperluas — telusuri tanpa kelebihan visual.
Modal Keluaran
Klik node yang sudah selesai untuk melihat keluaran lengkap:
- Dapat digulir untuk keluaran panjang
- Cuplikan kode dengan penyorotan sintaks
- Tutup dengan Escape atau klik di luar
🏪 Marketplace MCP
Telusuri dan lampirkan server MCP langsung dari UI Overture.
| Fitur | Deskripsi |
|---|---|
| Marketplace Bawaan | Cari dan temukan server MCP |
| Detail Server | Deskripsi, penulis, tautan GitHub, bintang |
| Penjelajahan Kategori | Filter berdasarkan kasus penggunaan |
| Lampiran Per-Node | Lampirkan alat tertentu ke langkah tertentu |
| Instruksi Penyiapan | Lihat cara mengonfigurasi setiap server |
| Server yang Direkomendasikan | Daftar kurasi untuk tugas umum |
Saat Anda melampirkan server MCP ke sebuah node, agen mendapatkan akses ke alat tersebut hanya untuk langkah itu.
📂 Dukungan Multi-Proyek
Bekerja pada beberapa proyek secara bersamaan:
| Fitur | Deskripsi |
|---|---|
| Navigasi Tab | Beralih antar proyek secara instan |
| Registrasi Otomatis | Proyek mendaftar pada kontak agen pertama |
| Status Terisolasi | Setiap proyek memiliki rencana, node, konfigurasi terpisah |
| Lencana Belum Dibaca | Ketahui saat proyek lain memiliki pembaruan |
| Konteks Proyek | Lihat nama proyek, jalur, dan jenis agen |
Proyek tunggal? Bilah tab otomatis disembunyikan untuk UI yang lebih bersih.
📜 Riwayat & Persistensi Rencana
Jangan pernah kehilangan pekerjaan Anda:
| Fitur | Deskripsi |
|---|---|
| Simpan Otomatis | Rencana disimpan setiap 3 detik |
| Penyimpanan Lokal | Disimpan di ~/.overture/history.json |
| Peramban Riwayat | Panel geser dengan semua rencana sebelumnya |
| Ikon Status | Selesai, gagal, menjalankan, dijeda |
| Bilah Kemajuan | Persentase penyelesaian visual |
| Lanjutkan Sekali Klik | Muat dan lanjutkan rencana sebelumnya |
| Konteks Penuh | Semua nilai bidang, pilihan cabang, lampiran dipertahankan |
Informasi Melanjutkan
Saat melanjutkan, Anda mendapatkan konteks lengkap:
- Node saat ini — tempat eksekusi berhenti
- Node selesai — dengan keluarannya
- Node tertunda — yang tersisa untuk dikerjakan
- Node gagal — dengan pesan kesalahan
- Semua konfigurasi — nilai bidang, cabang, lampiran
- Stempel waktu — kapan dibuat, kapan dijeda
✏️ Modifikasi Rencana Dinamis
Ubah rencana bahkan selama eksekusi:
| Operasi | Deskripsi |
|---|---|
| Sisipkan Node | Tambahkan langkah baru di tengah eksekusi |
| Hapus Node | Hapus langkah (sisi tersambung ulang otomatis) |
| Ganti Konten | Perbarui judul/deskripsi node di tempat |
| Operasi Massal | Beberapa perubahan dalam satu permintaan |
Tampilan Diff Rencana
Saat rencana berubah, lihat persis apa yang berbeda:
- Node ditambahkan — disorot hijau
- Node dihapus — disorot merah
- Node dimodifikasi — kuning dengan perbandingan sebelum/sesudah
- Perubahan sisi — koneksi ditambahkan/dihapus
🔌 Alat MCP (Untuk Pengembang Agen)
Overture menyediakan 11 alat MCP untuk berinteraksi dengan agen:
| Alat | Tujuan |
|---|---|
submit_plan | Kirim rencana lengkap sebagai XML |
get_approval | Tunggu persetujuan pengguna (blokir sampai disetujui) |
update_node_status | Perbarui status node + keluaran selama eksekusi |
plan_completed | Tandai rencana berhasil diselesaikan |
plan_failed | Tandai rencana gagal dengan pesan kesalahan |
check_rerun | Periksa apakah pengguna meminta node dijalankan ulang |
check_pause | Periksa apakah pengguna menjeda eksekusi |
get_resume_info | Dapatkan konteks penuh untuk melanjutkan rencana yang dijeda |
request_plan_update | Minta modifikasi rencana inkremental |
create_new_plan | Sinyalkan pembuatan rencana baru |
get_usage_instructions | Dapatkan instruksi spesifik agen |
🔄 Komunikasi WebSocket Waktu Nyata
19 tipe pesan server-ke-klien:
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 tipe pesan klien-ke-server:
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
Mode Relai
Saat port WebSocket sudah digunakan, Overture otomatis beroperasi sebagai klien relai, meneruskan pesan melalui server yang ada. Beberapa instans agen dapat berbagi satu UI.
⚙️ Konfigurasi
| Variabel | Default | Deskripsi |
|---|---|---|
OVERTURE_HTTP_PORT | 3031 | Port untuk UI web |
OVERTURE_WS_PORT | 3030 | Port untuk WebSocket |
OVERTURE_AUTO_OPEN | true | Buka browser otomatis saat mulai |
Mengatur Variabel Lingkungan
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"
}
}
}
}
⌨️ Pintasan Keyboard
| Tombol | Aksi |
|---|---|
Enter | Setujui rencana (saat siap) |
Space | Jeda / Lanjutkan eksekusi |
Escape | Batalkan pilihan node saat ini / Tutup modal |
🤝 Agen yang Didukung
| Agen | Status | Catatan |
|---|---|---|
| Claude Code | ✅ Penuh | Dukungan MCP asli |
| Cursor | ✅ Penuh | Melalui konfigurasi mcp.json |
| Cline | ✅ Penuh | Melalui pengaturan VS Code |
| GitHub Copilot | ✅ Penuh | VS Code 1.99+ diperlukan |
| Sixth AI | ✅ Penuh | Bawaan, tanpa konfigurasi |
Setiap agen memiliki prompt yang disesuaikan untuk pembuatan rencana yang optimal.
💪 Mengapa Overture?
Untuk Pengguna
|
Untuk Pengkodean AI
|
🧑💻 Pengembangan
# 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
Tumpukan Teknologi
| Lapisan | Teknologi |
|---|---|
| Server MCP | Node.js, TypeScript, Express, WebSocket (ws), SAX XML Parser |
| UI | React 18, React Flow, Zustand, Framer Motion, Tailwind CSS, Vite |
| Tata Letak | Dagre (penempatan grafik otomatis) |
🤝 Berkontribusi
Overture adalah sumber terbuka dan kami menyambut kontribusi!
- 🐛 Laporkan bug di GitHub Issues
- 💡 Sarankan fitur di GitHub Discussions
- 📖 Perbaiki dokumen — PR diterima
- 🔧 Kontribusi kode — lihat CONTRIBUTING.md
Semua kontribusi dihargai, sekecil apa pun.
📄 Lisensi
Lisensi MIT - lihat LICENSE untuk detailnya.
Dibangun oleh Sixth
Untuk pengalaman terbaik, coba Sixth untuk VS Code
Overture sudah bawaan tanpa perlu konfigurasi.
Berhenti terbang buta. Lihat rencananya. Setujui. Eksekusi dengan percaya diri.