可视化AI编码规划工具

Overture是一款拦截AI编码代理规划阶段并将其可视化为交互式流程图的工具,在代码编写前提供审批控制,适用于需要透明度和精确控制的AI辅助开发场景。

  • by SixHq
  • TypeScript
  • 本地部署
  • 641 星标
  • 更新于
在 GitHub 查看 SixHq/Overture

使用说明

See the plan before the code. Approve it. Then watch it execute.

Problem • Solution • Install • Features • Marketplace • Config • Discussions


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


🔥 问题

今天的每个AI编码代理-- 光标, 克劳德代码, 克莱恩, 副驾驶 --工作原理相同:

现在发生了什么

  1. 您键入提示
  2. 代理 立即开始编写代码
  3. 你有 能见度为零 它正在做什么
  4. 你意识到它误解了你的要求
  5. 数百行代码 需要丢弃
  6. 你浪费了代币、时间和耐心

文本计划没有帮助

一些代理在聊天中以文本形式显示计划。但文本未能显示:

  • 依赖项 --哪些任务取决于什么?
  • 分支点 --存在哪些替代方法?
  • 上下文要求 --需要哪些文件、API或机密?
  • 复杂性 --哪些步骤有风险?
  • 进展 --做了什么,下一步是什么?

✨ 解决方案

序曲 拦截AI代理的计划阶段,并将其呈现为 交互式可视化流程图 --在编写任何代码之前。

在您批准该计划之前,代理不会编写任何代码。



Visual Plans
Interactive flowchart with pan, zoom, and click-through navigation

Attach Context
Files, API keys, instructions per step

Choose Approaches
Compare pros/cons of different paths

Real-time Execution
Watch nodes light up with progress

MCP Marketplace
Browse & attach tools per node

🚀 安装

Overture是一个MCP服务器,与 任何与MCP兼容的AI编码代理。一个安装命令。

克劳德代码

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

光标

增添 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": ["overture-mcp"]
    }
  }
}
More Agents (Cline, Copilot, Sixth AI)

Cline(VS代码扩展)

打开VS代码设置→ 搜索“临床MCP”→ add:

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

GitHub Copilot

创建 .vscode/mcp.json 在项目根目录中:

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

注: GitHub Copilot MCP需要VS代码1.99+,并使用 servers 而不是 mcpServers.

第六代AI(VS代码扩展)

添加到您的第六个AI MCP设置文件中:

平台 路径
macOS ~/Library/Application Support/Code/User/globalStorage/sixth.sixth-ai/settings/sixth-mcp-settings.json
窗户 %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.提示 您给代理一个任务:“使用auth构建一个REST API”
2.计划 Agent生成一个包含步骤、分支和要求的详细计划
3.可视化 Overture将计划渲染为交互式图形
4.丰富 单击节点、附加文件、选择分支、填充API键
5.批准 您单击“批准并执行”(或按Enter键)
6.执行 实时观察节点的脉冲、完成或故障
7.控制 暂停(空格键)、恢复、重新运行节点或在飞行中修改计划

🛠 特性

交互式计划画布

特性 描述
React Flow画布 全平移、缩放、拖动,动画流畅
流解析器 计划节点在代理生成时实时显示
Dagre汽车布局 节点智能自动定位
视觉状态 待定(灰色)→ 活动(黄色脉冲)→ 已完成(绿色)/失败(红色)
下一个节点指示器 蓝色脉冲显示下一个执行的节点
复杂性徽章 低(绿色)、中(黄色)、高(红色)一目了然
发光效果 阴影发光突出显示活动节点和即将到来的节点
可插入边缘 将鼠标悬停在边缘上,在平面中间插入新节点

节点详细信息面板

单击任何节点以显示其完整详细信息:

信息 您所看到的
标题和描述 此步骤的全部内容
复杂性级别 低/中/高,带视觉指示器
预期输出 步骤应该产生什么
风险和边缘案例 需要注意的潜在问题
利弊 对于分支选项,比较权衡

动态字段(用户输入)

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

字段类型 用例
字符串 项目名称、URL、自定义值
数字 端口号、限制、计数
布尔 选项的是/否切换
选择 带有预定义选项的下拉菜单
秘密 API密钥、令牌(屏蔽输入)
文件 附加上下文的文件路径

每个字段包括:

  • 必需/可选指示器
  • 默认值
  • 帮助文本和说明
  • 设置说明(“如何获取API密钥”)

文件附件

将上下文文件附加到特定节点:

  • 自动类型检测 --图像、代码、文档或其他
  • 视觉图标 按文件类型
  • 描述 --添加有关此文件重要性的注释
  • 删除 --删除不需要的附件

元指令

将自定义LLM指令添加到任何节点:

“请特别注意此处的错误处理” “使用src/auth.ts中的现有身份验证模式” “确保为边缘情况添加测试”

