Cursor 独有的 12 个技巧:这些是 Claude Code 没有的

前言

Hi~大家好呀,我是清汤饺子。

最近身边问 Cursor 和 Claude Code 区别的人越来越多了。每次被问到,我都会先问一句:你更享受在终端里敲命令,还是更喜欢在编辑器里直接改代码?

这个问题没有标准答案。但如果你选了 Cursor,这篇文章就是为你准备的------那些它独有的、编辑器才能做到的能力。

说起来,我之前写过两篇 Cursor 相关的文章:

这篇只讲一件事:在上面两篇都没覆盖的地方,Cursor 还有哪些独有的能力。那些因为它是编辑器、而不是命令行工具,才能做到的事。


第一部分:编辑器独有的执行能力

1. Plan Mode------计划是可以编辑的

这个功能上一篇文章讲过了,这里不重复啦。只补充一个很多朋友可能没注意到的细节:

Cursor 的 Plan Mode,生成的计划是一个可以直接编辑的文档,而不只是一段可以阅读的文字。

我第一次用的时候还不知道这个功能,后来发现了这个"隐藏技能",才发现它有多好用~

💡 心得:直接在计划上删删改改,比跟 AI 来来回回对话舒服多了。你试一次就知道啦!


2. Debug Mode------有系统地找根因,而不是猜

遇到难搞的 bug 时,你们有没有试过把报错贴给 Agent,让它猜着改?

反正我试过,而且踩过大坑......

有一次我被一个奇怪的 bug 折磨了整整一天,把报错贴给 Agent,它猜着改,一遍不行,再来一遍,还不行......前前后后改了十几个地方,最后发现根因根本不是我最初想的那个问题。

后来我发现了 Cursor 的 Debug Mode,按 Shift+Tab 切换。我跟你说,这个功能简直打开了新世界的大门!

这个功能是怎么工作的呢?

  • 第一步,生成假设:Agent 会先分析你的代码,列出几种可能的根因。它不是直接改,而是先猜一猜可能是什么问题。

  • 第二步,插入日志:它在关键的地方帮你加上 log 语句,这些日志会发送到 Cursor 扩展内置的一个本地 debug server。

  • 第三步,让你复现:Agent 会告诉你具体怎么操作才能触发这个 bug,等你来帮它复现问题。

  • 第四步,分析日志:拿到日志后,Agent 会读取运行时的数据,基于真实的证据来确定到底哪里出了问题。

  • 第五步,精准修复:找到根因后,Agent 只会改最少的代码,往往就几行,不像以前那样改一大堆。

  • 第六步,清理日志:修复完成后,Agent 会自动把之前加的 log 语句全部删掉,不让你的代码变得脏脏的~

💡 心得:Debug Mode 让 Agent 先问"是什么",再回答"怎么修"。这个顺序的改变,把我十几轮猜测压缩成两三次操作。你们也试试~

3. 内置浏览器------Agent 能直接操作你的页面

前端问题用文字描述给 Agent,往往说不清楚对吧?

Cursor 内置了浏览器工具,Agent 可以直接打开你的页面来操作和观察,不需要你手动截图、复制日志~是不是很方便!

Agent 能帮你做这些事

  • 点点点:打开网页、点击按钮、填表单、触发各种用户操作,Agent 都能帮你做
  • 截图:实时看到页面长什么样,布局对不对、样式有没有问题,一目了然
  • 看 Console:JS 报错和调试输出,Agent 直接帮你读,不用你复制粘贴
  • 看 Network:API 调了什么、请求体是什么、返回了什么状态码,一清二楚
  • 可视化改样式:直接在浏览器里拖拖拽拽调整布局、颜色、间距、圆角,确认效果后一键让 Agent 把改动写回代码

怎么用:直接在 Agent 对话里跟它说就行,比如:

css 复制代码
@browser 帮我打开 localhost:3000,看看控制台有没有报错,
顺便截个图给我看看登录页现在长啥样

