Overture

chính thức

Phê duyệt kế hoạch trực quan cho các tác nhân mã hóa AI. Xem kế hoạch của tác nhân dưới dạng đồ thị tương tác, đính kèm ngữ cảnh, chọn phương pháp tiếp cận, sau đó phê duyệt trước khi bất kỳ mã nào được viết.

Tài liệu

Overture

Xem kế hoạch trước khi viết mã. Phê duyệt nó. Sau đó theo dõi nó thực thi.

npm version CI status npm downloads Discussions MIT License

Vấn đềGiải phápCài đặtTính năngChợ ứng dụngCấu hìnhThảo luận


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


🔥 Vấn đề

Mọi tác nhân lập trình AI hiện nay — Cursor, Claude Code, Cline, Copilot — đều hoạt động theo cùng một cách:

Điều gì đang xảy ra

  1. Bạn nhập một lời nhắc
  2. Tác nhân ngay lập tức bắt đầu viết mã
  3. Bạn không có chút thông tin nào về những gì nó đang làm
  4. Bạn nhận ra nó đã hiểu sai yêu cầu của bạn
  5. Hàng trăm dòng mã cần phải bị loại bỏ
  6. Bạn đã lãng phí token, thời gian và sự kiên nhẫn

Kế hoạch dạng văn bản không giúp ích được

Một số tác nhân hiển thị kế hoạch dưới dạng văn bản trong chat. Nhưng văn bản không thể hiện được:

  • Phụ thuộc — nhiệm vụ nào phụ thuộc vào nhiệm vụ nào?
  • Điểm rẽ nhánh — có những cách tiếp cận thay thế nào?
  • Yêu cầu ngữ cảnh — cần những tệp, API hoặc khóa bí mật nào?
  • Độ phức tạp — bước nào có rủi ro?
  • Tiến độ — đã xong việc gì, tiếp theo là gì?

The Problem


✨ Giải pháp

Overture chặn giai đoạn lập kế hoạch của tác nhân AI của bạn và hiển thị nó dưới dạng lưu đồ trực quan tương tác — trước khi bất kỳ mã nào được viết.

Overture Solution

Tác nhân không viết một dòng mã nào cho đến khi bạn phê duyệt kế hoạch.



Kế hoạch trực quan
Lưu đồ tương tác với khả năng di chuyển, thu phóng và điều hướng bằng cách nhấp

Đính kèm ngữ cảnh
Tệp, khóa API, hướng dẫn cho từng bước

Chọn cách tiếp cận
So sánh ưu/nhược điểm của các hướng đi khác nhau

Thực thi thời gian thực
Theo dõi các nút sáng lên theo tiến độ

Chợ MCP
Duyệt và đính kèm công cụ cho từng nút

🚀 Cài đặt

Overture là một máy chủ MCP hoạt động với bất kỳ tác nhân lập trình AI tương thích MCP nào. Một lệnh duy nhất để cài đặt.

Claude Code

claude mcp add overture-mcp -- npx overture-mcp

Cursor

Thêm vào ~/.cursor/mcp.json:

{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"]
    }
  }
}
Thêm tác nhân (Cline, Copilot, Sixth AI)

Cline (Tiện ích mở rộng VS Code)

Mở cài đặt VS Code → tìm "Cline MCP" → thêm:

{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"]
    }
  }
}

GitHub Copilot

Tạo .vscode/mcp.json trong thư mục gốc dự án của bạn:

{
  "servers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"]
    }
  }
}

Lưu ý: GitHub Copilot MCP yêu cầu VS Code 1.99+ và sử dụng servers thay vì mcpServers.

Sixth AI (Tiện ích mở rộng VS Code)

Thêm vào tệp cài đặt Sixth AI MCP của bạn:

Nền tảngĐường dẫn
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
    }
  }
}

Cài đặt toàn cục (Tùy chọn)

npm install -g overture-mcp

Xác minh nó hoạt động

Giao cho tác nhân của bạn bất kỳ nhiệm vụ nào. Overture tự động mở tại http://localhost:3031 với kế hoạch sẵn sàng để phê duyệt.


🎯 Cách thức hoạt động

How Overture Works

Luồng hoạt động:

