盘点放弃Cursor期间发布的新特性,我再次心动了

前言

小伙伴们大家好,我是小溪,见字如面。想想退订Cursor已经三个多月了,退订期间基本上就没有打开过Cursor,一直处于在 Trae、Kiro、CodeBuddy、Qoder 等AI编辑器之间来回切换的状态,对市面上的这些已开启订阅收费的AI编辑器有过期待,更多的是体验过后的心碎,因为到目前为止没有一个AI编辑器赶超我曾经最喜欢的Cursor Tab的。今天无意间打开Cursor,发现Cursor已经更新到 2.0 版本了,想当初我使用的还是 0.49 版本,这个更新速度真是惊人,这次就来看一下被打入后宫期间,Cursor发布了哪些最大更新和新功能。

这里贴一下官方的更新文档:cursor.com/cn/changelo...

当时使用Cursor版本

版本: 2.0.63 (Universal)

多智能体

有点费token,谨慎使用

Cursor在 2.0 版本发布了 多智能体 功能,在单个提示下同时并行运行多个代理。为避免文件冲突,系统会使用 Git worktree 或远程机器,每个代理都在其各自隔离的代码库副本中运行。有点像模型平台的多模型输出对比功能,可以同时看到多个模型在同一个提示词下的表现。

在Cursor中使用多智能体,首先需要选择多个模型数量

或者直接将模式改成【Worktree】

然后勾选要对比的模型

可以看到 Composer1 模型 率先完成,其次是 GPT-5 Codex,最后是 Sonnet 4.5

输出内容看着也基本准确

对应文件修改类需求,感觉哪个模型的输出结果符合自己的要求,可以进行手动接收指定模型的修改

Agents+Editor模式

Cursor在 2.0 版本更新了编辑器UI交互形式,在原有的Editor编辑器模式中拆分出了Agents模式,看着有点像Trae的Solo模式哈。Editor模式保持原有的 Chat + 编辑区 + 工作区

Agents模式更专注于 Agent工作模式,不再主动在编辑区展示文件修改对比,采用 Agent对话历史 + Chat + 工作区 的布局

点击具体修改的文件才会展示具体的文件修改对比

Composer模型

Cursor在 2.0 版本发布了 Composer模型,Composer 是一款前沿模型,据官方说比同等智能的模型快 4 倍。在Cursor对话模型下来列表中可以看到【Composer1】模型

还没有深入使用,简单试了下效果还不错

语音模式

Cursor在 2.0 版本发布了 语音模式 功能,借助内置的语音转文字功能,用语音控制 Agent。

Sandbox(沙盒化终端)

Cursor在 1.7 版本以测试版推出的 沙盒终端,从 2.0 起,在 macOS 上默认在安全沙盒中运行代理命令。未在允许列表中的 Shell 命令将自动在沙箱中运行,具备对你的工作区的读写权限,但无法访问互联网。

可以在设置页面进行全局配置

在任务执行过程中也可以手动选择允许方式

Agent自动补全

Cursor在 1.7 版本发布了 Agent自动补全 功能,在Agent模式编写提示时,将基于最近的更改显示自动补全建议。按 Tab 接受建议,并将文件添加到上下文中。

Hooks(钩子)

Cursor在 1.7 版本发布了 Hooks 功能,Hooks让我们用自定义脚本观察、控制并扩展 agent 循环。Hooks 是通过 stdio 双向用 JSON 通信的子进程。它们在 Agent 循环的特定阶段之前或之后运行,可用于观察、拦截或修改行为。

官网地址:cursor.com/cn/docs/age...

钩子事件

Cursor提供了众多钩子函数:

  • beforeShellExecution:在执行任何 shell 命令之前调用
  • beforeMCPExecution:在执行任何 MCP 工具之前调用
  • afterShellExecution:在 shell 命令执行后触发,可用于审计或从命令输出收集指
  • afterMCPExecution:在 MCP 工具执行后触发,包含工具的输入参数和完整的 JSON 结果
  • afterFileEdit:在文件编辑后触发,适用于代码格式化或记录代理生成的代码
  • beforeReadFile:在代理读取文件前启用内容脱敏或访问控制。包含用于审计规则纳入的所有提示附件
  • beforeSubmitPrompt:在用户点击发送后、发起后端请求之前调用。可阻止提交
  • afterAgentResponse:在代理完成一条助理消息后调用
  • stop:在代理循环结束时调用。可选地自动提交后续用户消息以继续迭代