💡 一个小细节:浏览器日志不是直接塞进上下文的,而是先写到文件里,Agent 需要的时候再 grep 读取需要的那几行。这样就算页面输出一大堆噪音,主对话也不会被撑爆~是不是很贴心!

💡 这是 Claude Code 做不到的哦。Claude Code 没有内置浏览器,你只能手动截图或者复制粘贴日志贴给它。Cursor 的浏览器和 Agent 深度集成,前端调试效率差距真的特别明显。你们有同感吗?


4. Parallel Agents + Best-of-N------让多个模型同时跑同一个任务

这是我觉得 Cursor 里最有意思的功能之一,但知道的人不多~

简单说:Cursor 用 Git Worktree 来隔离并行 Agent 的工作区,每个 Agent 跑在独立的分支里,互不干扰,改完可以单独 Apply 到你的主分支。

有两种用法

用法一:普通并行------同时跑多个不同任务,互不阻塞。一个 Agent 在重构支付模块,另一个在写测试,两个任务并行推进,都完成后分别 Apply。是不是很爽!

用法二:Best-of-N------把同一个任务同时交给多个模型,然后挑最好的结果。在 Agent 输入框下方的下拉里选多个模型,提交后你会看到多张卡片,每张对应一个模型的实现方案,点哪里就预览哪里的改动,最后选你最满意的那个 Apply。简直选择困难症的福音!

什么时候用 Best-of-N 呢

  • 遇到很难的问题,不确定哪个模型会给出更好的方案
  • 想看看不同模型在你代码库上表现怎么样
  • 做架构决策的时候,想对比两种不同的实现思路

💡 心得:我现在遇到比较难的任务,习惯性地开 Best-of-N 跑两个模型。不同模型确实会走不同的路,有时候一个完全卡住的问题,换个模型反而一下子就解决了。


第二部分:模型与工作流控制

5. 按任务阶段切换模型,平衡质效

用模型选择器下拉,或按 Cmd+/ 循环切换~

我是这么用的

  • 探索和读代码的时候:用快模型,比如 Gemini Flash 或 Claude Haiku,速度快,还省钱
  • 写代码的时候:换更强的模型,比如 Claude Opus 或 GPT-5,效果更好

💡 一个很关键的点:切换模型的时候,上下文完整保留,不需要重开对话。你可以在同一个对话里,探索阶段用快模型,遇到真正卡住的问题再切到最强模型,完全不影响连续性。这个你们一定要试试!真的好用!

💡 省钱小技巧:在 Cursor Settings → Models 里设置你的日常默认模型。日常开发大部分任务用中等模型就够,把强模型留给真正需要它的场景~很划算!


6. Skills------把最佳实践打包成可调用的命令

上一篇文章里讲过 Rules,Rules 是给 Agent 的持久化背景知识。Skills 是另一个层次的东西:它是把一套完整的操作流程打包成一个可复用、可分享的命令~

简单说:Rules 告诉 Agent "怎么做事",Skills 告诉 Agent "做哪件事"。是不是很好理解!

Skills 放在哪里呢

位置 谁能用到
.cursor/skills/ 或 .agents/skills/ 当前项目
~/.cursor/skills/ 你的所有项目

每个 Skill 是一个文件夹,里面放一个 SKILL.md,还可以附带 scripts/、references/、assets/ 目录~

一个典型的 Skill 长这样

yaml 复制代码
---
name: rework-commits
description: 把当前 branch 的改动重新拆分成语义化的小 commit,每个 commit 只做一件事。提交 PR 前使用。
---

# Rework Commits

## 步骤

1. 用 git log 查看当前 branch 上的所有改动
2. 按功能边界把改动分组
3. 用 git add -p 分批暂存,逐个提交
4. 每条 commit message 格式:<type>: <描述>,并说明改动原因

两种调用方式

  • 在 Agent 对话里输入 /rework-commits,直接触发
  • Agent 根据上下文自动判断是否相关,主动调用(在 description 里写清楚"什么时候用",Agent 就能自己判断)