在该节点执行之前,指令会被发送到代理。


分支检测与选择

当代理人提出多种方法时:

特性 描述
自动检测 从图结构中检测到分支(无特殊标记)
分支点 具有多个输出边的节点成为决策点
选择模式 利弊对比
复杂性比较 查看每个选项的难度级别
视觉指示器 画布上突出显示的选定分支
跳过未选定项 只有您选择的路径会执行

需求检查表

在您批准之前,Overture会显示所需的内容:

  • 必填字段为空 --按节点计数
  • 分行选择 --哪些决定尚待决定
  • 进度指示器 --视觉完成跟踪
  • 可扩展项目 --单击查看详细信息
  • 颜色编码 --绿色(已完成)/橙色(待定)

“批准”按钮保持禁用状态,直到满足所有要求。


执行控制

控制 如何
批准 点击按钮或按下 Enter
暂停 媒体 Spacebar 中期执行
简历 媒体 Spacebar 再一次
重新运行节点 点击失败节点→ “重新运行”
从这里重新运行 从任何节点重新执行到结束

批准按钮很智能:

  • 🟢 “批准并执行” --计划就绪,满足要求
  • 🟠 “完整要求” --未满足的条件
  • 🔵 “正在执行…” --使用旋转器运行
  • 🟢 “已完成” --全部完成
  • 🔴 “失败” --发生错误

结构化输出

每个节点执行后,请查看丰富的结构化输出:

类别 它显示了什么
概述 已完成工作总结
更改的文件 路径、添加/删除的行、差异
已创建的文件 具有行数的新文件
文件已删除 已删除文件
已安装软件包 带版本的npm包
MCP服务器设置 安装状态(已安装/已配置/失败)
网络搜索 执行查询,使用结果
工具调用 使用了哪些工具以及使用频率
预览URL 指向已部署站点或预览的链接
备注 信息、警告、错误

每个类别都是 可扩展的 --钻孔时不会出现视觉过载。


输出模式

单击任何已完成的节点以查看完整输出:

  • 可滚动 用于长输出
  • 语法突出显示 代码片段
  • 关闭Escape 或点击外部

🏪 MCP市场

直接从Overture UI浏览和连接MCP服务器。

特性 描述
内置市场 搜索和发现MCP服务器
服务器详细信息 描述、作者、GitHub链接、星号
类别浏览 按用例筛选
每个节点附件 将特定工具附加到特定步骤
安装说明 了解如何配置每台服务器
推荐服务器 常见任务的整理列表

当您将MCP服务器连接到节点时,代理可以访问这些工具 仅适用于该步骤.


📂 多项目支持

同时处理多个项目:

特性 描述
Tab导航 立即在项目之间切换
自动注册 项目在首次联系代理商时注册
孤立状态 每个项目都有单独的计划、节点和配置
未读徽章 知道其他项目何时有更新
项目背景 查看项目名称、路径和代理类型

单一项目?选项卡栏会自动隐藏,以获得更清晰的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种服务器到客户端消息类型:

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 取消选择当前节点/关闭模式

🤝 支持的代理

代理 状态 备注
克劳德代码 ✅ 完全 原生MCP支持
光标 ✅ 完整 通过mcp.json配置
克莱恩 ✅ 完整 通过VS代码设置
GitHub Copilot ✅ 完整 需要VS代码1.99+
第六AI ✅ 完整 内置,零配置

每个代理人都有 定制提示 以生成最佳计划。


💪 为什么要序曲?

对于用户

  • 透明度 --看看在编写代码之前到底发生了什么
  • 控制 --批准、拒绝或修改任何计划
  • 上下文 --将文件和说明附加到正确的步骤中
  • 选择 --比较方法并选择自己的道路
  • 能见度 --实时进度,产出丰富
  • 安全 --随时暂停、恢复或重新运行
  • 历史 --立即恢复任何过去的计划
  • 效率 --拒绝的方法上没有浪费代币

用于AI编码

  • 信任 --使代理可预测和可控
  • 可解释性 --执行前查看AI推理
  • 通用 --适用于任何MCP兼容代理
  • 可扩展 --MCP工具发现市场
  • 开源 --麻省理工学院授权,社区驱动
  • 独立 --无云依赖
  • 离线工作 --完全本地执行
  • 多项目 --管理多个工作区

🧑‍💻 发展

# 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、顺风CSS、Vite
布局 Dagre(自动图形定位)

🤝 贡献

序曲是开源的,我们欢迎投稿!

我们感谢所有的贡献,无论多么小。


📄 许可证

MIT许可证-请参阅 许可证 了解详情。





Built by Sixth

For the best experience, try Sixth for VS Code
Overture is built-in with zero configuration required.

Stop flying blind. See the plan. Approve it. Execute with confidence.

明星历史