BướcĐiều gì xảy ra
1. Lời nhắcBạn giao cho tác nhân một nhiệm vụ: "Xây dựng REST API với xác thực"
2. Kế hoạchTác nhân tạo ra một kế hoạch chi tiết với các bước, nhánh và yêu cầu
3. Trực quan hóaOverture hiển thị kế hoạch dưới dạng biểu đồ tương tác
4. Làm giàuBạn nhấp vào các nút, đính kèm tệp, chọn nhánh, điền khóa API
5. Phê duyệtBạn nhấp "Phê duyệt & Thực thi" (hoặc nhấn Enter)
6. Thực thiXem thời gian thực khi các nút chạy, hoàn thành hoặc thất bại
7. Điều khiểnTạm dừng (Phím cách), tiếp tục, chạy lại nút hoặc sửa đổi kế hoạch giữa chừng

🛠 Tính năng

Khung kế hoạch tương tác

Interactive Canvas

Tính năngMô tả
React Flow CanvasDi chuyển, thu phóng, kéo thả đầy đủ với hoạt ảnh mượt mà
Trình phân tích luồngCác nút kế hoạch xuất hiện theo thời gian thực khi tác nhân tạo ra chúng
Dagre Auto-LayoutĐịnh vị tự động thông minh các nút
Trạng thái trực quanĐang chờ (xám) → Đang hoạt động (vàng nhấp nháy) → Hoàn thành (xanh) / Thất bại (đỏ)
Chỉ báo nút tiếp theoXung màu xanh hiển thị nút nào sẽ thực thi tiếp theo
Huy hiệu độ phức tạpThấp (xanh), Trung bình (vàng), Cao (đỏ) trong nháy mắt
Hiệu ứng phát sángBóng phát sáng làm nổi bật các nút đang hoạt động và sắp tới
Cạnh có thể chènDi chuột qua các cạnh để chèn nút mới vào giữa kế hoạch

Bảng chi tiết nút

Node Details Panel

Nhấp vào bất kỳ nút nào để hiển thị chi tiết đầy đủ của nó:

Thông tinNhững gì bạn thấy
Tiêu đề & Mô tảNgữ cảnh đầy đủ về những gì bước này làm
Mức độ phức tạpThấp / Trung bình / Cao với chỉ báo trực quan
Đầu ra dự kiếnBước này sẽ tạo ra cái gì
Rủi ro & Trường hợp ngoại lệCác vấn đề tiềm ẩn cần chú ý
Ưu & Nhược điểmĐối với các tùy chọn nhánh, so sánh sự đánh đổi

Trường động (Đầu vào của người dùng)

Dynamic Fields

Các nút có thể yêu cầu đầu vào từ bạn trước khi thực thi:

Loại trườngTrường hợp sử dụng
ChuỗiTên dự án, URL, giá trị tùy chỉnh
SốSố cổng, giới hạn, số lượng
BooleanBật/tắt Có/Không cho các tùy chọn
ChọnDanh sách thả xuống với các lựa chọn được xác định trước
Bí mậtKhóa API, token (đầu vào được che)
TệpĐường dẫn tệp để đính kèm ngữ cảnh

Mỗi trường bao gồm:

  • Chỉ báo bắt buộc/tùy chọn
  • Giá trị mặc định
  • Văn bản trợ giúp & mô tả
  • Hướng dẫn thiết lập ("Cách lấy khóa API")

Tệp đính kèm

File Attachments

Đính kèm tệp ngữ cảnh vào các nút cụ thể:

  • Tự động phát hiện loại — Hình ảnh, mã, tài liệu hoặc khác
  • Biểu tượng trực quan cho từng loại tệp
  • Mô tả — thêm ghi chú về lý do tệp này quan trọng
  • Xóa — loại bỏ các tệp đính kèm không mong muốn

Hướng dẫn meta

Meta Instructions

Thêm hướng dẫn LLM tùy chỉnh cho bất kỳ nút nào:

"Đặc biệt chú ý đến xử lý lỗi ở đây" "Sử dụng mẫu xác thực hiện có từ src/auth.ts" "Đảm bảo thêm kiểm thử cho các trường hợp ngoại lệ"

Hướng dẫn được gửi đến tác nhân ngay trước khi nút đó thực thi.


Phát hiện và lựa chọn nhánh

Branch Selection

Khi tác nhân đề xuất nhiều cách tiếp cận:

