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

节点可以在执行前请求你的输入:

字段类型用例
字符串项目名称、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 会自动作为中继客户端运行,通过现有服务器转发消息。多个代理实例可以共享一个用户界面。


⚙️ 配置

变量默认值描述
OVERTURE_HTTP_PORT3031Web 用户界面的端口
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 解析器
用户界面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