钩子类型

Cursor目前提供了 用户 和 全局 2种级别的钩子:

用户主目录(按用户分发):

  • ~/.cursor/hooks.json
  • ~/.cursor/hooks/(用于存放 hook 脚本)

全局目录(系统范围分发):

  • macOS:/Library/Application Support/Cursor/hooks.json
  • Linux/WSL:/etc/cursor/hooks.json
  • Windows:C:\\ProgramData\\Cursor\\hooks.json

钩子创建

钩子配置本身是一个 hooks.json 文件,在 hooks.json 文件中定义 hooks,配置可存在于多个层级,高优先级的来源会覆盖低优先级的来源。

一个完整的钩子目录结构如下:

javascript 复制代码
~/.cursor/
├── hooks.json
└── hooks/
    ├── audit.sh
    ├── block-git.sh
    └── redact-secrets.sh

一个完整的钩子配置如下:

json 复制代码
{
  "version": 1,
  "hooks": {
    "beforeShellExecution": [
      {
        "command": "./hooks/xx.sh"
      },
      {
        "command": "./hooks/xx.sh"
      }
    ],
    "beforeMCPExecution": [
      {
        "command": "./hooks/audit.sh"
      }
    ],
    "afterShellExecution": [
      {
        "command": "./hooks/audit.sh"
      }
    ],
    "afterMCPExecution": [
      {
        "command": "./hooks/audit.sh"
      }
    ],
    "beforeReadFile": [
      {
        "command": "./hooks/redact-secrets.sh"
      }
    ],
    "afterFileEdit": [
      {
        "command": "./hooks/audit.sh"
      }
    ],
    "beforeSubmitPrompt": [
      {
        "command": "./hooks/audit.sh"
      }
    ],
    "stop": [
      {
        "command": "./hooks/audit.sh"
      }
    ]
  }
}

下面我们创建一个简单hooks看下效果,首先创建 ~/.cursor/hooks.json 文件,添加配置

json 复制代码
{
    "version": 1,
    "hooks": {
        "beforeShellExecution": [
            {
                "command": "echo 'beforeShellExecution'"
            }
        ],
        "afterShellExecution": [
            {
                "command": "echo 'afterShellExecution'"
            }
        ]
    }
}

配置完成后,在设置页面【Hooks】选项可以查看已配置的Hooks,执行命令后可以在【Execution Log】查看Hooks执行日志输出

除了执行Shell命令,还可以调用其他系统内置命令,比如 AppleScript

swift 复制代码
{
    "version": 1,
    "hooks": {
        "beforeShellExecution": [
            {
                "command": "echo 'beforeShellExecution'"
            }
        ],
        "afterShellExecution": [
            {
                "command": "osascript -e 'display notification \"Awaiting your input\" with title \"Claude Code\" sound name \"default\"'"            }
        ]
    }
}

执行完成后就可以看到消息提醒

该版本尚不支持项目级Hooks,本人尝试在项目中配置 hooks.json 只能识别配置并不能识别Hooks

Browser(Agent浏览器)

Cursor在 1.7 版本发布了 AgentBrowser 测试版功能,在 2.0 版本正式发布(GA)。浏览器现已可内嵌在编辑器中,并提供强大的新工具,用于选择元素并将 DOM 信息转发给代理。

通过文档得知,Cursor这是相当于把 浏览器、Playwright MCP 以及 Stagewise 都集成到了Cursor中,一站式打通 Agent、浏览器监控交互 以及 可视化编程。

Brower窗口行为

Brower支持 Chrome 和 Internal 2种浏览器窗口行为:

  • Chrome:打开独立的 Chrome 进程,进行全屏浏览
  • Internal:作为 Cursor 内的面板打开

如果无法正确启动浏览器,可以在Cursor设置页面查看状态以及自定义配置浏览器操作

Brower浏览器工具