如果不想让 Agent 自动触发,只想手动调用,在 frontmatter 里加一行:

yaml 复制代码
---
name: rework-commits
description: ...
disable-model-invocation: true
---

💡 心得:我把部署前检查、生成 changelog、整理 commit、跑安全扫描这几个流程都做成了 Skills,团队成员 clone 项目就能直接用,不用每次口头交代步骤。Skills 存进 git,团队共享------这是 Rules 做不到的事。


7. Hooks------在 Agent 操作前后插入你自己的逻辑

第一篇文章里提过 Hooks 的基本概念啦~这里不重复基础,重点讲三个 Cursor 独有的能力~

能力一:Tab 专属 Hooks

Cursor 有两套 Hook 事件,分别针对 Agent 和 Tab(内联补全):

Hook 什么时候触发
beforeTabFileRead Tab 补全要读文件之前
afterTabFileEdit Tab 补全写完文件之后

这两个 Hook 只有 Cursor 有哦!它让你对 Tab 自动补全的行为做单独控制,比如在 Tab 读取文件前过滤掉敏感字段,或者在 Tab 写完代码后自动跑格式化。Claude Code 没有内联补全,自然也没有这两个 Hook~是不是很酷!

能力二:团队云端分发

企业版可以在 Cursor Dashboard 里直接配置 Hooks,自动同步到所有团队成员,不需要每个人手动配置或通过 git 分发:

css 复制代码
Dashboard → Team Content → Hooks
→ 新建 Hook 配置
→ 自动同步到所有成员(每 30 分钟一次)

配合操作系统定向投放,可以给 Mac 和 Windows 用户分别下发不同的 Hook 脚本。

能力三:开箱即用的合作伙伴集成

Cursor 官方和一批安全工具做了 Hooks 集成,拿来即用:

工具 能帮我们做什么
Semgrep Agent 写完代码自动扫描漏洞,有问题直接让它重新生成
Snyk 实时检测 Agent 操作里的 prompt injection 和危险工具调用
Endor Labs Agent 安装包之前扫描恶意依赖,防供应链攻击
1Password Shell 命令执行前验证 .env 是否正确挂载,密钥不落磁盘

💡 我是这么用的:在 afterFileEdit 里挂一个格式化脚本,Agent 每次改完文件自动跑 prettier,再也不用手动格式化了。团队里用企业版的朋友可以直接从 Dashboard 统一推下去,一次配置全员生效。


第三部分:安全边界

8. 用 .cursorignore 保护敏感文件

默认情况下,Agent 可以读取你项目里的所有文件。如果项目里有密钥、证书、敏感配置,需要主动排除~

这个真的很重要很重要!之前有朋友把 .env 文件忘了加 ignore,结果 Agent 读取了还贴到对话里,尴尬死了......你们千万别学他!

在项目根目录创建 .cursorignore:

bash 复制代码
# 环境变量和密钥
.env
.env.*
*.key
*.pem
**/secrets.json
**/credentials.json

