> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 工作流程

> 使用以 markdown 文件定义的可复用工作流程，在 Cascade 中自动处理重复性任务。创建 PR 审查、部署、测试和代码格式化工作流程。

工作流程让用户能够定义一系列步骤，引导 Cascade 处理重复性任务，例如部署服务或回复 PR 评论。

这些工作流程会保存为 markdown 文件，方便用户及其团队以简单、可重复的方式运行关键流程。

保存后，可以通过 `/[name-of-workflow]` 格式的斜杠命令在 Cascade 中调用工作流程。

<Note>
  工作流程**仅支持手动触发**——Cascade 绝不会自动调用工作流程。如果你希望 Cascade 自行采用某个步骤，请改用 [技能](/zh/desktop/cascade/skills)。
</Note>

<div id="how-it-works">
  ## 工作原理
</div>

Rules 通常通过在提示层面提供持久、可复用的上下文，来为大语言模型提供指导。

工作流程则将这一概念扩展到执行轨迹层面，通过提供结构化的步骤或提示序列，引导模型完成一系列相互关联的任务或操作。

<Frame>
  <img style={{ maxHeight: "400px" }} src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/use-workflow-pr.png?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=92b4125d6d17f2a25ffea890592331fc" width="718" height="510" data-path="desktop/assets/windsurf/cascade/use-workflow-pr.png" />
</Frame>

要执行某个工作流程，用户只需在 Cascade 中使用 `/[workflow-name]` 命令调用即可。

<Tip>你可以在一个工作流程中调用其他工作流程！ <br /><br />例如，/workflow-1 可以包含“调用 /workflow-2”和“调用 /workflow-3”之类的指示。</Tip>

调用后，Cascade 会依次处理工作流程中定义的每个步骤，并按指定执行操作或生成响应。

<div id="how-to-create-a-workflow">
  ## 如何创建工作流程
</div>

要开始使用工作流程，请点击 Cascade 右上角滑出菜单中的 `Customizations` 图标，然后进入 `工作流程` 面板。在这里，你可以点击 `+ Workflow` 按钮来创建新的工作流程。

工作流程以 Markdown 文件形式保存在 `.windsurf/workflows/` 目录中，包含标题、描述，以及一系列带有具体指示、供 Cascade 遵循的步骤。

<div id="workflow-discovery">
  ## 工作流程发现
</div>

Devin Desktop 会自动从多个位置发现工作流程，从而提供更灵活的组织方式：

* **当前工作区和子目录**：当前工作区及其子目录中所有 `.windsurf/workflows/` 目录
* **Git 代码仓库结构**：对于 Git 代码仓库，Devin Desktop 还会向上搜索到 Git 根目录，以查找父目录中的工作流程
* **支持多个工作区**：当同一工作区中打开多个文件夹时，工作流程会自动去重，并以最短的相对路径显示

<div id="workflow-storage-locations">
  ### 工作流程存储位置
</div>