Tính năngMô tả
Tự động phát hiệnCác nhánh được phát hiện từ cấu trúc biểu đồ (không cần đánh dấu đặc biệt)
Điểm nhánhCác nút có nhiều cạnh ra trở thành điểm quyết định
Modal lựa chọnSo sánh song song với ưu/nhược điểm
So sánh độ phức tạpXem mức độ khó cho từng tùy chọn
Chỉ báo trực quanNhánh được chọn được làm nổi bật trên khung
Bỏ qua không chọnChỉ đường dẫn bạn chọn được thực thi

Danh sách kiểm tra yêu cầu

Requirements Checklist

Trước khi bạn có thể phê duyệt, Overture hiển thị những gì cần thiết:

  • Các trường bắt buộc trống — được đếm theo từng nút
  • Lựa chọn nhánh — những quyết định nào đang chờ xử lý
  • Chỉ báo tiến độ — theo dõi hoàn thành trực quan
  • Các mục có thể mở rộng — nhấp để xem chi tiết
  • Mã màu — Xanh (đã xong) / Cam (đang chờ)

Nút Phê duyệt vẫn bị vô hiệu hóa cho đến khi tất cả các yêu cầu được đáp ứng.


Điều khiển thực thi

Execution Controls

Điều khiểnCách thức
Phê duyệtNhấp nút hoặc nhấn Enter
Tạm dừngNhấn Spacebar giữa chừng thực thi
Tiếp tụcNhấn Spacebar lần nữa
Chạy lại nútNhấp nút thất bại → "Chạy lại"
Chạy lại từ đâyThực thi lại từ bất kỳ nút nào đến cuối

Nút phê duyệt thông minh:

  • 🟢 "Phê duyệt & Thực thi" — kế hoạch sẵn sàng, yêu cầu đã đáp ứng
  • 🟠 "Hoàn thành yêu cầu" — điều kiện chưa đáp ứng
  • 🔵 "Đang thực thi..." — đang chạy với biểu tượng xoay
  • 🟢 "Đã hoàn thành" — tất cả đã xong
  • 🔴 "Thất bại" — đã xảy ra lỗi

Đầu ra có cấu trúc

Structured Output

Sau khi mỗi nút thực thi, xem đầu ra có cấu trúc phong phú:

Danh mụcNhững gì nó hiển thị
Tổng quanTóm tắt những gì đã hoàn thành
Tệp đã thay đổiĐường dẫn, dòng đã thêm/xóa, khác biệt
Tệp đã tạoTệp mới với số dòng
Tệp đã xóaTệp đã bị loại bỏ
Gói đã cài đặtGói npm với phiên bản
Thiết lập máy chủ MCPTrạng thái cài đặt (đã cài đặt/đã cấu hình/thất bại)
Tìm kiếm webTruy vấn đã thực hiện, kết quả đã sử dụng
Lệnh gọi công cụCông cụ nào đã được sử dụng và tần suất
URL xem trướcLiên kết đến trang web đã triển khai hoặc xem trước
Ghi chúThông tin, cảnh báo, lỗi

Mỗi danh mục có thể mở rộng — đi sâu vào mà không bị quá tải thị giác.


Modal đầu ra

Output Modal

Nhấp vào bất kỳ nút đã hoàn thành nào để xem đầu ra đầy đủ:

  • Có thể cuộn cho đầu ra dài
  • Đoạn mã được tô sáng cú pháp
  • Đóng bằng Escape hoặc nhấp ra ngoài

🏪 Chợ MCP

MCP Marketplace

Duyệt và đính kèm máy chủ MCP trực tiếp từ giao diện Overture.

Tính năngMô tả
Chợ tích hợpTìm kiếm và khám phá máy chủ MCP
Chi tiết máy chủMô tả, tác giả, liên kết GitHub, sao
Duyệt theo danh mụcLọc theo trường hợp sử dụng
Đính kèm theo nútĐính kèm công cụ cụ thể vào các bước cụ thể
Hướng dẫn thiết lậpXem cách cấu hình từng máy chủ
Máy chủ được đề xuấtDanh sách được tuyển chọn cho các tác vụ phổ biến

Khi bạn đính kèm máy chủ MCP vào một nút, tác nhân chỉ có quyền truy cập vào các công cụ đó cho bước đó.


📂 Hỗ trợ đa dự án

Làm việc trên nhiều dự án đồng thời:

Tính năngMô tả
Điều hướng tabChuyển đổi giữa các dự án ngay lập tức
Tự động đăng kýDự án đăng ký khi tác nhân liên hệ lần đầu
Trạng thái cô lậpMỗi dự án có kế hoạch, nút, cấu hình riêng biệt
Huy hiệu chưa đọcBiết khi nào dự án khác có cập nhật
Ngữ cảnh dự ánXem tên dự án, đường dẫn và loại tác nhân

Dự án đơn lẻ? Thanh tab tự động ẩn để giao diện gọn gàng hơn.


📜 Lịch sử kế hoạch & Lưu trữ

Không bao giờ mất công việc của bạn:

Tính năngMô tả
Tự động lưuKế hoạch được lưu mỗi 3 giây
Lưu trữ cục bộLưu trong ~/.overture/history.json
Trình duyệt lịch sửBảng trượt chứa tất cả kế hoạch cũ
Biểu tượng trạng tháiHoàn thành, thất bại, đang thực thi, tạm dừng
Thanh tiến độHiển thị phần trăm hoàn thành trực quan
Tiếp tục một chạmTải và tiếp tục bất kỳ kế hoạch cũ nào
Ngữ cảnh đầy đủTất cả giá trị trường, lựa chọn nhánh, tệp đính kèm được bảo toàn

Thông tin khi tiếp tục

Khi tiếp tục, bạn nhận được ngữ cảnh đầy đủ:

  • Nút hiện tại — nơi quá trình thực thi dừng lại
  • Nút đã hoàn thành — cùng với đầu ra của chúng
  • Nút đang chờ — những việc còn lại cần làm
  • Nút thất bại — kèm thông báo lỗi
  • Tất cả cấu hình — giá trị trường, nhánh, tệp đính kèm
  • Dấu thời gian — thời điểm tạo, thời điểm tạm dừng

✏️ Chỉnh sửa kế hoạch động

Chỉnh sửa kế hoạch ngay cả trong khi thực thi:

Thao tácMô tả
Chèn nútThêm bước mới giữa quá trình thực thi
Xóa nútXóa bước (cạnh tự động kết nối lại)
Thay thế nội dungCập nhật tiêu đề/mô tả nút tại chỗ
Thao tác hàng loạtNhiều thay đổi trong một yêu cầu

Giao diện khác biệt kế hoạch

Khi kế hoạch thay đổi, xem chính xác những gì khác biệt:

  • Nút được thêm — tô xanh lá
  • Nút bị xóa — tô đỏ
  • Nút bị sửa — tô vàng kèm so sánh trước/sau
  • Thay đổi cạnh — kết nối được thêm/xóa

🔌 Công cụ MCP (Dành cho nhà phát triển tác nhân)

Overture cung cấp 11 công cụ MCP để tác nhân tương tác:

Công cụMục đích
submit_planGửi kế hoạch hoàn chỉnh dưới dạng XML
get_approvalChờ người dùng phê duyệt (chặn đến khi được phê duyệt)
update_node_statusCập nhật trạng thái nút + đầu ra trong khi thực thi
plan_completedĐánh dấu kế hoạch đã hoàn thành thành công
plan_failedĐánh dấu kế hoạch thất bại kèm thông báo lỗi
check_rerunKiểm tra xem người dùng có yêu cầu chạy lại nút không
check_pauseKiểm tra xem người dùng có tạm dừng thực thi không
get_resume_infoLấy ngữ cảnh đầy đủ để tiếp tục kế hoạch đã tạm dừng
request_plan_updateYêu cầu chỉnh sửa kế hoạch tăng dần
create_new_planBáo hiệu việc tạo kế hoạch mới
get_usage_instructionsLấy hướng dẫn dành riêng cho tác nhân

🔄 Giao tiếp WebSocket thời gian thực

19 loại tin nhắn từ máy chủ đến máy khách:

connectedplan_startednode_addededge_addedplan_readyplan_approvednode_status_updatedplan_completedplan_failedplan_pausedplan_resumednodes_insertednode_removedproject_registeredprojects_listhistory_entriesplan_loadedresume_plan_infoplan_updated