Brower支持以下浏览器工具调用

  • Click:与按钮、链接和表单元素交互。Agent 能识别页面元素,并对任何可见元素执行单击、双击、右键单击和悬停操作。
  • Type:在输入框和表单中输入文本。Agent 可填写表单、提交数据,并与表单字段、搜索框和文本区域交互。
  • Scroll:浏览长页面和内容。Agent 可通过滚动显示更多内容、查找特定元素,并查看较长文档。
  • Screenshot:捕获网页的可视化画面。截图有助于 Agent 理解页面布局、核对视觉元素,并向你确认浏览器操作。
  • Console Output:读取浏览器控制台消息、错误和日志。Agent 可监控 JavaScript 错误、调试输出和网络警告,以排查问题并验证页面行为。
  • Network Traffic:监控页面发起的 HTTP 请求与响应。Agent 可跟踪 API 调用、分析请求负载、检查响应状态码,并诊断网络相关问题。目前仅在 Agent 面板可用,稍后将提供到布局中。

Brower使用

Browser的使用也比较简单,直接输入提示词

css 复制代码
@Browser 打开 http://localhost:5173/

Cursor就会默认使用Chrome浏览器打开链接

打开浏览器后Cursor就可以正常进行Browser支持的浏览器工具调用,过程中没有无需再依赖任何外部工具和MCP服务

需要在Cursor内部打开链接,可以对话框右侧打开网络菜单,选择【Browser Tab】

Cursor中就会新开一个Browser Tab页签

输入提示词使用Browser就会在Cursor中打开链接

Cursor Browser提供了 选择元素、开发工具、浏览器菜单 等功能

选择【选择元素】功能后可以在当页面框选标签元素

选择元素后在对话会显示对应的标签元素,直接输入提示词即可进行定向操作

调整后的效果如下,真是nice

点击【开发者工具】可以直接打开浏览器开发中工具

点击【浏览器菜单】可以打开Browser提供的浏览器工具菜单

深度链接

Cursor在 1.7 版本发布了 菜单栏 功能,为可复用的提示生成可共享的深链。适用于文档中的设置说明、团队资源以及共享工作流。目前支持 提示、命令 和 规则 3种类型。

  • 提示:分享可直接复用的提示词,帮助他人快速开始特定任务或工作流。有人点击提示深链时,Cursor 会打开并在聊天中预填该提示。用户必须在执行前先审核并确认。深链从不触发自动执行。
  • 命令:分享可在他人 Cursor 环境中直接执行的命令。命令深度链接可用于共享你在 .cursor/commands 目录中定义的自定义命令。有人点击命令深度链接时,会打开 Cursor,并按指定名称与内容创建一个新命令。用户需在执行前先审阅并确认该命令。
  • 规则:分享可添加到他人 Cursor 环境的规则。规则深链可用于分享在 .cursor/rules 目录中定义的自定义规则。有人点击规则深链时,将打开 Cursor并按指定名称与内容创建一条新规则。添加前,用户必须先审阅并确认该规则。

官网地址:cursor.com/cn/docs/int...

可以在官方文档中直接体验,以提示为例,点击【Try in Cursor】

会提示打开Cursor

点击【打开】,会在Cursor中打开菜单,内容为提示的内容

点击【Create Chat】会将提示词填充到对话框

原理应该和MCP深度链接原理类似,通过解析 cursor:// 协议参数来进行数据的处理

从菜单栏监控 Agents

Cursor在 1.7 版本发布了 菜单栏 功能,可以直接通过菜单栏查看Cursor Agents的状态

自定义斜杠命令

Cursor在 1.6 版本发布了 自定义斜杠命令 功能,可以创建可复用的提示词,并快速与团队共享。Cursor提供了 项目 和 用户 2种级别的自定义命令:

  • 项目级:针对特定项目生效,存储路径:/.cursor/commands/
  • 用户级:针对当前用户下所有项目生效,存储路径:~/.cursor/commands/ and ~/.claude/commands/

创建完成后,会在项目工作区创建 .cursor/commands/git-commit.md文件,在自定义命令文件中输入提示词保存

在对话窗口,输入快捷键 / 唤起菜单功能就可以看到刚刚自定义的命令了

