
OpenSpec 在 Trae 与 Cursor 上的最佳实践从“凭感觉”到“照单执行”引言AI 编程的“凭感觉”困境想象一下这个场景周四下午产品经理找到你“帮忙加个用户管理功能吧就是基本的增删改查应该很简单。”你打开 Cursor输入需求AI 很快生成了代码。但你一看——只有简单的列表展示没有权限控制没有状态管理没有批量操作。于是你开始第二轮、第三轮对话不断补充需求细节RBAC 权限、状态转换规则、事务支持……30 分钟过去了你还在和 AI “拉扯”。这就是典型的Vibe Coding凭感觉编码——你和 AI 在“边聊边改”的低效循环中浪费时间代码质量参差不齐最终还是要大量返工。OpenSpec 正是为了解决这个问题而生。什么是 OpenSpecOpenSpec 是一个 AI 原生的规范驱动开发Spec-Driven Development系统。它的核心理念只有一句话在写任何一行代码之前先和 AI 就“要做什么”达成明确一致并把这个共识记录成结构化的规范文件作为整个开发过程的单一事实来源。OpenSpec 支持Claude Code、Cursor、Trae 等 22 种 AI 编程工具完全不锁定特定工具。它通过三个核心机制让 AI 编码变得可控文件化需求需求不再是聊天记录中的几句话而是存在项目里的 Markdown 文件Delta Spec 机制改需求时只需描述“什么在变化”让规范演进清晰可追溯三层验证从格式到语义到业务逻辑确保 AI 理解的和你想表达的是同一回事一个形象的类比如果 AI 开发是盖楼OpenSpec 就是建筑施工图——明确“做什么、做成什么样”避免施工方偏离设计方向。Part 1在 Trae 上使用 OpenSpec场景设定假设你是一位前端开发者使用Trae CN字节跳动推出的 AI 原生 IDE开发一个日历功能。你希望用 OpenSpec 来规范整个开发流程。第一步安装 OpenSpec CLI在终端执行以下命令进行全局安装npminstall-gfission-ai/openspeclatest安装完成后运行openspec -V检查版本确认安装成功。第二步初始化项目进入你的项目目录执行初始化命令cdyour-project openspec init初始化时OpenSpec 会提示你选择使用的 AI 工具。由于早期版本的 OpenSpec 初始化选项中暂未直接列出 Trae你可以选择Other Tools适用于 VS Code 等。初始化后项目目录下会生成以下结构项目根目录/ ├── AGENT.md # 项目级规范需手动配置 └── openspec/ ├── AGENTS.md # OpenSpec 详细规范 ├── project.md # 项目知识库 ├── specs/ # 已实现能力规范 └── changes/ # 变更提案第三步手动配置 Trae 项目规则关键步骤来了老版本的 Trae 不会自动读取AGENT.md你需要手动将规范内容添加到 Trae 的“项目规则”中新版本Trae会自动加载。操作方式很简单打开 Trae 的设置 → 找到“项目规则”或类似配置入口 → 将openspec/AGENTS.md中的内容复制进去。这样Trae 在每次对话时就能“学习”到你的项目规范了。第四步配置 OpenSpec 完整工作流OpenSpec 默认只开了核心命令如 explore、apply、archive需要手动解锁全部能力。在终端执行openspec config profile连续两次回车选择全部的 skills 和 commands。推荐先选择Onboard和Continue change再按需选择更多。然后执行更新命令openspec update重启 Trae 后你就可以看到新增的 Skills 了。最后在 Trae 的设置 → 对话流 → 命令运行方式中新增命令白名单这样在 Solo 模式对话中就能直接识别和执行 OpenSpec 的 skills。第五步开始使用 —— 日历功能实战在 Trae 的 Solo 模式下输入/opsx:onboard 写一个最简单的日历AI 会根据 onboard 流程自动生成proposal.md需求提案解释为什么做这个功能design.md技术设计方案tasks.md任务拆解清单spec.md详细的功能规格说明随后AI 会按照这些文档逐步生成项目代码并依据规格说明进行测试验收。如果在开发过程中有任何修改需求使用/opsx:continue命令即可更新文档和代码。功能完成后使用/opsx:archive归档这次变更。Trae 常用 OpenSpec 命令速查命令描述/opsx:new change-name创建新的 OpenSpec 变更逐步创建各个 artifact/opsx:propose change-name创建变更并生成所有 artifact/opsx:apply change-name实现变更中的任务/opsx:archive change-name归档完成的变更【8L22】/opsx:explore分析问题思考解决方案/opsx:continue change-name继续未完成的变更/opsx:onboard引导新用户使用 OpenSpec Trae 最佳实践小结初始化时选择Other Tools虽然 Trae 未被直接列出但完全可用手动配置项目规则这是 Trae 上使用 OpenSpec 的关键一步解锁全部 commands用openspec config profile开启完整工作流善用/opsx:onboard这是上手最快的方式让 AI 帮你生成完整的规范文档Part 2在 Cursor 上使用 OpenSpec场景设定假设你是某电商公司的后端开发需要为订单系统新增一个“用户管理”功能包含RBAC 权限控制、用户状态管理激活/禁用/删除、批量操作、搜索和筛选。你希望用 OpenSpec 在 Cursor 中规范地完成这个任务。第一步安装与初始化和 Trae 一样首先安装 CLInpminstall-gfission-ai/openspeclatest然后在项目目录下初始化cdyour-project openspec init这次在初始化提示中选择Cursor。OpenSpec 会自动为 Cursor 生成适配的目录结构。第二步理解 Cursor 的集成机制OpenSpec 在 Cursor 中的集成主要通过.cursor/rules/和.cursor/skills/目录实现。初始化后Cursor 会自动识别这些规范文件在每次对话时加载。核心工作流程是Cursor 启动时自动读取规范文件当用户请求涉及“提案/规范/变更/计划”等关键词时自动加载详细规范AI 严格按照规范执行任务第三步发起变更提案在 Cursor 的对话中输入/openspec:proposal 实现用户管理功能包含RBAC权限控制、用户状态管理、批量操作、搜索筛选AI 会根据规范生成完整的变更提案包括proposal.md—— 解释为什么要做、影响范围是什么## Why 为订单系统提供完整的用户管理能力支持管理员对用户进行精细化管理。 ## What Changes - 新增用户列表页面支持分页、搜索、筛选 - 新增用户创建/编辑/删除功能 - 新增 RBAC 权限控制管理员/普通用户 - 新增用户状态管理active / disabled / deleted - 新增批量操作批量激活、批量删除 ## Impact - 新增文件UserManagement.jsx、userService.js、useUserManagement.js - 修改文件App.jsx添加路由、api/index.js新增接口spec.md—— 详细的验收场景这是 AI 编码的“法律”## Requirement: 用户列表展示 系统应以表格形式展示所有用户支持分页。 Scenario: 成功加载用户列表 - GIVEN 系统中存在至少一个用户 - WHEN 管理员访问用户管理页面 - THEN 显示用户列表包含姓名、邮箱、角色、状态、操作列 ## Requirement: 用户状态转换 系统应支持用户状态的有序转换。 Scenario: 激活用户 → 禁用用户可逆 - GIVEN 用户状态为 active - WHEN 管理员执行“禁用”操作 - THEN 用户状态变为 disabled Scenario: 激活用户 → 删除用户不可逆 - GIVEN 用户状态为 active - WHEN 管理员执行“删除”操作 - THEN 用户状态变为 deleted且不可恢复design.md—— 技术决策## Context 订单系统的用户管理模块需与现有 RBAC 体系兼容。 ## Decisions - 权限控制复用现有 RBAC 中间件基于资源进行权限校验 - 状态管理使用 Zustand 管理用户列表状态 - 批量操作后端使用数据库事务保证原子性 - API 设计RESTful 风格支持分页参数 page 和 size ## Risks - 批量删除操作风险较高 → 需二次确认弹窗 - 状态转换规则复杂 → 前端需校验转换合法性tasks.md—— 可执行的任务清单## 1. 前端页面开发 - [ ] 1.1 创建 UserManagement 页面组件 - [ ] 1.2 实现用户列表表格含分页 - [ ] 1.3 实现搜索和筛选功能 - [ ] 1.4 实现用户创建/编辑弹窗 - [ ] 1.5 实现用户状态切换操作 ## 2. 权限控制 - [ ] 2.1 集成 RBAC 权限校验 - [ ] 2.2 根据角色控制页面元素显隐 ## 3. 批量操作 - [ ] 3.1 实现多选功能 - [ ] 3.2 实现批量激活/删除含二次确认 ## 4. 测试与验收 - [ ] 4.1 单元测试覆盖核心逻辑 - [ ] 4.2 端到端测试覆盖主要流程第四步审查规范这是最关键的一步。在 AI 开始写代码之前仔细审查这四个文件spec.md里的场景是否覆盖了所有边界情况design.md的技术选型是否合理tasks.md的任务拆解是否完整此时修改成本最低——你只需要改动几行 Markdown而不是等代码写完后再返工。第五步实施审查通过后在 Cursor 中输入/openspec:applyAI 会严格按照tasks.md中的清单一步一步地编写代码。每完成一个任务自动标记为[x]。你可以随时检查进展。第六步归档功能开发完成并通过测试后/openspec:archive这个命令会将变更文件夹移至archive/目录作为历史记录并将规范合并到主规范库中。 Cursor 最佳实践小结初始化时选择CursorOpenSpec 会自动生成适配的目录结构充分利用自动读取Cursor 会自动加载规范文件无需手动配置重视规范审查环节在apply之前仔细审阅spec.md和design.md善用/openspec:propose让 AI 帮你生成完整的规范文档初稿总结Trae vs Cursor 使用对比对比维度TraeCursor初始化选择Other Tools选择Cursor规范加载需手动配置到“项目规则”自动读取.cursor/rules/命令方式/opsx:xxx/openspec:xxx上手难度稍高需手动配置较低开箱即用核心流程提案 → 审查 → 实施 → 归档提案 → 审查 → 实施 → 归档核心 takeaways无论你用的是 Trae 还是 CursorOpenSpec 带来的核心价值是一致的告别“AI 失忆症”规范存储在项目文件中AI 和人随时查阅不会因切换对话而丢失上下文让 AI 更“听话”AI 的产出变得可预测、可控制不再是“黑盒”操作团队协作更顺畅统一的规范文件让所有人都遵循同一套标准质量可追溯每个变更从提案到归档全流程可查便于复盘OpenSpec 将 AI 编程从依赖“感觉”的艺术创作转变为基于规范的工程实践。无论你选择 Trae 还是 Cursor这套方法论都能让你的 AI 开发流程更加可控、高效、可追溯。