16 loại tin nhắn từ máy khách đến máy chủ:

approve_plancancel_planrerun_requestpause_executionresume_executioninsert_nodesremove_noderegister_projectsubscribe_projectunsubscribe_projectget_historyload_planget_resume_infosave_planrequest_plan_updatecreate_new_plan

Chế độ chuyển tiếp

Khi cổng WebSocket đã được sử dụng, Overture tự động hoạt động như một máy khách chuyển tiếp, chuyển tiếp tin nhắn qua máy chủ hiện có. Nhiều phiên bản tác nhân có thể dùng chung một giao diện người dùng.


⚙️ Cấu hình

BiếnMặc địnhMô tả
OVERTURE_HTTP_PORT3031Cổng cho giao diện web
OVERTURE_WS_PORT3030Cổng cho WebSocket
OVERTURE_AUTO_OPENtrueTự động mở trình duyệt khi khởi động

Thiết lập biến môi trường

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"
      }
    }
  }
}

⌨️ Phím tắt

PhímHành động
EnterPhê duyệt kế hoạch (khi sẵn sàng)
SpaceTạm dừng / Tiếp tục thực thi
EscapeBỏ chọn nút hiện tại / Đóng hộp thoại

🤝 Tác nhân được hỗ trợ

Tác nhânTrạng tháiGhi chú
Claude Code✅ Đầy đủHỗ trợ MCP gốc
Cursor✅ Đầy đủQua cấu hình mcp.json
Cline✅ Đầy đủQua cài đặt VS Code
GitHub Copilot✅ Đầy đủYêu cầu VS Code 1.99+
Sixth AI✅ Đầy đủTích hợp sẵn, không cần cấu hình

Mỗi tác nhân có lời nhắc tùy chỉnh riêng để tạo kế hoạch tối ưu.


💪 Tại sao chọn Overture?

Dành cho người dùng

  • Minh bạch — Thấy chính xác điều gì xảy ra trước khi mã được viết
  • Kiểm soát — Phê duyệt, từ chối hoặc sửa đổi bất kỳ kế hoạch nào
  • Ngữ cảnh — Đính kèm tệp và hướng dẫn vào đúng bước
  • Lựa chọn — So sánh các cách tiếp cận và chọn hướng đi của bạn
  • Hiển thị — Tiến độ thời gian thực với đầu ra phong phú
  • An toàn — Tạm dừng, tiếp tục hoặc chạy lại bất cứ lúc nào
  • Lịch sử — Tiếp tục bất kỳ kế hoạch cũ nào ngay lập tức
  • Hiệu quả — Không lãng phí token cho các cách tiếp cận bị từ chối

Dành cho lập trình AI

  • Tin cậy — Làm cho tác nhân dễ đoán và có thể kiểm soát
  • Dễ hiểu — Thấy lập luận của AI trước khi thực thi
  • Phổ quát — Hoạt động với bất kỳ tác nhân tương thích MCP nào
  • Mở rộng — Chợ MCP để khám phá công cụ
  • Mã nguồn mở — Giấy phép MIT, do cộng đồng thúc đẩy
  • Độc lập — Không phụ thuộc đám mây
  • Hoạt động ngoại tuyến — Thực thi hoàn toàn cục bộ
  • Đa dự án — Quản lý nhiều không gian làm việc

🧑‍💻 Phát triển

# 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

Ngăn công nghệ

LớpCông nghệ
Máy chủ MCPNode.js, TypeScript, Express, WebSocket (ws), SAX XML Parser
Giao diện người dùngReact 18, React Flow, Zustand, Framer Motion, Tailwind CSS, Vite
Bố cụcDagre (định vị đồ thị tự động)

🤝 Đóng góp

Overture là mã nguồn mở và chúng tôi hoan nghênh đóng góp!

Mọi đóng góp đều được trân trọng, dù nhỏ đến đâu.


📄 Giấy phép

Giấy phép MIT - xem LICENSE để biết chi tiết.



Sixth

Được xây dựng bởi Sixth

Để có trải nghiệm tốt nhất, hãy thử Sixth cho VS Code
Overture được tích hợp sẵn mà không cần cấu hình.

Đừng bay mù quáng nữa. Xem kế hoạch. Phê duyệt nó. Thực thi với sự tự tin.

Lịch sử sao

Star History Chart