windsurf rules与skill的使用

在 Windsurf 中,RulesSkills (在 Windsurf 中主要指 Workflows) 是两种核心的定制化工具,它们共同决定了 AI 助手 Cascade 如何与你交互和执行任务。简单来说,Rules 是设定 AI 的行为准则,而 Workflows 是教 AI 执行特定任务的步骤。

下面我们来详细拆解它们的区别和具体使用方法。

🆚 Rules 与 Workflows (Skills) 的核心区别

为了帮助你更直观地理解,可以参考下表:

特性 Rules (规则) Workflows (工作流 / Skills)
核心作用 设定行为和准则,定义 AI 的角色、偏好和约束 。 自动化任务流程,定义完成特定工作的多步骤指令 。
工作方式 全局背景,像一个始终存在的系统提示词,影响所有对话 。 手动触发 ,必须通过 / 命令主动调用才会执行 。
适合场景 代码风格、技术栈偏好、回复语言、项目背景知识 。 代码审查、部署流程、运行测试、格式化代码等重复性任务 。

⚙️ Rules:给Cascade立下的规矩

Rules 就像是 Cascade 的"基本法",你希望它在整个项目交互中始终遵守的约定,都应该写在这里。

  • 两种配置范围

    1. Global Rules (全局规则):在你的所有 Workspace 中生效。适合设置个人通用偏好,比如"请始终用中文回答我的问题" 。

    2. Workspace Rules (项目规则):只在当前项目目录下生效。适合声明项目的技术栈(如"这是一个 Java Spring Boot 项目,使用 Maven 和 MySQL")、目录结构等上下文信息,让 AI 的回答更贴合项目实际 。

  • 如何配置

    • 图形界面:在 Cascade 界面右上角的"Customizations"图标中,可以找到设置入口。

    • 文件配置 :你可以在项目根目录下创建一个名为 .windsurfrules 的文件,将你的规则以纯文本形式写入 。例如:

      复制代码
      你是一名经验丰富的资深Java开发架构师。
      始终坚持 SOLID 原则、DRY 原则。
      使用中文回答我的问题。
      本项目使用SpringBoot 2.7, Java 8, MybatisPlus。
  • 最佳实践 :一个好的 Rule 应该像一份产品需求文档的一部分。可以定义好角色背景技术栈项目结构通用规范 。你甚至可以从网上找到一些优秀的 cursorrules 仓库(Cursor 的类似功能)作为参考,将其内容稍作调整后用于 Windsurf 。

🔄 Workflows:让Cascade执行自动化流程

Workflows 就像是给 Cascade 的一份"操作手册"。当你输入 / 命令时,它就会按照手册里写的步骤,一步一步地帮你把事情做完 。

  • 触发方式 :在 Cascade 的对话输入框中,输入 / 加上你定义的工作流名称,例如 /review-pr/deploy-staging

  • 存储位置 :Workflows 是以 .md 格式存储的。Windsurf 会从以下位置查找它们 :

    • 工作区 (Workspace) :项目内的 .windsurf/workflows/ 目录。这些文件可以提交到 Git 仓库,与团队成员共享。

    • 全局 (Global) :用户目录下的 ~/.codeium/windsurf/global_workflows/。仅供自己使用。

    • 内置 (Built-in) :Windsurf 自带的一些模板,比如 /plan

    • 系统 (System):企业版中由 IT 统一部署,对所有员工生效。

  • 如何创建

    1. 点击 Cascade 界面右上角的 "Customizations" 图标,进入 "Workflows" 面板。

    2. 点击 "+ Workflow" 按钮,或者直接在对应的目录下新建一个 .md 文件。

    3. 在 Markdown 文件中,你需要用清晰的列表或步骤来描述任务。Windsurf 官方提供了一个 /address-pr-comments 的例子 :

      markdown

      复制代码
      1.  Check out the PR branch: `gh pr checkout [id]`
      2.  Get comments on PR
          ```bash
          gh api --paginate repos/[owner]/[repo]/pulls/[id]/comments | jq '.[] | {user: .user.login, body, path, line, original_line, created_at, in_reply_to_id, pull_request_review_id, commit_id}'
      1. For EACH comment, do the following...
      复制代码

💡 搭配使用,效率翻倍

在实际开发中,RulesWorkflows 是黄金搭档。

  • 用 Rules 打好地基:当你开启一个新项目时,首先在 Workspace Rules 里告诉 Cascade 这个项目"用什么语言"(技术栈)、"房子要盖成什么风格"(代码规范)。这样,Cascade 从一开始就能理解项目背景 。

  • 用 Workflows 搭建自动化流水线 :当需要进行"铺设地板"、"安装电路"这类重复性工作时,比如每次提交代码前都要运行测试、格式化代码,就可以创建一个 Workflow。只需输入 /test-and-format,Cascade 就会按照你设定的步骤,自动帮你完成这一切 。

相关推荐
笨笨马甲2 小时前
Qt network开发
开发语言·qt
不染尘.2 小时前
排序算法详解1
开发语言·数据结构·c++·算法·排序算法
Via_Neo2 小时前
JAVA中对数的表达,将浮点数转为保留指定位数的字符串
java·开发语言
sdm0704272 小时前
linux权限
linux·运维·服务器
Lzh编程小栈2 小时前
数据结构与算法——单链表超详解(C语言完整实现 + 面试高频题)
c语言·开发语言·面试
沐知全栈开发2 小时前
Shell 函数
开发语言
2301_816651222 小时前
移动语义在容器中的应用
开发语言·c++·算法
万里不留行2 小时前
解决ubuntu docker拉取环境失败问题
linux·ubuntu·docker
2401_857918292 小时前
实时数据处理中的C++应用
开发语言·c++·算法