| 作用域                                                    | 位置                                          | 说明                                                  |
| ------------------------------------------------------ | ------------------------------------------- | --------------------------------------------------- |
| 工作区                                                    | `.windsurf/workflows/*.md`                  | 位于你当前工作区、任意子目录，或向上直到 git root 的任意父目录中。会随 repo 一起提交。 |
| 全局                                                     | `~/.codeium/windsurf/global_workflows/*.md` | 在你机器上的所有工作区中都可用。不会提交。                               |
| 内置                                                     | 由 Devin Desktop 管理                          | Devin Desktop 附带的模板 (例如 `/plan`) 。                  |
| [系统 (Enterprise) ](#system-level-workflows-enterprise) | 取决于操作系统 (例如 `/etc/windsurf/workflows/`)     | 由 IT 部署，终端用户只有只读权限。                                 |

当你通过 UI 创建新工作流程时，它会保存在当前工作区的 `.windsurf/workflows/` 目录中，不一定位于 git root。要创建全局工作流程，请使用 `工作流程` 面板中的 `+ Global` 按钮，或直接在 `~/.codeium/windsurf/global_workflows/` 中创建文件。

每个工作流程文件最多可包含 12000 个字符。

<video autoPlay controls muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/create-workflow.mp4?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=b0f3d54a0d24966384a91042468f72bf" data-path="desktop/assets/windsurf/cascade/create-workflow.mp4" />

<div id="generate-a-workflow-with-cascade">
  ### 使用 Cascade 生成工作流程
</div>

你也可以让 Cascade 帮你生成工作流程！对于需要在特定 CLI 工具中执行一系列步骤的工作流程，这种方式尤其有效。

<video autoPlay controls muted loop playsInline className="w-full aspect-video" src="https://mintcdn.com/cognitionai/hxeMffzXgF_RWx-U/desktop/assets/windsurf/cascade/create-workflow-with-cascade.mp4?fit=max&auto=format&n=hxeMffzXgF_RWx-U&q=85&s=f14c9012ab0e92d631b808072c439f60" data-path="desktop/assets/windsurf/cascade/create-workflow-with-cascade.mp4" />

<div id="example-workflows">
  ## 示例工作流程
</div>

工作流程有很多用例，例如：

<Card title="/address-pr-comments">
  这是我们团队内部用于处理 PR 评论的一个工作流程：

  ```
  1. 检出 PR 分支：`gh pr checkout [id]`

  2. 获取 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}'

  3. 对每一条评论，执行以下操作。注意一次只处理一条评论。
   a. 输出以下内容：“(index). 来自 [user]，位于 [file]:[lines] — [body]”
   b. 分析对应的文件和行范围。
   c. 如果你不理解这条评论，不要做任何修改。直接向我请求澄清，或者让我自己来处理。
   d. 如果你认为可以进行修改，请先完成修改，再继续处理下一条评论。

  4. 处理完所有评论后，总结你做了什么，以及哪些评论需要当前用户关注。
  ```
</Card>

<Card title="/git-workflows">
  使用预定义格式提交 commit，并通过合适的 CLI 命令创建标题和描述规范统一的拉取请求。
</Card>

<Card title="/dependency-management">
  根据配置文件 (例如 `requirements.txt`、`package.json`) 自动安装或更新项目依赖。
</Card>

<Card title="/code-formatting">
  在保存文件时或提交前自动运行代码格式化工具 (如 Prettier、Black) 和 lint 工具 (如 ESLint、Flake8) ，以保持代码风格一致并尽早发现错误。
</Card>

<Card title="/run-tests-and-fix">
  运行或添加单元测试或端到端测试，并自动修复错误，以确保在提交、合并或部署前的代码质量。
</Card>

<Card title="/deployment">
  自动执行将你的应用部署到不同环境 (开发、staging、生产) 的步骤，包括任何必要的部署前检查或部署后验证。
</Card>

<Card title="/security-scan">
  将代码库的安全漏洞扫描集成到 CI/CD 流水线中并触发执行，或按需运行。
</Card>

<div id="system-level-workflows-enterprise">
  ## 系统级工作流程 (企业版)
</div>

企业版组织可以部署系统级工作流程，这些工作流程会在所有工作区中全局可用，终端用户如果没有管理员权限则无法修改。这非常适合用于统一执行组织范围内的开发流程、部署步骤和合规工作流程。

系统级工作流程从操作系统对应的目录中加载：

**macOS:**

```
/Library/Application Support/Windsurf/workflows/*.md
```

**Linux/WSL：**

```
/etc/windsurf/workflows/*.md
```

**Windows：**

```
C:\ProgramData\Windsurf\workflows\*.md
```

将你的工作流程文件 (`.md` 文件) 放在与你的操作系统对应的目录中。系统会自动加载这些目录中的所有 `.md` 文件。

<div id="workflow-precedence">
  ### 工作流程优先级
</div>

当多个层级存在同名工作流程时，系统级工作流程的优先级最高：

1. **System** (最高优先级) - 由 IT 在组织范围内部署的工作流程
2. **工作区** - `.windsurf/workflows/` 中项目专属的工作流程
3. **全局** - `~/.codeium/windsurf/global_workflows/` 中用户自定义的工作流程
4. **内置** - Devin Desktop 提供的默认工作流程

这意味着，如果某个组织部署了一个具有特定名称的系统级工作流程，它将覆盖所有同名的工作区、全局或内置工作流程。

在 Devin Desktop UI 中，系统级工作流程会显示为带有 “System” 标签，且终端用户无法将其删除。

<Note>
  **重要**：系统级工作流程应由你的 IT 或安全团队负责管理。请确保你的内部团队根据组织策略处理部署、更新和合规要求。你可以使用标准工具和工作流程 (例如移动设备管理 (MDM) 或配置管理) 来完成这些操作。
</Note>
