/ 目录 / 演练场 / Overture
● 社区 SixHq ⚡ 即开即用

Overture

作者 SixHq · SixHq/Overture

在代理写代码前,以交互式流程图形式查看你的编码代理的规划——在 React Flow 画布中批准、暂停或重定向节点。

Overture 是一个本地 MCP server + Web UI,拦截 AI 编码代理(Claude Code、Cursor、Cline、Copilot、Sixth)的规划阶段并将其可视化为图形。添加输入、备选分支、为每个节点附加工具,只有当规划看起来正确时才让代理执行。

为什么要用

核心特性

实时演示

实际使用效果

overture.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": [
        "-y",
        "Overture"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": [
        "-y",
        "Overture"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": [
        "-y",
        "Overture"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "overture": {
      "command": "npx",
      "args": [
        "-y",
        "Overture"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "overture",
      "command": "npx",
      "args": [
        "-y",
        "Overture"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "overture": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "Overture"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add overture -- npx -y Overture

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Overture

在代理写代码前在流程图中查看其规划

👤 任何在真实代码库上运行编码代理的人 ⏱ ~15 min beginner

何时使用: 你曾经被代理自信的 800 行错误代码坑过——现在想要一个防线。

前置条件
  • Claude Code 或等效的代理 — claude.ai/code
步骤
  1. 安装
    运行 claude mcp add overture-mcp -- npx overture-mcp 将其接入 Claude Code。✓ 已复制
    → Overture web UI 在显示的 URL 处可访问
  2. 请求一个功能;规划在画布中打开
    实现一个认证中间件。在编码之前,使用 overture 生成规划图。✓ 已复制
    → 每个步骤的节点出现在 Overture UI 中
  3. 批准或重定向节点
    第 3 个节点看起来有问题——拒绝它,并评论:'use existing middleware at ./lib/auth.ts instead'✓ 已复制
    → 规划重新生成;只有在你按下批准后,代理才会开始编码

结果: 代理写出你实际要求的代码——你在第 3 步捕捉到了错误的假设,而不是第 3 个提交。

注意事项
  • 在大功能上画布变得复杂 — 将功能分解为子规划;Overture 支持多项目标签页
搭配使用: claude-code

并排比较两种实现方法

👤 在设计之间进行选择的工程师 ⏱ ~20 min intermediate

何时使用: 你在两种方法之间举棋不定(Redis 缓存 vs 内存缓存),想让代理规划两种方案。

步骤
  1. 请求两个分支
    分两个分支规划此缓存功能:(A) Redis,(B) 内存中的 LRU。显示每个分支的优缺点。✓ 已复制
    → Overture 呈现两个分支的比较
  2. 选择并执行
    批准分支 B。仅执行该路径。✓ 已复制
    → 只有选择的分支运行

结果: 在替代方案之间做出知情决策,而无需将代码提交到两个分支。

将秘密注入规划节点而不提交它们

👤 任何编写部署规划脚本的人 ⏱ ~10 min intermediate

何时使用: 一个步骤需要一个 API 密钥;你想在运行时提供它,而不是在提示历史中。

步骤
  1. 将节点标记为需要秘密
    部署节点需要 DEPLOY_TOKEN 作为秘密输入。暂停直到提供。✓ 已复制
    → Overture 显示等待输入的秘密字段
  2. 粘贴到 UI;节点解锁
    (在 Overture UI 中)粘贴令牌并点击恢复✓ 已复制
    → 规划继续;秘密不在聊天历史中

结果: 代理运行特权步骤而不将秘密泄露到转录本中。

组合

与其他 MCP 搭配,撬动十倍杠杆

overture + claude-code

将 Overture 用作每个 Claude Code 任务的批准层

从现在开始,对于任何估计超过 30 分钟的任务,在编码前使用 overture 进行规划。✓ 已复制
overture + vibe-check

规划→ 理智检查 → 执行

在 Overture 生成规划后,在我批准前对其运行 vibe_check。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
plan_create goal: str, context?: str 任何多步编码任务的开始 LLM tokens for planning
plan_update plan_id, node_changes 对用户批准/拒绝做出反应 0
plan_execute plan_id, from_node? 用户批准后 tool calls + tokens
plan_branch plan_id, from_node, alt_goal 比较替代方案 LLM tokens

成本与限制

运行它的成本

API 配额
无——本地应用
每次调用 Token 数
规划前期增加约 1-3k 令牌;在避免错误代码中节省更多
费用
免费,开源
提示
仅对非平凡功能使用规划;平凡编辑不需要图形

安全

权限、密钥、影响范围

凭据存储: 在 UI 中输入的秘密,每个规划存储在本地浏览器存储中
数据出站: 默认无——在本地主机上运行

故障排查

常见错误与修复

画布 URL 返回 ERR_CONNECTION_REFUSED

Overture UI 端口(默认 3939)未绑定;检查 MCP server 日志或设置 OVERTURE_PORT

验证: curl http://localhost:3939
规划生成挂起

你的代理在等待 LLM;检查代理日志是否有速率限制或令牌耗尽

节点拒绝不起作用

某些代理会缓存规划——明确告诉它 'regenerate the plan from node X with my feedback'

替代方案

Overture 对比其他方案

替代方案何时用它替代权衡
sequentialthinking-tools你想要一个文本规划,而不是画布没有分支的可视化比较
shrimp-task-manager你想要持久任务,而不是交互式批准不同的循环——更多异步,更少门槛

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills