ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Cursor规则类型意义全解:Manual、Always、Auto Attached 与 TaoToken 配置实践

Cursor规则类型意义全解:Manual、Always、Auto Attached 与 TaoToken 配置实践 1. Cursor 规则类型到底在管什么Manual、Always、Auto Attached 的语义差异Cursor 的 Rules 系统里Rule Type 决定了这条规则「什么时候被塞进模型的上下文」。很多人第一次打开.cursor/rules目录看到 Manual、Always、Auto Attached、Agent Requested 这几个选项随手选一个就写结果发现规则要么从不生效要么每次对话都被强行注入、把上下文挤爆。问题不在规则内容而在类型选错了。先把四个类型用一句话说清Always无条件生效。只要你在 Cursor 里发起任何 AI 请求这条规则都会被拼进 system prompt。适合全局编码风格、安全红线、命名规范。Auto Attached按文件匹配自动附加。你写globs: [src/**/*.ts]当 AI 处理到匹配的文件时规则自动加载。适合项目结构说明、模块映射、某类文件的约定。Manual手动引用才生效。你在对话里用规则名显式点名AI 才会读它。适合特殊硬件接口说明、一次性调试技巧、低频但重要的细节。Agent Requested由模型自己判断是否需要。AI 在推理过程中觉得「我需要更多背景」时主动请求加载。适合不常用但偶尔关键的辅助资料。这里有个容易踩的坑Always 不是越多越好。每条 Always 规则都会占用 token十条 Always 规则叠起来可能还没开始写代码上下文就被吃掉一大块。我试过在一个项目里放了 8 条 Always结果模型回答明显变慢、还开始忽略后面的指令——因为前面的规则把注意力占满了。所以选类型的核心逻辑是这条规则是「每次都必须遵守」还是「只在特定场景才需要」。前者用 Always后者往下走。判断标准可以简化成三个问题违反它会不会导致严重问题安全、数据、架构会 → Always。它是否只跟某类文件/目录相关是 → Auto Attached。它是否只在少数任务里才用得上是 → Manual 或 Agent Requested。Manual 和 Agent Requested 的区别在于「谁来触发」。Manual 是你主动Agent Requested 是模型主动要。实际用下来Agent Requested 的触发时机不太可控模型有时候该要的时候不要、不该要的时候乱要所以我更倾向把关键规则放 Manual自己控制节奏。理解了类型语义接下来要解决的是「规则生效时AI 请求发到哪里」。Cursor 默认走官方通道但如果你想让规则和模型调用都统一管理可以把 Base URL 指向 TaoToken用一套 Key 打通。下面先讲前置准备。2. 把 Cursor 的 Base URL 改到 TaoToken前置准备与 Key 获取Cursor 支持自定义 OpenAI 兼容的 Base URL这意味着你可以把模型请求指向 TaoToken 的统一通道。这样做的好处是规则文件还是放在本地.cursor/rules但模型调用走你自己的 Key方便统一计费和切换模型。前置准备分三步。第一步拿到 API Key。打开 TaoToken 控制台进入 API Keys 页面创建一个新 Key。地址是https://taotoken.net/api-keys创建后复制那串sk-开头的字符串只显示一次记得存好。第二步确认 Base URL。TaoToken 的 API 入口是https://taotoken.net/api注意这里不带任何查询参数就是干净的 API 根路径。Cursor 在填 Base URL 时通常需要带上/v1后缀取决于你选的模型协议所以实际填https://taotoken.net/api/v1。如果 Cursor 版本要求不带/v1它会自己补两个都试一下看哪个能通。第三步确认 Model ID。在 TaoToken 的模型列表里选一个你要用的比如claude-sonnet-4-20250514或gpt-4o。Model ID 必须和平台上的完全一致大小写、连字符都不能错否则会报 model not found。三件套凑齐后是这样配置项值Base URLhttps://taotoken.net/api/v1API Keysk-开头的那串Model ID平台模型列表里的准确名称注意Base URL 和 API Key 是两个独立的东西Key 决定「你是谁」Base URL 决定「请求发到哪」。改 Base URL 不会影响你本地规则文件的加载逻辑规则依然由 Cursor 本地解析。如果你用的是 Claude Code 或 Codex 这类命令行工具配置方式不一样但三件套是一样的。Claude Code 走环境变量ANTHROPIC_BASE_URL和ANTHROPIC_API_KEYCodex 走~/.codex/auth.json。Cursor 则是在设置界面里填。拿到 Key 之后别急着写规则先把连接跑通。下一节给可复制的配置片段。3. 可复制配置Cursor settings、规则文件与三件套片段这一节给三份可以直接抄的东西Cursor 的模型配置、规则文件的 frontmatter、以及命令行工具的配置片段。Cursor 模型配置。打开 Cursor 设置找到 Models 或 OpenAI API Key 区域填入{ openaiApiKey: sk-你的TaoToken密钥, openaiBaseUrl: https://taotoken.net/api/v1, model: claude-sonnet-4-20250514 }不同 Cursor 版本字段名可能略有差异有的叫baseUrl有的在 UI 里直接填。核心就是 Base URL、Key、Model ID 三件套对齐。规则文件 frontmatter。Cursor 的规则文件是.mdc格式开头用 YAML frontmatter 声明类型。Always 类型长这样--- description: 全局编码规范所有代码必须遵守 globs: alwaysApply: true --- # 全局规范 - 所有函数必须有类型注解 - 禁止使用 any - 提交前必须通过 lintAuto Attached 类型靠globs匹配--- description: TypeScript 源文件约定 globs: [src/**/*.ts, src/**/*.tsx] alwaysApply: false --- # TS 文件约定 - 使用命名导出不用默认导出 - 组件文件用 PascalCaseManual 类型不设 globs也不自动应用--- description: 特殊硬件接口说明需要时手动 引用 globs: alwaysApply: false --- # 硬件接口细节 - 寄存器地址 0x3F8 - 波特率固定 115200关键字段就三个description给人看globs决定 Auto Attached 匹配范围alwaysApply控制是否无条件生效。Manual 和 Agent Requested 都是alwaysApply: false且不设 globs区别在触发方式。命令行工具三件套。如果你同时用 Claude Code配置在环境变量里export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的TaoToken密钥 export ANTHROPIC_MODELclaude-sonnet-4-20250514Codex 则写进~/.codex/auth.json{ OPENAI_API_KEY: sk-你的TaoToken密钥, OPENAI_BASE_URL: https://taotoken.net/api/v1 }注意Cursor 的规则文件和模型配置是两套东西。规则文件决定「给模型看什么」模型配置决定「请求发到哪」。改 Base URL 不会让规则失效但规则里的内容会随请求一起发到 TaoToken 通道。配置写完下一步是验证。别跳过验证很多「规则不生效」其实是连接就没通。4. 逐项验证规则是否生效、请求是否走通验证分两层先确认模型请求能通再确认规则真的被加载。第一层连接验证。在 Cursor 里随便发一句「你好」看是否正常返回。如果报 401说明 Key 错了或没填如果报 connection error说明 Base URL 不对。也可以用 curl 直接测curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 回复 OK}] }返回里有choices数组且内容正常说明通道通了。第二层规则验证。这是重点。Always 规则的验证方法是写一条明显能影响输出的规则比如「所有回答必须以『收到』开头」然后随便问一句看模型是否遵守。遵守了说明 Always 生效。Auto Attached 的验证要麻烦一点。建一个src/test.ts写一条 globs 匹配src/**/*.ts的规则内容是「TS 文件里禁止用 var」。然后让 AI 改这个文件看它是否避开 var。如果没避开检查 globs 路径是否写对——Cursor 的 globs 是相对项目根目录的src/**/*.ts和./src/**/*.ts在某些版本里行为不同。Manual 的验证最直接不规则时问相关问题模型应该不知道规则名后再问模型应该能答上来。这个对比能确认 Manual 确实只在手动引用时生效。Agent Requested 比较难验证因为触发权在模型。你可以写一条规则说明「本项目使用特殊的日期格式 YYYYMMDD」然后问一个涉及日期的问题看模型是否主动请求加载。实测下来这个类型触发不稳定不建议把关键规则放这里。验证通过后你会看到类似这样的成功结果模型回答遵守了 Always 规则的开头要求改 TS 文件时避开了 var引用后能答出硬件接口细节。三层都过说明规则类型和 TaoToken 通道都配对了。5. 常见报错排查401、local proxy failed、reading choices、OAuth配 Cursor TaoToken 时报错集中在几个地方。逐个说。401 Unauthorized。最常见。原因通常是 Key 没填、填错、或者 Key 前面多了空格。检查sk-开头那串是否完整复制有没有换行。还有一种情况是 Key 被禁用或额度用完去控制台确认状态。local proxy failed。这个报错通常出现在 Cursor 尝试走本地代理但连不上时。检查 Base URL 是否写成了https://taotoken.net/api而 Cursor 又自己补了/v1导致路径变成/api/v1/v1。解决办法是 Base URL 只填到/api让 Cursor 自己补或者明确填/api/v1并确认 Cursor 不重复补。Error reading choices。返回体里没有choices字段。可能是模型名写错平台返回了错误结构也可能是请求被中间层拦截返回了 HTML。先用 curl 测同一个 Model ID确认返回结构正常。如果 curl 正常但 Cursor 报错检查 Cursor 的模型配置是否和 curl 一致。OAuth 相关报错。如果你用的是 Claude Code 或 Codex它们默认走 OAuth 登录流程。改成 API Key 模式需要显式设置环境变量否则它会一直尝试 OAuth。Claude Code 里确认ANTHROPIC_API_KEY已设置Codex 里确认auth.json格式正确。排查顺序建议固定成先 curl 测通道 → 再测 Cursor 单次请求 → 最后测规则加载。这样能把「连接问题」和「规则问题」分开不会混在一起瞎猜。注意所有报错排查都不要去动系统代理设置。Base URL 指向 TaoToken 是应用层配置和网络层无关。如果 curl 能通但 Cursor 不通问题一定在 Cursor 的配置字段不在网络。6. 规则类型选型建议与统一通道的长期用法回到选型。基于实际项目经验给一套默认分配全局编码风格、安全红线、命名规范 →Always。这类规则违反代价高必须无条件生效。控制在 3 条以内多了会挤上下文。项目结构、模块映射、某类文件的约定 →Auto Attached。用 globs 精确匹配别写**/*这种全匹配否则等于 Always。特殊硬件接口、调试技巧、低频细节 →Manual。需要时一下不占日常上下文。AI 推理辅助、优化建议 →Agent Requested。可以放但别依赖它触发不稳定。统一通道的长期价值在于规则文件是本地资产模型调用是外部服务两者解耦。你换模型、换项目、换工具规则文件可以复用只要 Base URL 和 Key 指向同一个通道。Cursor、Claude Code、Codex 三件套配好之后规则怎么写、放哪个类型就成了纯粹的工程问题不用再操心请求发到哪。最后给一个实操建议新建项目时先只写一条 Always 规则全局规范跑通验证流程再逐步加 Auto Attached 和 Manual。一次性堆十几条规则出了问题根本不知道是哪条导致的。规则系统是渐进搭建的不是一次配齐的。
返回列表