# 不需要 AI 读取的大型生成文件
dist/
build/*.min.js

💡 全局 ignore:在 Cursor Settings 里可以配置全局 ignore 规则,对你所有项目生效,不用每个项目单独配~


9. 用 sandbox.json 精确管控网络和文件权限

Cursor Agent 在沙盒环境里执行终端命令,你可以通过 .cursor/sandbox.json 精确控制它能访问哪些域名和文件路径~

一个典型的配置

json 复制代码
{
  "networkPolicy": {
    "default": "deny",
    "allow": [
      "registry.npmjs.org",
      "pypi.org",
      "*.githubusercontent.com"
    ]
  }
}

default: deny 表示除了明确允许的域名,其他全部拒绝。这是最安全的做法~

还能控制文件系统访问范围

json 复制代码
{
  "networkPolicy": {
    "default": "deny",
    "allow": ["registry.npmjs.org"]
  },
  "additionalReadonlyPaths": [
    "/opt/shared/design-tokens"
  ],
  "enableSharedBuildCache": true
}

💡 沙盒内置的保护机制,默认就已经生效,不需要额外配置啦:

  • 私有 IP(RFC 1918)和云服务元数据端点(169.254.169.254)默认全部拒绝,防止 SSRF
  • .cursorignore、.git/config、.vscode/ 等配置文件默认写保护,Agent 改不了
  • Agent 的文件操作默认限制在 workspace 内,不会跑到外面去创建或修改文件
  • 用户级(~/.cursor/sandbox.json)和项目级(.cursor/sandbox.json)可以同时存在,项目级优先,但团队管理员和 Cursor 硬编码的安全规则永远在最上层,任何配置都无法覆盖

💡 有了这些保护,用 Cursor 是不是安心多了!


第四部分:代码质量与团队协作

10. Bugbot------把质量检查从"手动触发"变成"自动运转"

如果说 Plan Mode 是你主动触发的防线,Bugbot 是全自动的后台守卫。你推 PR,它自动跑,在代码行内直接留评论~是不是很酷!

你们敢信?我上次忘了开 Bugbot,结果有个安全漏洞直接被忽略了......后来想想都后怕!

后来开了 Bugbot 之后,每次 PR 它都会自动检查,简直是安全感拉满!

它能帮我们发现这些问题

  • 逻辑错误
  • 空指针风险
  • Race condition
  • 安全隐患
  • 缺失的错误处理

两种触发方式

  1. 每次推 PR 更新,自动运行
  2. 在 PR 下面评论 cursor review 或 bugbot run,手动触发

发现问题后有两种处理方式

  • 点 "Fix in Cursor" 链接,跳回编辑器,让本地 Agent 修复
  • 如果开启了 Autofix,Bugbot 直接调起 Cloud Agent 自动提交修复,全程不需要你介入

还能配置项目特有的检查规则:在 .cursor/BUGBOT.md 里写:

shell 复制代码
## 安全规范
所有 API 入参必须经过 zod 校验,发现缺失的校验直接标记为 blocking bug。

## 测试要求
修改 backend/ 下的文件必须有对应的测试变更,否则标记为 blocking bug。

团队管理员还可以在 Dashboard 里配置全团队通用的 Bugbot Rules,自动应用到所有仓库,不需要每个项目单独写~是不是很方便!

💡 怎么设置:打开 cursor.com/dashboard → Integrations → 连接 GitHub → Bugbot tab 开启对应的仓库


11. Cloud Agent------把耗时任务放到后台跑

本地 Agent 跑任务时,你需要保持电脑开着,网络连着。如果是个耗时很长的任务,或者你想同时干别的事,用 Cloud Agent~是不是很爽!

我最近天天用 Cloud Agent 写测试覆盖率你们知道吗?以前得开着电脑等半天,现在直接交给 Cloud Agent,跑完自动开 PR,我回来看结果就行,效率拉满!真的!

怎么用:在 Agent 输入框下方的下拉菜单里选 "Cloud",然后正常发送任务~

Cloud Agent 会帮你做这些

  1. 自动 clone 你的仓库到独立的云端沙盒
  2. 在隔离环境里跑任务(能构建、跑测试、操作浏览器)
  3. 完成后开一个 PR,等你来 review
  4. 通过 Slack、邮件或网页界面通知你

还能从这些地方触发 Cloud Agent

从哪里触发 怎么用
cursor.com/agents 网页界面,手机也能用
Slack @cursor [描述],支持指定仓库和模型
Linear 把 issue 指派给 Cursor,或评论 @cursor
GitHub 在 PR 或 Issue 下评论 @cursor [描述]
API 用 API 触发,接入内部工具

💡 Slack 有个很好用的小细节:Cloud Agent 会读取整个 thread 的上下文。团队在 Slack 里讨论了一个问题,直接在那个 thread 里 @cursor 触发,它能理解整个讨论背景,不用你重新解释一遍~很贴心!

💡 关于费用:Cloud Agent 按 API 用量计费,使用前需要在 Dashboard → Settings 里开启 usage-based pricing~很灵活!


12. Automations------定时或事件驱动,让 Agent 全自动运转

这是前两篇都没讲到的功能,也是我觉得 Cursor 最被低估的能力之一~

Cloud Agent 是你主动触发的。Automations 是让 Agent 自己跑起来------不需要你在场,不需要你手动触发。

一句话解释:给 Cloud Agent 配一个触发器,满足条件就自动跑,跑完自动发 PR 或发 Slack 通知~

支持这些触发方式

触发方式 举个例子
定时触发 每天凌晨 2 点、每小时、每周一
GitHub 事件 PR 打开、PR 合并、push 到分支、CI 完成
Slack 事件 某个频道有新消息、消息包含特定关键词
Linear 事件 issue 创建、状态变更、cycle 结束
PagerDuty 事件 告警触发、告警解除
Webhook 自定义 HTTP 端点,接入任何内部系统

举几个真实场景

场景一:每天自动清理 feature flags

复制代码
触发器:每天凌晨 2 点
任务:扫描代码库,找出已经全量的 feature flags,
 删除相关条件分支,提交 PR

场景二:PR 打开时自动做安全扫描

vbscript 复制代码
触发器:GitHub - Pull request opened
任务:分析 PR diff,检查是否有安全漏洞、
 硬编码的密钥、不安全的依赖,
 在 PR 下留 review 评论

场景三:Slack 报 bug 自动触发修复

arduino 复制代码
触发器:Slack - #bugs 频道有新消息
任务:读取消息内容,定位相关代码,
 提交修复 PR,回复到原 thread

Automations 还有记忆功能:同一个 Automation 的多次运行之间可以共享持久化笔记,Agent 能记住上次发现了什么、做了什么,下次运行时接着来。比如安全扫描的 Automation 可以记录"上周已经报告过这个问题",避免重复留评论~是不是很智能!

💡 心得:我现在有三个 Automation 一直在后台跑:每周一自动扫描依赖更新、每次 PR 合并后自动更新 changelog、每天检查 TODO 注释是否有对应的 issue。这些事情以前要么靠人记着做,要么靠 CI 脚本维护------现在交给 Automation,我完全不用操心了~

写在最后

16 + 7 + 12 = 35 个技巧,说多不多,说少不少。

但最重要的是:看完一定要去用哦~

不然就白看啦~

回头看这三篇文章,其实有一条主线贯穿始终:你给 Agent 的上下文质量,决定了它输出的质量。 Rules 是上下文,Plan 是上下文,运行时日志是上下文,浏览器截图是上下文。所有的技巧,本质上都是在帮你把正确的信息送到模型面前。

希望这篇文章对你们有帮助呀~ 有问题欢迎来问我!

欢迎关注我的公众号「清汤饺子」,获取更多技术干货~

参考文档

相关推荐
周末程序猿2 小时前
技术总结|十分钟了解Git的Worktree
后端·ai编程
Mr数据杨2 小时前
【Dv3Admin】FastCRUD富文本编辑器操作
前端·javascript
倾颜2 小时前
零成本本地大模型!用 Next.js + Ollama + Qwen3 打造流式聊天应用
前端·后端·ai编程
Victor3562 小时前
MongoDB(45) 嵌入式文档与引用的优缺点是什么?
后端
JaguarJack2 小时前
告别阻塞!用 PHP TrueAsync 实现 PHP 脚本提速 10 倍
后端·php
Victor3562 小时前
MongoDB(44)什么是引用?
后端
五点六六六7 小时前
基于 AST 与 Proxy沙箱 的局部代码热验证
前端·设计模式·架构
发现一只大呆瓜9 小时前
SSO单点登录:从同域到跨域实战
前端·javascript·面试