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 是上下文,运行时日志是上下文,浏览器截图是上下文。所有的技巧,本质上都是在帮你把正确的信息送到模型面前。

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

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

参考文档

相关推荐
wangruofeng5 小时前
AI Models 模型目录,跨平台比较大模型 API 价格与上下文
github·aigc·ai编程
程序员海军7 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
码士集团小青7 小时前
SpringBoot 集成缓存性能之王 Caffeine
spring boot·后端·缓存
怕浪猫7 小时前
红利窗口开着,程序员别在场边囤课
面试·github·ai编程
zttbee7 小时前
echarts图表tooltip色块失效
前端·javascript·echarts
孟健8 小时前
一个人做 26 个平台的内容分发:字流 3.0 从选题到复盘的完整链路
aigc·ai编程
小碗细面8 小时前
Matt Pocock Skills v1.3 全解析:从 grill 到 retro 的 AI 工程化工作流实战
ai编程
excel9 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
Json____9 小时前
用 FastAPI + Vue3 打造一套完整的在线考试系统:从组卷到阅卷的业务闭环实践
后端·node.js·fastapi·it学习·wwwoop.com
子兮曰9 小时前
CSS 复现 23 种设计风格:从拟物到液态玻璃的成本阶梯与兜底写法【实战】
前端·css·视觉设计