选择自定义命令回车即可使用

也可以在Cursor设置页面的【Rules, Memories, Commands】中找到

摘要触发器

Cursor在 1.6 版本发布了 摘要触发器 功能,当达到上下文窗口限制时,Cursor 会自动为你总结较长的对话。现在Cursor将其做成了类似自定义命令的功能,可以使用 /summarize 斜杠命令按需总结上下文。当你不想新建聊天、但又想释放上下文窗口空间时,这会很有用。

在对话窗口,输入快捷键 / 唤起菜单功能,选择【Summarize】即使用

上下文用量查看

Cursor在 1.3 版本发布了 在Chat中查看上下文用量 功能,在对话结束时,可以直接看到上下文窗口的使用情况,再也不用担心不明不白的上下文超限了。

Bugbot自动化代码审查

Cursor在 1.0 版本发布了 Bugbot 功能,主要用于自动审查Github上提交的PR,捕捉潜在的缺陷与问题。

发现问题后,Bugbot 会在你在 GitHub 上的 PR 中留下评论。点击"在 Cursor 中修复"会返回编辑器,并使用预填的提示来修复该问题。

这里借用一张官方的视频的截图

Memories(记忆)

Cursor在 1.0 版本发布了 Memories,借助 Memories,Cursor 可以记住对话中的信息,并在未来加以引用。Memories 按项目为个人级别存储,可在"Settings"中进行管理。

Cursor在对话中会自动记住对话信息,也可以要求AI主动更新记忆内容

已经创建的记忆文件可以在Cursor设置页面进行管理

MCP一键安装与OAuth支持

Cursor在 1.0 版本发布 MCP一键安装 和 OAuth支持,Cursor整理了一份官方 MCP 服务器的精简列表,在Cursor官方文档中可以找到,目前已整理了几十款主流MCP服务。

老版本链接(现在已不可用):docs.cursor.com/tools

最链接:cursor.com/cn/docs/con...

MCP一键安装授权

这里以Linear MCP为例,点击【Add to Cursor】会弹窗提示在Cursor中打开

点击【打开】会打开Cursor同时会自动填入Linear MCP配置

点击【Install】即可安装,安装完成后对于需要进行授权的MCP,Cursor会提示授权操作

直接点击【Connect】会在浏览器中打授权操作,我这里没有注册过就先不授权了

以不需要授权的Chrome DevTools MCP为例,安装成功后,MCP图标出现绿色状态表示为启动成功,点击MCP工具可以查看MCP提供的所有工具

MCP深度链接安装

Cursor提供了以深度链接安装MCP服务器的方式,就是通过协议在浏览器等能够解析协议的终端安装MCP,感兴趣的小伙伴可以通过官网地址查看。

官网文档地址:cursor.com/cn/docs/con...

以 postgres MCP 为例,完整的MCP JSON配置如下:

perl 复制代码
{
  "postgres": {
    "command": "npx",
    "args": [
      "-y",
      "@modelcontextprotocol/server-postgres",
      "postgresql://localhost/mydb"
    ]
  }
}

这里我们只需要MCP的配置部分

perl 复制代码
{
  "command": "npx",
  "args": [
    "-y",
    "@modelcontextprotocol/server-postgres",
    "postgresql://localhost/mydb"
  ]
}

注意这里我们只需要保留JSON字符串部分

perl 复制代码
{"command":"npx","args":["-y","@modelcontextprotocol/server-postgres","postgresql://localhost/mydb"]}

复制上面字符串到编码网站进行【Base64编码】

makefile 复制代码
eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtb2RlbGNvbnRleHRwcm90b2NvbC9zZXJ2ZXItcG9zdGdyZXMiLCJwb3N0Z3Jlc3FsOi8vbG9jYWxob3N0L215ZGIiXX0=

复制编码后的字符串,按照官方提供的深度链接进行格式替换

arduino 复制代码
cursor://anysphere.cursor-deeplink/mcp/install?name=<your mcp name>&config=<your mcp base64 json>

最终替换的结果如下

arduino 复制代码
cursor://anysphere.cursor-deeplink/mcp/install?name=postgres&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtb2RlbGNvbnRleHRwcm90b2NvbC9zZXJ2ZXItcG9zdGdyZXMiLCJwb3N0Z3Jlc3FsOi8vbG9jYWxob3N0L215ZGIiXX0=

