[{"data":1,"prerenderedAt":1757},["ShallowReactive",2],{"header-counts":3,"footer-counts":6,"playbook-ai-coding\u002Fcursor-rules-best-practice":9,"playbook-tools-ai-coding\u002Fcursor-rules-best-practice":1090},{"tools":4,"reviews":5},75,34,{"tools":4,"reviews":5,"playbooks":7,"news":8},33,27,{"id":10,"title":11,"body":12,"category":1064,"cover":1064,"description":1065,"extension":1066,"lastVerified":1067,"meta":1068,"navigation":304,"path":1077,"published":1067,"relatedTools":1078,"seo":1080,"seoTitle":1081,"stem":1082,"tags":1083,"updated":1067,"__hash__":1089},"playbook\u002Fplaybook\u002Fai-coding\u002Fcursor-rules-best-practice.md","Cursor Rules 最佳实践：5 套现成模板（Vue \u002F Nuxt \u002F Next \u002F Python \u002F Go）",{"type":13,"value":14,"toc":1047},"minimark",[15,19,33,37,44,125,130,170,183,194,198,232,239,243,248,359,363,450,454,541,545,637,641,733,737,740,801,811,815,864,867,954,957,963,976,981,998,1001,1004,1038,1043],[16,17,18],"h2",{"id":18},"一句话结论",[20,21,22,23,27,28,32],"p",{},"Cursor Rules 是「给 AI 装项目记忆」最便宜的方式——写一次，每个对话自动注入。",[24,25,26],"strong",{},"但 Rules 不是越长越好","：超过 ~2000 字会污染上下文，模型反而抓不住重点，成功率不升反降。一份好的 Rules 只写五块（技术栈 \u002F 约定 \u002F 禁忌 \u002F 风格 \u002F 流程），拆成多个 ",[29,30,31],"code",{},".mdc"," 文件按需注入。",[16,34,36],{"id":35},"新版-cursorrulesmdc-vs-旧版-cursorrules","新版 .cursor\u002Frules\u002F*.mdc vs 旧版 .cursorrules",[20,38,39,40,43],{},"Cursor 现在推荐",[24,41,42],{},"项目级多文件结构","：",[45,46,47,69],"table",{},[48,49,50],"thead",{},[51,52,53,57,63],"tr",{},[54,55,56],"th",{},"维度",[54,58,59,60],{},"旧版 ",[29,61,62],{},".cursorrules",[54,64,65,66],{},"新版 ",[29,67,68],{},".cursor\u002Frules\u002F*.mdc",[70,71,72,84,103,114],"tbody",{},[51,73,74,78,81],{},[75,76,77],"td",{},"形态",[75,79,80],{},"单文件",[75,82,83],{},"多文件目录",[51,85,86,89,92],{},[75,87,88],{},"注入方式",[75,90,91],{},"全量注入",[75,93,94,95,98,99,102],{},"可按 ",[29,96,97],{},"description"," 自动匹配 \u002F ",[29,100,101],{},"always"," 常驻",[51,104,105,108,111],{},[75,106,107],{},"粒度",[75,109,110],{},"粗",[75,112,113],{},"细（每个文件管一类约定）",[51,115,116,119,122],{},[75,117,118],{},"维护",[75,120,121],{},"一长串难改",[75,123,124],{},"模块化易改",[20,126,127,129],{},[29,128,31],{}," 文件头部有 frontmatter：",[131,132,137],"pre",{"className":133,"code":134,"language":135,"meta":136,"style":136},"language-markdown shiki shiki-themes github-light github-dark","---\ndescription: 项目使用 Nuxt 3 + Tailwind，组件用 \u003Cscript setup>\nglobs: [\"**\u002F*.vue\"]\nalwaysApply: false\n---\n","markdown","",[29,138,139,147,153,159,165],{"__ignoreMap":136},[140,141,144],"span",{"class":142,"line":143},"line",1,[140,145,146],{},"---\n",[140,148,150],{"class":142,"line":149},2,[140,151,152],{},"description: 项目使用 Nuxt 3 + Tailwind，组件用 \u003Cscript setup>\n",[140,154,156],{"class":142,"line":155},3,[140,157,158],{},"globs: [\"**\u002F*.vue\"]\n",[140,160,162],{"class":142,"line":161},4,[140,163,164],{},"alwaysApply: false\n",[140,166,168],{"class":142,"line":167},5,[140,169,146],{},[20,171,172,175,176,178,179,182],{},[29,173,174],{},"alwaysApply: true"," 的文件每次对话都注入；否则 Cursor 根据 ",[29,177,97],{}," 和 ",[29,180,181],{},"globs"," 自动判断要不要注入。",[184,185,186],"blockquote",{},[20,187,188,43,191,193],{},[24,189,190],{},"AIHO 观点",[29,192,174],{}," 别滥用——只放「全项目通用且必须知道」的内容（技术栈 + 构建命令）。具体的目录约定放按 globs 匹配的 .mdc，让注入更精准。",[16,195,197],{"id":196},"一份好的-rules-包含什么5-大块","一份好的 Rules 包含什么（5 大块）",[199,200,201,208,214,220,226],"ol",{},[202,203,204,207],"li",{},[24,205,206],{},"技术栈","：框架版本、包管理器、运行时",[202,209,210,213],{},[24,211,212],{},"约定","：目录结构、命名规范、import 顺序",[202,215,216,219],{},[24,217,218],{},"禁忌","：「不要改 X」「不要用 Y 写法」「禁止 console.log 进生产」",[202,221,222,225],{},[24,223,224],{},"风格","：格式化、注释密度、错误处理姿势",[202,227,228,231],{},[24,229,230],{},"流程","：dev \u002F test \u002F build \u002F lint 的确切命令",[184,233,234],{},[20,235,236,238],{},[24,237,190],{},"：禁忌清单（第 3 块）对成功率提升最大。模型默认会「好心办坏事」（比如顺手加个你不要的依赖），明确写「不要做 X」比写「要做 Y」更有效。",[16,240,242],{"id":241},"_5-套现成模板直接复制到项目","5 套现成模板（直接复制到项目）",[244,245,247],"h3",{"id":246},"_1-vue-3-vite","1. Vue 3 + Vite",[131,249,251],{"className":133,"code":250,"language":135,"meta":136,"style":136},"---\ndescription: Vue 3 + Vite + Pinia 项目约定\nglobs: [\"**\u002F*.vue\", \"**\u002F*.ts\"]\nalwaysApply: false\n---\n# 技术栈\n- Vue 3 \u003Cscript setup> + TypeScript\n- Pinia 状态管理，禁止 Vuex\n- Vite 构建，pnpm 包管理\n\n# 约定\n- 组件用 PascalCase，composables 用 useXxx 命名\n- API 调用统一走 @\u002Fapi 目录\n- 类型定义在 src\u002Ftypes\n\n# 禁忌\n- 不要用 Options API\n- 不要在组件里直接写 axios，走 api 层\n- 禁止 any，用 unknown 或具体类型\n",[29,252,253,257,262,267,271,275,281,287,293,299,306,312,318,324,330,335,341,347,353],{"__ignoreMap":136},[140,254,255],{"class":142,"line":143},[140,256,146],{},[140,258,259],{"class":142,"line":149},[140,260,261],{},"description: Vue 3 + Vite + Pinia 项目约定\n",[140,263,264],{"class":142,"line":155},[140,265,266],{},"globs: [\"**\u002F*.vue\", \"**\u002F*.ts\"]\n",[140,268,269],{"class":142,"line":161},[140,270,164],{},[140,272,273],{"class":142,"line":167},[140,274,146],{},[140,276,278],{"class":142,"line":277},6,[140,279,280],{},"# 技术栈\n",[140,282,284],{"class":142,"line":283},7,[140,285,286],{},"- Vue 3 \u003Cscript setup> + TypeScript\n",[140,288,290],{"class":142,"line":289},8,[140,291,292],{},"- Pinia 状态管理，禁止 Vuex\n",[140,294,296],{"class":142,"line":295},9,[140,297,298],{},"- Vite 构建，pnpm 包管理\n",[140,300,302],{"class":142,"line":301},10,[140,303,305],{"emptyLinePlaceholder":304},true,"\n",[140,307,309],{"class":142,"line":308},11,[140,310,311],{},"# 约定\n",[140,313,315],{"class":142,"line":314},12,[140,316,317],{},"- 组件用 PascalCase，composables 用 useXxx 命名\n",[140,319,321],{"class":142,"line":320},13,[140,322,323],{},"- API 调用统一走 @\u002Fapi 目录\n",[140,325,327],{"class":142,"line":326},14,[140,328,329],{},"- 类型定义在 src\u002Ftypes\n",[140,331,333],{"class":142,"line":332},15,[140,334,305],{"emptyLinePlaceholder":304},[140,336,338],{"class":142,"line":337},16,[140,339,340],{},"# 禁忌\n",[140,342,344],{"class":142,"line":343},17,[140,345,346],{},"- 不要用 Options API\n",[140,348,350],{"class":142,"line":349},18,[140,351,352],{},"- 不要在组件里直接写 axios，走 api 层\n",[140,354,356],{"class":142,"line":355},19,[140,357,358],{},"- 禁止 any，用 unknown 或具体类型\n",[244,360,362],{"id":361},"_2-nuxt-3","2. Nuxt 3",[131,364,366],{"className":133,"code":365,"language":135,"meta":136,"style":136},"---\ndescription: Nuxt 3 全栈项目约定\nglobs: [\"**\u002F*.vue\", \"**\u002F*.ts\", \"**\u002F*.server.ts\"]\nalwaysApply: false\n---\n# 技术栈\n- Nuxt 3（自动导入，不要手动 import composables）\n- 服务端用 server\u002F 目录 + event handlers\n- UniCSS 原子化 CSS\n\n# 约定\n- 页面用 definePageMeta 声明布局\n- 服务端代码放 server\u002F，禁止在前端 import 密钥\n- 用 useFetch 而非直接 fetch\n\n# 禁忌\n- 不要在客户端暴露 runtimeConfig 的 secret\n- 不要禁用 SSR 除非必要\n",[29,367,368,372,377,382,386,390,394,399,404,409,413,417,422,427,432,436,440,445],{"__ignoreMap":136},[140,369,370],{"class":142,"line":143},[140,371,146],{},[140,373,374],{"class":142,"line":149},[140,375,376],{},"description: Nuxt 3 全栈项目约定\n",[140,378,379],{"class":142,"line":155},[140,380,381],{},"globs: [\"**\u002F*.vue\", \"**\u002F*.ts\", \"**\u002F*.server.ts\"]\n",[140,383,384],{"class":142,"line":161},[140,385,164],{},[140,387,388],{"class":142,"line":167},[140,389,146],{},[140,391,392],{"class":142,"line":277},[140,393,280],{},[140,395,396],{"class":142,"line":283},[140,397,398],{},"- Nuxt 3（自动导入，不要手动 import composables）\n",[140,400,401],{"class":142,"line":289},[140,402,403],{},"- 服务端用 server\u002F 目录 + event handlers\n",[140,405,406],{"class":142,"line":295},[140,407,408],{},"- UniCSS 原子化 CSS\n",[140,410,411],{"class":142,"line":301},[140,412,305],{"emptyLinePlaceholder":304},[140,414,415],{"class":142,"line":308},[140,416,311],{},[140,418,419],{"class":142,"line":314},[140,420,421],{},"- 页面用 definePageMeta 声明布局\n",[140,423,424],{"class":142,"line":320},[140,425,426],{},"- 服务端代码放 server\u002F，禁止在前端 import 密钥\n",[140,428,429],{"class":142,"line":326},[140,430,431],{},"- 用 useFetch 而非直接 fetch\n",[140,433,434],{"class":142,"line":332},[140,435,305],{"emptyLinePlaceholder":304},[140,437,438],{"class":142,"line":337},[140,439,340],{},[140,441,442],{"class":142,"line":343},[140,443,444],{},"- 不要在客户端暴露 runtimeConfig 的 secret\n",[140,446,447],{"class":142,"line":349},[140,448,449],{},"- 不要禁用 SSR 除非必要\n",[244,451,453],{"id":452},"_3-nextjsapp-router","3. Next.js（App Router）",[131,455,457],{"className":133,"code":456,"language":135,"meta":136,"style":136},"---\ndescription: Next.js App Router + TypeScript 约定\nglobs: [\"**\u002F*.tsx\", \"**\u002F*.ts\"]\nalwaysApply: false\n---\n# 技术栈\n- Next.js 14+ App Router\n- TypeScript strict 模式\n- Tailwind CSS\n\n# 约定\n- Server Component 默认，要交互才加 'use client'\n- 数据获取用 Server Component + fetch（带 cache 配置）\n- 路径用 @\u002F 别名\n\n# 禁忌\n- 不要在 Server Component 里用 useState\n- 不要在前端 fetch 带 API key\n",[29,458,459,463,468,473,477,481,485,490,495,500,504,508,513,518,523,527,531,536],{"__ignoreMap":136},[140,460,461],{"class":142,"line":143},[140,462,146],{},[140,464,465],{"class":142,"line":149},[140,466,467],{},"description: Next.js App Router + TypeScript 约定\n",[140,469,470],{"class":142,"line":155},[140,471,472],{},"globs: [\"**\u002F*.tsx\", \"**\u002F*.ts\"]\n",[140,474,475],{"class":142,"line":161},[140,476,164],{},[140,478,479],{"class":142,"line":167},[140,480,146],{},[140,482,483],{"class":142,"line":277},[140,484,280],{},[140,486,487],{"class":142,"line":283},[140,488,489],{},"- Next.js 14+ App Router\n",[140,491,492],{"class":142,"line":289},[140,493,494],{},"- TypeScript strict 模式\n",[140,496,497],{"class":142,"line":295},[140,498,499],{},"- Tailwind CSS\n",[140,501,502],{"class":142,"line":301},[140,503,305],{"emptyLinePlaceholder":304},[140,505,506],{"class":142,"line":308},[140,507,311],{},[140,509,510],{"class":142,"line":314},[140,511,512],{},"- Server Component 默认，要交互才加 'use client'\n",[140,514,515],{"class":142,"line":320},[140,516,517],{},"- 数据获取用 Server Component + fetch（带 cache 配置）\n",[140,519,520],{"class":142,"line":326},[140,521,522],{},"- 路径用 @\u002F 别名\n",[140,524,525],{"class":142,"line":332},[140,526,305],{"emptyLinePlaceholder":304},[140,528,529],{"class":142,"line":337},[140,530,340],{},[140,532,533],{"class":142,"line":343},[140,534,535],{},"- 不要在 Server Component 里用 useState\n",[140,537,538],{"class":142,"line":349},[140,539,540],{},"- 不要在前端 fetch 带 API key\n",[244,542,544],{"id":543},"_4-pythonfastapi-数据","4. Python（FastAPI \u002F 数据）",[131,546,548],{"className":133,"code":547,"language":135,"meta":136,"style":136},"---\ndescription: Python 项目（FastAPI \u002F 数据分析）约定\nglobs: [\"**\u002F*.py\"]\nalwaysApply: false\n---\n# 技术栈\n- Python 3.12+，uv 管理依赖\n- FastAPI 做 API，类型提示必写\n- ruff 做 lint，black 格式化\n\n# 约定\n- 函数必有类型标注和 docstring\n- 用 pydantic 做请求\u002F响应模型\n- 异步用 async\u002Fawait，别阻塞事件循环\n\n# 禁忌\n- 不要用 print 调试，用 logging\n- 不要裸 except，捕获具体异常\n- 不要硬编码配置，走环境变量\n",[29,549,550,554,559,564,568,572,576,581,586,591,595,599,604,609,614,618,622,627,632],{"__ignoreMap":136},[140,551,552],{"class":142,"line":143},[140,553,146],{},[140,555,556],{"class":142,"line":149},[140,557,558],{},"description: Python 项目（FastAPI \u002F 数据分析）约定\n",[140,560,561],{"class":142,"line":155},[140,562,563],{},"globs: [\"**\u002F*.py\"]\n",[140,565,566],{"class":142,"line":161},[140,567,164],{},[140,569,570],{"class":142,"line":167},[140,571,146],{},[140,573,574],{"class":142,"line":277},[140,575,280],{},[140,577,578],{"class":142,"line":283},[140,579,580],{},"- Python 3.12+，uv 管理依赖\n",[140,582,583],{"class":142,"line":289},[140,584,585],{},"- FastAPI 做 API，类型提示必写\n",[140,587,588],{"class":142,"line":295},[140,589,590],{},"- ruff 做 lint，black 格式化\n",[140,592,593],{"class":142,"line":301},[140,594,305],{"emptyLinePlaceholder":304},[140,596,597],{"class":142,"line":308},[140,598,311],{},[140,600,601],{"class":142,"line":314},[140,602,603],{},"- 函数必有类型标注和 docstring\n",[140,605,606],{"class":142,"line":320},[140,607,608],{},"- 用 pydantic 做请求\u002F响应模型\n",[140,610,611],{"class":142,"line":326},[140,612,613],{},"- 异步用 async\u002Fawait，别阻塞事件循环\n",[140,615,616],{"class":142,"line":332},[140,617,305],{"emptyLinePlaceholder":304},[140,619,620],{"class":142,"line":337},[140,621,340],{},[140,623,624],{"class":142,"line":343},[140,625,626],{},"- 不要用 print 调试，用 logging\n",[140,628,629],{"class":142,"line":349},[140,630,631],{},"- 不要裸 except，捕获具体异常\n",[140,633,634],{"class":142,"line":355},[140,635,636],{},"- 不要硬编码配置，走环境变量\n",[244,638,640],{"id":639},"_5-go","5. Go",[131,642,644],{"className":133,"code":643,"language":135,"meta":136,"style":136},"---\ndescription: Go 项目约定\nglobs: [\"**\u002F*.go\"]\nalwaysApply: false\n---\n# 技术栈\n- Go 1.22+，go mod 管理\n- gin \u002F echo 做 HTTP，标准库优先\n- 用 golangci-lint\n\n# 约定\n- 错误处理显式 if err != nil 返回\n- 接口小且明确，组合优于继承\n- 用 context 传超时和取消\n\n# 禁忌\n- 不要用 panic 做流程控制\n- 不要忽略 error（_ = foo() 需注释理由）\n- 不要全局变量存状态\n",[29,645,646,650,655,660,664,668,672,677,682,687,691,695,700,705,710,714,718,723,728],{"__ignoreMap":136},[140,647,648],{"class":142,"line":143},[140,649,146],{},[140,651,652],{"class":142,"line":149},[140,653,654],{},"description: Go 项目约定\n",[140,656,657],{"class":142,"line":155},[140,658,659],{},"globs: [\"**\u002F*.go\"]\n",[140,661,662],{"class":142,"line":161},[140,663,164],{},[140,665,666],{"class":142,"line":167},[140,667,146],{},[140,669,670],{"class":142,"line":277},[140,671,280],{},[140,673,674],{"class":142,"line":283},[140,675,676],{},"- Go 1.22+，go mod 管理\n",[140,678,679],{"class":142,"line":289},[140,680,681],{},"- gin \u002F echo 做 HTTP，标准库优先\n",[140,683,684],{"class":142,"line":295},[140,685,686],{},"- 用 golangci-lint\n",[140,688,689],{"class":142,"line":301},[140,690,305],{"emptyLinePlaceholder":304},[140,692,693],{"class":142,"line":308},[140,694,311],{},[140,696,697],{"class":142,"line":314},[140,698,699],{},"- 错误处理显式 if err != nil 返回\n",[140,701,702],{"class":142,"line":320},[140,703,704],{},"- 接口小且明确，组合优于继承\n",[140,706,707],{"class":142,"line":326},[140,708,709],{},"- 用 context 传超时和取消\n",[140,711,712],{"class":142,"line":332},[140,713,305],{"emptyLinePlaceholder":304},[140,715,716],{"class":142,"line":337},[140,717,340],{},[140,719,720],{"class":142,"line":343},[140,721,722],{},"- 不要用 panic 做流程控制\n",[140,724,725],{"class":142,"line":349},[140,726,727],{},"- 不要忽略 error（_ = foo() 需注释理由）\n",[140,729,730],{"class":142,"line":355},[140,731,732],{},"- 不要全局变量存状态\n",[16,734,736],{"id":735},"rules-长度对成功率的影响实测","Rules 长度对成功率的影响（实测）",[20,738,739],{},"我们做了对照测试（20 个中等任务，Cursor Composer）：",[45,741,742,755],{},[48,743,744],{},[51,745,746,749,752],{},[54,747,748],{},"Rules 长度",[54,750,751],{},"一次跑通率",[54,753,754],{},"备注",[70,756,757,768,779,790],{},[51,758,759,762,765],{},[75,760,761],{},"无 Rules",[75,763,764],{},"60%",[75,766,767],{},"经常猜错约定",[51,769,770,773,776],{},[75,771,772],{},"~800 字（5 块精简）",[75,774,775],{},"85%",[75,777,778],{},"甜区",[51,780,781,784,787],{},[75,782,783],{},"~2000 字",[75,785,786],{},"80%",[75,788,789],{},"开始有冗余",[51,791,792,795,798],{},[75,793,794],{},"4000+ 字",[75,796,797],{},"68%",[75,799,800],{},"上下文被稀释，重点抓不住",[20,802,803,806,807,810],{},[24,804,805],{},"结论","：把 Rules 控制在 ",[24,808,809],{},"500-1500 字 \u002F 拆 2-4 个 .mdc 文件","是甜区。超长单文件不如拆细。",[16,812,814],{"id":813},"团队-rules-协作","团队 Rules 协作",[199,816,817,826,832,852],{},[202,818,819,43,822,825],{},[24,820,821],{},"提交进 git",[29,823,824],{},".cursor\u002Frules\u002F"," 进版本控制，新人 clone 即生效。",[202,827,828,831],{},[24,829,830],{},"Code Review Rules","：PR 里改 Rules 要 review，避免有人塞「临时癖好」。",[202,833,834,43,837,840,841,843,844,847,848,851],{},[24,835,836],{},"分层",[29,838,839],{},"base.mdc","（全项目通用，",[29,842,174],{},"）+ 按目录的 ",[29,845,846],{},"frontend.mdc"," \u002F ",[29,849,850],{},"backend.mdc","（按 globs 注入）。",[202,853,854,857,858,863],{},[24,855,856],{},"和 CLAUDE.md 同步","：同时用 Claude Code 的团队，把同一份约定两边都写（详见 ",[859,860,862],"a",{"href":861},"\u002Fplaybook\u002Fai-coding\u002Fagents-md-protocol.html","AGENTS.md 协议","）。",[16,865,866],{"id":866},"常见错误排查",[45,868,869,882],{},[48,870,871],{},[51,872,873,876,879],{},[54,874,875],{},"现象",[54,877,878],{},"原因",[54,880,881],{},"解决",[70,883,884,900,918,929,940],{},[51,885,886,889,895],{},[75,887,888],{},"Rules 没生效",[75,890,891,892,894],{},"放在旧版 ",[29,893,62],{}," 但用了新客户端",[75,896,897,898],{},"迁到 ",[29,899,68],{},[51,901,902,905,912],{},[75,903,904],{},"AI 仍违反禁忌",[75,906,907,908,911],{},"禁忌写在 ",[29,909,910],{},"alwaysApply: false"," 且描述不匹配",[75,913,914,915,917],{},"关键禁忌放 base.mdc（",[29,916,174],{},"）",[51,919,920,923,926],{},[75,921,922],{},"上下文变慢",[75,924,925],{},"单个 .mdc 太长",[75,927,928],{},"拆成多个，控制总长",[51,930,931,934,937],{},[75,932,933],{},"不同目录冲突",[75,935,936],{},"多个 globs 重叠的 .mdc 互相矛盾",[75,938,939],{},"收敛 globs 范围",[51,941,942,945,951],{},[75,943,944],{},"新人 clone 没生效",[75,946,947,950],{},[29,948,949],{},".cursor\u002F"," 被 gitignore",[75,952,953],{},"确认 rules 目录已提交",[16,955,956],{"id":956},"真实前后对比",[20,958,959,962],{},[24,960,961],{},"没写 Rules 时","，让 Cursor 给一个 Nuxt 项目加 API：",[184,964,965],{},[20,966,967,968,971,972,975],{},"它在前端 ",[29,969,970],{},"pages\u002F"," 里直接 ",[29,973,974],{},"fetch('https:\u002F\u002Fapi.xxx\u002Fkey=xxx')","——把密钥写进了前端，违反安全约定。",[20,977,978,43],{},[24,979,980],{},"写好禁忌后",[184,982,983],{},[20,984,985,986,989,990,993,994,997],{},"它自动把密钥调用放进 ",[29,987,988],{},"server\u002Fapi\u002F","，前端只调 ",[29,991,992],{},"\u002Fapi\u002Fxxx","，并补了 ",[29,995,996],{},"runtimeConfig"," 读取逻辑。",[20,999,1000],{},"差距就是一条「禁止在前端暴露密钥」的禁忌清单。",[16,1002,1003],{"id":1003},"相关阅读",[1005,1006,1007,1014,1021,1031],"ul",{},[202,1008,1009,1010],{},"工具卡：",[859,1011,1013],{"href":1012},"\u002Fcoding\u002Fide\u002Fcursor.html","Cursor",[202,1015,1016,1017],{},"对比：",[859,1018,1020],{"href":1019},"\u002Fcompare\u002Fcursor-vs-claude-code.html","Cursor vs Claude Code",[202,1022,1023,1024,1028,1029],{},"方案：",[859,1025,1027],{"href":1026},"\u002Fplaybook\u002Fai-coding\u002Fclaude-md-best-practice.html","CLAUDE.md 最佳实践"," ｜ ",[859,1030,862],{"href":861},[202,1032,1033,1034],{},"评测：",[859,1035,1037],{"href":1036},"\u002Freview\u002Fcursor-deep-review.html","Cursor 深度评测",[184,1039,1040],{},[20,1041,1042],{},"来源说明：本文基于 Cursor 官方 Rules 文档、定价页及 AIHO 编辑部对照测试归纳。功能以最新官方文档为准。",[1044,1045,1046],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":136,"searchDepth":155,"depth":155,"links":1048},[1049,1050,1051,1052,1059,1060,1061,1062,1063],{"id":18,"depth":149,"text":18},{"id":35,"depth":149,"text":36},{"id":196,"depth":149,"text":197},{"id":241,"depth":149,"text":242,"children":1053},[1054,1055,1056,1057,1058],{"id":246,"depth":155,"text":247},{"id":361,"depth":155,"text":362},{"id":452,"depth":155,"text":453},{"id":543,"depth":155,"text":544},{"id":639,"depth":155,"text":640},{"id":735,"depth":149,"text":736},{"id":813,"depth":149,"text":814},{"id":866,"depth":149,"text":866},{"id":956,"depth":149,"text":956},{"id":1003,"depth":149,"text":1003},null,"Cursor Rules 2026 最佳实践：新版 .cursor\u002Frules\u002F*.mdc 对比旧版 .cursorrules，一份好 Rules 的 5 大块结构，5 套可直接复制的项目模板，Rules 长度对成功率的影响实测，团队 git 同步协作方式，以及常见错误排查。","md","2026-08-02",{"verdict":1069,"sources":1070},"Cursor Rules 不是越长越好——超过 ~2000 字会污染上下文、降低成功率。一份好的 Rules 只写「技术栈 + 约定 + 禁忌 + 风格 + 流程」五块，拆成多个 .mdc 文件按场景注入。",[1071,1074],{"title":1072,"url":1073},"Cursor 官方 Rules 文档","https:\u002F\u002Fdocs.cursor.com\u002Fcontext\u002Frules",{"title":1075,"url":1076},"Cursor 官方定价页","https:\u002F\u002Fcursor.com\u002Fpricing","\u002Fplaybook\u002Fai-coding\u002Fcursor-rules-best-practice",[1079],"coding\u002Fide\u002Fcursor",{"title":11,"description":1065},"Cursor Rules 最佳实践 2026：.cursor\u002Frules 模板、长度对成功率的影响与团队协作","playbook\u002Fai-coding\u002Fcursor-rules-best-practice",[1084,1085,1086,1087,1088],"cursor","cursor-rules","配置","最佳实践","工作流","i5joD2tAWGmizotBQv2SZyCmB3oWPRp-87h-Gwt5WbY",[1091],{"id":1092,"title":1013,"alternatives":1093,"api_compatible":1098,"body":1101,"category":1640,"chinese_friendly":161,"cover":1641,"description":1642,"domestic":1643,"extension":1066,"faq":1644,"free":304,"github":136,"languages":1663,"lastVerified":1067,"meta":1666,"models":1667,"navigation":304,"notSuitable":1673,"opensource":1643,"path":1678,"pillar":1679,"platforms":1680,"priceTable":1684,"pricing":1712,"published":1713,"relatedPlaybooks":1714,"relatedReviews":1720,"score":1727,"self_host":1643,"seo":1728,"seoTitle":1729,"slug":1079,"sources":1730,"stem":1739,"suitable":1740,"tagline":1745,"tags":1746,"updated":1753,"verdict":1754,"website":1755,"__hash__":1756},"tools\u002Ftools\u002Fcoding\u002Fide\u002Fcursor.md",[1094,1095,1096,1097],"coding\u002Fide\u002Ftrae","coding\u002Fide\u002Fwindsurf","coding\u002Fcli\u002Fclaude-code","coding\u002Fcli\u002Fcodex",[1099,1100],"openai","anthropic",{"type":13,"value":1102,"toc":1623},[1103,1107,1155,1158,1161,1167,1210,1225,1231,1235,1238,1257,1276,1279,1283,1288,1292,1301,1305,1315,1319,1325,1329,1362,1365,1468,1473,1476,1514,1518,1524,1528,1539,1541,1581,1584,1610,1620],[16,1104,1106],{"id":1105},"tldr","TL;DR",[1108,1109,1114,1120,1138],"div",{"className":1110},[1111,1112,1113],"card","p-5","my-4",[20,1115,1116,1119],{},[24,1117,1118],{},"一句话："," Cursor 是当前 AI IDE 综合体验的天花板。Composer 的多文件改写、Tab 的连续预测、@-symbol 的上下文召回三件套，加上 2026 年加上的 Cloud Agents 和 Bugbot，使「让 AI 真的写一段能跑的代码」这件事比纯插件方案高一个量级。",[20,1121,1122,1125,1126,1129,1130,1133,1134,1137],{},[24,1123,1124],{},"2026 年最大变化：SpaceX 以 600 亿美元全股票收购 Cursor 母公司 Anysphere","（2026-06-16 签约，预计 Q3 交割）。收购带来 Colossus 超算算力与 xAI 联合训练——自研模型 ",[24,1127,1128],{},"Composer 2.5"," 与低价的 ",[24,1131,1132],{},"Grok 4.5","（用 Cursor 会话数据训练）先后落地，降低了对 Anthropic\u002FOpenAI 的依赖。当前版本已迭代到 ",[24,1135,1136],{},"3.11","。",[20,1139,1140,1141,1144,1145,1144,1148,1144,1151,1154],{},"代价是：",[24,1142,1143],{},"$20\u002F月起","、",[24,1146,1147],{},"国内访问不稳",[24,1149,1150],{},"2025-06 之后按 token 计费",[24,1152,1153],{},"频繁切 IP 容易封号","。重度用户月底真的会超额。",[16,1156,1157],{"id":1157},"它到底是个什么",[20,1159,1160],{},"Cursor 是 VS Code 的 fork（不是插件，是独立编辑器），整套 UI \u002F 快捷键 \u002F 插件生态完全继承，但把 AI 当成一等公民重写了所有交互层。如果你今天用 VS Code，切到 Cursor 5 分钟就能上手，所有 keybindings \u002F 主题 \u002F 扩展都直接迁移。",[20,1162,1163,1164,43],{},"它的护城河不是某一个 feature，而是",[24,1165,1166],{},"三件套乘以工程化",[199,1168,1169,1182,1188],{},[202,1170,1171,1174,1175,1178,1179,1181],{},[24,1172,1173],{},"Composer","（",[29,1176,1177],{},"Cmd\u002FCtrl + I","）— 多文件 Agent，看完整个仓库后做 plan-then-act 改写；现在的 ",[24,1180,1128],{}," 是 Cursor 自研模型（85%+ 自主研发，以 Kimi K2.5 为底），已能在文件树尺度做重构。",[202,1183,1184,1187],{},[24,1185,1186],{},"Tab 补全"," — 不只是补当前行，而是预测你的下一步光标位置 + 多行 diff。收购 Supermaven 后补全采纳率达 72%，是 GitHub Copilot 没追上的部分。",[202,1189,1190,1193,1194,1197,1198,1201,1202,1205,1206,1209],{},[24,1191,1192],{},"@-symbol 上下文"," — ",[29,1195,1196],{},"@codebase"," 自动召回相关文件、",[29,1199,1200],{},"@docs"," 引外部文档、",[29,1203,1204],{},"@web"," 联网搜、",[29,1207,1208],{},"@git"," 看 diff，相当于 RAG + 工具调用都内嵌好了。",[20,1211,1212,1213,1216,1217,1220,1221,1224],{},"2026 年另加两件大件：",[24,1214,1215],{},"Cloud Agents","（云端 VM 跑长任务，3.5 起最多 10 个并行，",[29,1218,1219],{},"\u002Fmultitask"," 可拆最多 8 个子 Agent 各自独立 Git 分支）和 ",[24,1222,1223],{},"Bugbot","（PR 自动审查 + 自动 fix 提交）。",[20,1226,1227,1230],{},[24,1228,1229],{},"版本迭代速度极快","：3.0（4 月，Agents Window 成主界面）→ 3.5（5-20，Cloud Agents 并行）→ 3.9（6-30，团队市场加入 MCP 与组织）→ 3.10（7-10，Side Chats + 对话搜索）→ 3.11（7-17，Slack 集成改进）；iOS 版 Cursor Mobile 已于 6-29 上线。",[16,1232,1234],{"id":1233},"价格-计费重点","价格 & 计费（重点）",[20,1236,1237],{},"2025-06 起 Cursor 从「请求数」改成「按 token 配额」，引发过一轮社区反弹。当前的逻辑：",[1005,1239,1240,1247,1254],{},[202,1241,1242,1243,1246],{},"每档套餐有",[24,1244,1245],{},"包含的美元额度","，按底层模型 API 价折算。",[202,1248,1249,1250,1253],{},"超出后",[24,1251,1252],{},"按需续费","（on-demand），月底结算。",[202,1255,1256],{},"重模型 \u002F 长上下文 \u002F MAX 模式吃额度最快。",[20,1258,1259,1262,1263,1266,1269,1270,1272,1275],{},[24,1260,1261],{},"Pro $20\u002F月","：日常 Agent 使用够；如果天天 Composer + Background Agents，月底会冲到额度上限。",[1264,1265],"br",{},[24,1267,1268],{},"Pro+ \u002F Ultra","：$60+ \u002F $200\u002F月，给天天跑 Agent 的开发者。",[1264,1271],{},[24,1273,1274],{},"Teams $40\u002F用户\u002F月","：除了用量，主要买的是团队 Rules \u002F Skills 共享、团队级 Bugbot、SSO、隐私模式。",[20,1277,1278],{},"国内付款：结账页选 Alipay，可走支付宝。",[16,1280,1282],{"id":1281},"真实任务实测基于公开示例归纳","真实任务实测（基于公开示例归纳）",[184,1284,1285],{},[20,1286,1287],{},"来源说明：以下场景为 Cursor 官方 Composer 文档与公开 YouTube 实测视频常见演示流程的整合，非 AIHO 编辑部全程亲测，仅作为「能不能干」的参考。",[244,1289,1291],{"id":1290},"任务-1重构一个-800-行的-react-组件","任务 1：重构一个 800 行的 React 组件",[20,1293,1294,1297,1298,1300],{},[29,1295,1296],{},"Cmd+I"," → \"把这个组件按业务拆 3 个子组件，提取自定义 hook\" → Composer 列出涉及文件 + 新建 hook → Accept All。",[1264,1299],{},"\n经验值：90 秒级别能跑完，约 18k input \u002F 6k output token；import 路径偶尔错一两行，需手动改。",[244,1302,1304],{"id":1303},"任务-2跨仓库引用查找","任务 2：跨仓库引用查找",[20,1306,1307,1309,1310,1201,1312,1314],{},[29,1308,1196],{}," 在 50k+ 行项目里召回相关文件、",[29,1311,1200],{},[29,1313,1204],{}," 联网搜。多数同类工具还停留在\"开个文件让 AI 看\"。",[244,1316,1318],{"id":1317},"任务-3mcp-接入","任务 3：MCP 接入",[20,1320,1321,1324],{},[29,1322,1323],{},"~\u002F.cursor\u002Fmcp.json"," 配 GitHub \u002F Linear \u002F Slack 或自建 MCP server，让 Agent 能直接调外部工具。2026-05 社区 MCP 注册表已超 200 个。",[16,1326,1328],{"id":1327},"上手-5-分钟","上手 5 分钟",[131,1330,1334],{"className":1331,"code":1332,"language":1333,"meta":136,"style":136},"language-bash shiki shiki-themes github-light github-dark","# 1. 下载安装：https:\u002F\u002Fcursor.com\u002Fdownload\n# 2. 用 GitHub \u002F Google 登录\n# 3. 一键导入 VS Code 设置：Cmd+Shift+P → Cursor: Import VS Code Settings\n# 4. 打开任意项目 → Cmd+I 试 Composer\n# 5. 项目根目录新建 .cursor\u002Frules\u002Fmain.mdc，写下项目约定（技术栈、目录、命名）\n","bash",[29,1335,1336,1342,1347,1352,1357],{"__ignoreMap":136},[140,1337,1338],{"class":142,"line":143},[140,1339,1341],{"class":1340},"sJ8bj","# 1. 下载安装：https:\u002F\u002Fcursor.com\u002Fdownload\n",[140,1343,1344],{"class":142,"line":149},[140,1345,1346],{"class":1340},"# 2. 用 GitHub \u002F Google 登录\n",[140,1348,1349],{"class":142,"line":155},[140,1350,1351],{"class":1340},"# 3. 一键导入 VS Code 设置：Cmd+Shift+P → Cursor: Import VS Code Settings\n",[140,1353,1354],{"class":142,"line":161},[140,1355,1356],{"class":1340},"# 4. 打开任意项目 → Cmd+I 试 Composer\n",[140,1358,1359],{"class":142,"line":167},[140,1360,1361],{"class":1340},"# 5. 项目根目录新建 .cursor\u002Frules\u002Fmain.mdc，写下项目约定（技术栈、目录、命名）\n",[16,1363,1364],{"id":1364},"同类对比",[45,1366,1367,1384],{},[48,1368,1369],{},[51,1370,1371,1373,1375,1378,1381],{},[54,1372,56],{},[54,1374,1013],{},[54,1376,1377],{},"Claude Code",[54,1379,1380],{},"GitHub Copilot",[54,1382,1383],{},"Trae",[70,1385,1386,1401,1418,1434,1451],{},[51,1387,1388,1390,1393,1396,1399],{},[75,1389,77],{},[75,1391,1392],{},"VS Code fork",[75,1394,1395],{},"终端 CLI",[75,1397,1398],{},"VS Code 插件",[75,1400,1392],{},[51,1402,1403,1406,1409,1412,1415],{},[75,1404,1405],{},"价格",[75,1407,1408],{},"$20\u002F月起 + 用量",[75,1410,1411],{},"包含在 Claude.ai $20\u002F月 \u002F Max",[75,1413,1414],{},"$10\u002F月",[75,1416,1417],{},"免费（国内版）\u002F $10\u002F月（国际 Pro）",[51,1419,1420,1423,1426,1428,1431],{},[75,1421,1422],{},"国内访问",[75,1424,1425],{},"需稳定代理",[75,1427,1425],{},[75,1429,1430],{},"需代理",[75,1432,1433],{},"国内版直连",[51,1435,1436,1439,1442,1445,1448],{},[75,1437,1438],{},"Agent 形态",[75,1440,1441],{},"Composer + Cloud Agents",[75,1443,1444],{},"全终端",[75,1446,1447],{},"Agent Mode",[75,1449,1450],{},"Builder + SOLO",[51,1452,1453,1456,1459,1462,1465],{},[75,1454,1455],{},"适合",[75,1457,1458],{},"IDE-first 全栈",[75,1460,1461],{},"终端 \u002F 后端 \u002F DevOps",[75,1463,1464],{},"老 VS Code 党",[75,1466,1467],{},"国内 \u002F 中文场景",[184,1469,1470],{},[20,1471,1472],{},"一句话区分：Cursor 是「GUI 全能型」，Claude Code 是「终端硬核派」，Copilot 是「便宜稳定但天花板低」，Trae 是「国内能用的 Cursor 替代」。",[16,1474,1475],{"id":1475},"避坑清单",[199,1477,1478,1484,1490,1496,1502,1508],{},[202,1479,1480,1483],{},[24,1481,1482],{},"不要在多个 IP \u002F 设备频繁切换登录","，2025 之后 Cursor 风控严，账号一冻 24 小时起。",[202,1485,1486,1489],{},[24,1487,1488],{},"检查 usage 仪表盘","，Pro 用户每周看一次额度。开 MAX 模式跑长任务前，预估 token 量。",[202,1491,1492,1495],{},[24,1493,1494],{},"Cursor Rules 写短而精","，把超过 2000 字的项目说明拆成多个 .mdc 文件，否则每轮上下文吃得太多。",[202,1497,1498,1501],{},[24,1499,1500],{},"Composer 改大文件前先 commit","，Accept All 偶有 import 错位，git 是后悔药。",[202,1503,1504,1507],{},[24,1505,1506],{},"付费别走第三方账号","，官方明确表示只通过 cursor.com 直销，第三方账号可能被封。",[202,1509,1510,1513],{},[24,1511,1512],{},"国内信用卡如果被拒","，先开支付宝、再开 Stripe 友好的虚拟卡（Wise \u002F WildCard），别反复试同一张。",[16,1515,1517],{"id":1516},"适合-不适合","适合 \u002F 不适合",[20,1519,1520,1521,1523],{},"✅ 全栈开发者；习惯 VS Code 的人；多文件大改 \u002F Agent 长任务；已经在用 MCP 生态。",[1264,1522],{},"\n❌ 国内纯内网开发；JetBrains 重度用户；预算敏感的学生；对 usage-based 计费敏感的人。",[16,1525,1527],{"id":1526},"市场地位2026-中","市场地位（2026 中）",[20,1529,1530,1531,1534,1535,1538],{},"Cursor 6 月初年化营收约 ",[24,1532,1533],{},"$4B","，服务 60% 财富 500 强，约 700 名员工。市占率从 2025-06 的 41% 回落到 2026-05 的 26%（",[859,1536,1377],{"href":1537},"\u002Fcoding\u002Fcli\u002Fclaude-code.html"," 约占赛道一半），但 SpaceX 收购带来的算力与自研模型资源，让它在下半年的竞争中重新握有底牌。三方估算显示，Cursor 接 Sonnet 5 后端时 SWE-bench 约 65.7%，默认配置约 51.7%。",[16,1540,1003],{"id":1003},[1005,1542,1543,1555,1562,1569],{},[202,1544,1545,1546,1550,1551],{},"最新资讯：",[859,1547,1549],{"href":1548},"\u002Fnews\u002F2026\u002Fspacex-acquires-cursor.html","SpaceX 600 亿美元收购 Cursor"," · ",[859,1552,1554],{"href":1553},"\u002Fnews\u002F2026\u002Fgrok-4-5-release.html","Grok 4.5 与 Cursor 联合训练",[202,1556,1557,1558],{},"配套 playbook：",[859,1559,1561],{"href":1560},"\u002Fplaybook\u002Fcursor-rules-best-practice.html","Cursor Rules 最佳实践",[202,1563,1564,1565],{},"同分类：",[859,1566,1568],{"href":1567},"\u002Fcoding\u002Fide\u002F","AI IDE 全分类",[202,1570,1571,1572,1550,1575,1550,1579],{},"替代品：",[859,1573,1383],{"href":1574},"\u002Fcoding\u002Fide\u002Ftrae.html",[859,1576,1578],{"href":1577},"\u002Fcoding\u002Fide\u002Fwindsurf.html","Devin Desktop（原 Windsurf）",[859,1580,1377],{"href":1537},[16,1582,1583],{"id":1583},"来源",[1005,1585,1586,1593,1600,1607],{},[202,1587,1588,1589],{},"官方定价页：",[859,1590,1076],{"href":1076,"rel":1591},[1592],"nofollow",[202,1594,1595,1596],{},"Composer 文档：",[859,1597,1598],{"href":1598,"rel":1599},"https:\u002F\u002Fdocs.cursor.com\u002Fcomposer",[1592],[202,1601,1602,1603],{},"Cursor 3.5 Cloud Agents 公告：",[859,1604,1605],{"href":1605,"rel":1606},"https:\u002F\u002Fcursor.com\u002Fchangelog",[1592],[202,1608,1609],{},"第三方评测：ZBuild 2026 评测、Flexprice Cursor pricing 解析、Codersera 3.5 完整指南",[184,1611,1612],{},[20,1613,1614,1615,1619],{},"本卡片由 AIHO 编辑部基于以上公开资料整理，非厂商付费内容；定价与功能以官网为准，欢迎在 ",[859,1616,1618],{"href":1617},"mailto:hello@aiho.net","反馈邮箱"," 反馈更新。",[1044,1621,1622],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":136,"searchDepth":155,"depth":155,"links":1624},[1625,1626,1627,1628,1633,1634,1635,1636,1637,1638,1639],{"id":1105,"depth":149,"text":1106},{"id":1157,"depth":149,"text":1157},{"id":1233,"depth":149,"text":1234},{"id":1281,"depth":149,"text":1282,"children":1629},[1630,1631,1632],{"id":1290,"depth":155,"text":1291},{"id":1303,"depth":155,"text":1304},{"id":1317,"depth":155,"text":1318},{"id":1327,"depth":149,"text":1328},{"id":1364,"depth":149,"text":1364},{"id":1475,"depth":149,"text":1475},{"id":1516,"depth":149,"text":1517},{"id":1526,"depth":149,"text":1527},{"id":1003,"depth":149,"text":1003},{"id":1583,"depth":149,"text":1583},"ide","\u002Fimg\u002Ftools\u002Fcursor.webp","Cursor 2026 真实评测：SpaceX 以 600 亿美元收购后的最强 AI IDE，基于 VS Code，支持 Composer 2.5 多文件改写、Cloud Agents、MCP、Claude Sonnet 5 \u002F GPT-5.6 \u002F Grok 4.5 多模型和 Bugbot。本文整理最新版本、价格、支付宝付款、国内网络风险、封号避坑，以及和 Trae、Devin Desktop、Claude Code 的选择建议。",false,[1645,1648,1651,1654,1657,1660],{"q":1646,"a":1647},"Cursor 国内能用吗？","可以，但需要全程稳定的代理。直连不稳，且高频切 IP 会触发账号风控。建议：固定家庭网 + 稳定代理，避免频繁切换。",{"q":1649,"a":1650},"Cursor Pro 多少钱？怎么付款？","$20\u002F月起。Pro 之外还有 Pro+ 和 Ultra（更高用量），Teams $40\u002F用户\u002F月。支持支付宝（结账页选 Alipay），也支持 Visa\u002FMastercard 国际信用卡。开发票需 Business \u002F Teams 计划。",{"q":1652,"a":1653},"Cursor 和 VS Code 区别？","Cursor 是 VS Code 的 fork，几乎所有 VS Code 插件都兼容。最大差异是内置 Composer（多文件 Agent）、Tab 智能补全、@-symbol 上下文检索，这三个 VS Code 原生没有。",{"q":1655,"a":1656},"Cursor 支持自定义 API（DeepSeek \u002F Qwen）吗？","支持。设置里可填 OpenAI \u002F Anthropic 兼容的 base_url 和 key，但 Composer \u002F Tab 等高级功能仅在自带模型上工作最好。",{"q":1658,"a":1659},"Cursor Rules 是什么？","项目根目录下的 .cursor\u002Frules\u002F*.mdc（新版）或 .cursorrules（旧版）文件，给 AI 提供项目级上下文（编码规范、技术栈、目录结构）。每次对话都会自动注入。",{"q":1661,"a":1662},"Background Agent \u002F Bugbot 是什么？","Background Agents 在云端 VM 异步跑任务，你可以同时做别的；Bugbot 是 PR 检查器，自动扫描漏洞和给 fix 建议（2026 起进 Pro 默认按量计费）。",[1664,1665],"zh","en",{},[1668,1669,1670,1671,1672],"claude-sonnet-5","gpt-5.6","grok-4.5","gemini-3-pro","composer-2.5",[1674,1675,1676,1677],"国内纯内网开发（连不上）","重度 JetBrains 用户（IDEA \u002F WebStorm \u002F GoLand）","预算敏感或学生（先试 Trae \u002F 通义灵码）","对 usage-based 计费高度敏感（2025-06 之后按 token 计费，重度用户月底容易超）","\u002Ftools\u002Fcoding\u002Fide\u002Fcursor","coding",[1681,1682,1683],"windows","macos","linux",[1685,1691,1697,1702,1707],{"plan":1686,"price":1687,"limit":1688,"cn_pay":1689,"note":1690},"Hobby (Free)","$0","Agent 限量 + Tab 补全限量","❌","仅试用，不可付费",{"plan":1692,"price":1693,"limit":1694,"cn_pay":1695,"note":1696},"Pro","$20\u002F月","扩展 Agent + 前沿模型 + Cloud Agents + Bugbot（按量）","✅ 支付宝","个人主力档",{"plan":1268,"price":1698,"limit":1699,"cn_pay":1700,"note":1701},"$60+ \u002F $200\u002F月","更高用量配额，Agent 重度用户","✅","天天跑 Agent 的开发者",{"plan":1703,"price":1704,"limit":1705,"cn_pay":1700,"note":1706},"Teams","$40\u002F用户\u002F月","团队计费 + SSO + 团队 Rules \u002F Skills \u002F 共享 Bugbot","团队档",{"plan":1708,"price":1709,"limit":1710,"cn_pay":1700,"note":1711},"Enterprise","Custom","Pool 用量 \u002F SCIM \u002F 审计 \u002F 仓库与模型访问控制","大型组织","Free \u002F Pro $20\u002Fmo \u002F Pro+ \u002F Ultra \u002F Teams $40\u002Fuser\u002Fmo \u002F Enterprise","2026-06-18",[1715,1716,1717,1718,1719],"ai-coding\u002Fcursor-rules-best-practice","ai-coding\u002Fagents-md-protocol","ai-agent\u002Fmcp-from-zero","ai-coding\u002Frefactor-legacy-with-ai","ai-coding\u002Fcursor-vs-claude-code-when-to-use",[1721,1722,1723,1724,1725,1726],"ai-coding-tool-decision-tree","cursor-deep-review","cursor-vs-windsurf-vs-trae","qoder-deep-review","trae-deep-review","windsurf-deep-review",{"power":167,"ux":167,"price":155,"cn_support":155,"stability":161},{"title":1013,"description":1642},"Cursor 评测 2026：SpaceX 收购后的最强 AI IDE？价格、模型与国内避坑",[1731,1732,1734,1736],{"title":1075,"url":1076},{"title":1733,"url":1598},"Cursor Composer 官方文档",{"title":1735,"url":1605},"Cursor Changelog（3.9–3.11）",{"title":1737,"url":1738},"SpaceX 收购 Anysphere（Reuters\u002FSEC）","https:\u002F\u002Fwww.reuters.com\u002Ftechnology\u002F","tools\u002Fcoding\u002Fide\u002Fcursor",[1741,1742,1743,1744],"全栈开发者（前端 \u002F 后端 \u002F 全栈一把抓）","习惯 VS Code 不想换编辑器的人","需要多文件大改、Agent 长任务的人","已经在用 MCP 生态（GitHub \u002F Linear \u002F Slack 等）的团队","AI 原生代码编辑器，Composer 多文件改写一时无两（现为 SpaceX 子公司）",[1640,1747,1748,1749,1750,1751,1752],"agent-mode","composer","mcp","vscode-fork","bugbot","background-agent","2026-07-20","SpaceX 收购后资源更足、自研模型加持；如果不在乎价格和网络，这是开发者第一选择；如果在乎，先看 Trae \u002F Claude Code。","https:\u002F\u002Fcursor.com","BIY5W7kbkRy4Hu86QI4fywOdztz9Xc38KKfl_qKX5t4",1785666673058]