复制替换后的地址粘贴到浏览器中打开,配置正确的话会有如下的弹窗提示

点击【打开】可以看到自动填充的MCP配置信息

点击【Install】安装即可进行安装

MCP可视化安装

基于MCP深度链接的基础上,MCP还可以实现可视化安装,官方也提供了 Markdown、HTML 格式示例

Markdown格式

bash 复制代码
# 深色
[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/cn/install-mcp?name=<your mcp name>&config=<your mcp base64 json>)
# 浅色
[![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/cn/install-mcp?name=<your mcp name>&config=<your mcp base64 json>)

HTML格式

ini 复制代码
# 深色
<a href="https://cursor.com/cn/install-mcp?name=<your mcp name>&config=<your mcp base64 json>"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add postgres MCP server to Cursor" height="32" /></a>
# 浅色
<a href="https://cursor.com/cn/install-mcp?name=<your mcp name>&config=<your mcp base64 json>"><img src="https://cursor.com/deeplink/mcp-install-light.svg" alt="Add postgres MCP server to Cursor" height="32" /></a>

这里以Markdown格式为例,用我们自己配置的深度链接进行替换

ini 复制代码
# 深色
[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/cn/install-mcp?name=postgres&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtb2RlbGNvbnRleHRwcm90b2NvbC9zZXJ2ZXItcG9zdGdyZXMiLCJwb3N0Z3Jlc3FsOi8vbG9jYWxob3N0L215ZGIiXX0=)
# 浅色
[![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/cn/install-mcp?name=postgres&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtb2RlbGNvbnRleHRwcm90b2NvbC9zZXJ2ZXItcG9zdGdyZXMiLCJwb3N0Z3Jlc3FsOi8vbG9jYWxob3N0L215ZGIiXX0=)

将内容复制到Markdown编辑器中预览,效果如下:

点击超链在浏览器中打开,会走Cursor官网进行解析,解析成功会弹出安装提示

Background Agent

Background Agent在 0.50 版本推出,应该是现在 Cloud Agents的早起版本,该功能可以允许我们并行运行多个代理,让它们处理更大型的任务。代理在各自的远程环境中运行。我们可以随时查看状态、发送跟进和直接接管。该功能像是Codex的云端Agent功能,日常使用的比较少。

总结

在退订Cursor的三个多月,Cursor相继发了10个更新版本,更新的功能涉及 MCP、Memories、自定义命令、Hooks、Browser等,可以感受到Cursor在不断通过自己的方式向Claude靠齐,再次体验下来,感觉Cursor又变号了又能打了。尤其是在最新2.0版本,Cursor发布了自研模型Composer,让我在Cursor身上又看到了希望,当别的模型还在因为网络环境提示限制使用地区时,Composer依旧能正常工作,真的让我再次心动了。

友情提示

见原文:盘点放弃Cursor期间发布的新特性,我再次心动了

本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。友情提示友情提示

相关推荐
Levi_Duan5 小时前
Cursor 三级火箭以及点线面体实践指南 - 从对话到闭环
cursor
天外飞雨道沧桑18 小时前
前端开发 Cursor MCP 提效工具配置
前端·vscode·ai编程·开发工具·cursor
程序员鱼皮1 天前
7 个 Cursor AI 极限省钱大法,别花冤枉钱!
后端·ai编程·cursor
Keely402854 天前
使用 Cursor & Claude 操作 Figma 画图
claude·cursor·mcp
云梦谭7 天前
Cursor 使用记录:C/C++ 开发者
cursor·ai ide
撒币使我快乐8 天前
Generate Cursor Rules指令消失后的替代方案
ai编程·cursor
菠菠萝宝9 天前
【AI应用探索】-10- Cursor实战:小程序&APP - 下
人工智能·小程序·kotlin·notepad++·ai编程·cursor
知了一笑9 天前
AI时代,不被淘汰的开发者,都有这三种能力
chatgpt·ai编程·claude·cursor
转转技术团队12 天前
Cursor在回收团队的实践
cursor