> ## 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.

# 记忆与规则

> 通过自动生成的记忆和用户定义的规则，在全局、工作区和系统级别让上下文在 Cascade 对话间持续保留，适用于企业团队。

`记忆` 是用于在对话间共享并持久保留上下文的系统。

在 Devin Desktop 中，这通过两种机制实现：由 Cascade 自动生成的 **记忆**，以及由用户在全局、工作区或系统级别手动定义的 **规则**。

<div id="memories-rules-workflows-or-skills">
  ## 记忆、规则、工作流程，还是 Skills？
</div>

Devin Desktop 提供了多种自定义 Cascade 的方式。使用下表选择最合适的一种：

| 功能                                             | 作用                                      | 激活方式                                                                      | 适用场景                                         |
| ---------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------- |
| **[规则](#rules)**                               | 告诉 Cascade *应如何表现* (例如“使用 bun，不要用 npm”) | `always_on`、`glob`、`model_decision` 或 `manual` ([见下文](#activation-modes)) | 编码规范、风格指南、项目约束                               |
| **[AGENTS.md](/zh/desktop/cascade/agents-md)** | 按位置划分作用域、零配置的规则                         | 自动 —— 根目录 = 始终生效，子目录 = glob                                               | 无需 frontmatter 的目录级规范                        |
| **[工作流程](/zh/desktop/cascade/workflows)**      | 适用于可重复多步骤任务的提示模板                        | 仅支持**手动**，通过 `/[workflow-name]` Slash Command 触发                          | 部署、PR 评审、发布检查清单                              |
| **[Skills](/zh/desktop/cascade/skills)**       | 打包了支持文件 (脚本、模板) 的多步骤步骤                  | 由模型动态调用，或通过 `@mention` 调用                                                 | 当 Cascade 需要参考文件来处理复杂任务时 —— **优先考虑这个**       |
| **[记忆](#memories)**                            | Cascade 在对话中自动生成的上下文                    | 相关时自动检索                                                                   | 让 Cascade 记住一次性事实；对于持久知识，优先使用 规则 或 AGENTS.md |

<Tip>
  **建议：** 对于你希望 Cascade 稳定复用的知识，请将其写成 Rule，或添加到你仓库中的 `AGENTS.md`，不要依赖自动生成的记忆。规则 可纳入版本控制、可与团队共享，还能让你明确控制其激活方式。
</Tip>

<div id="how-to-manage-memories">
  ## 如何管理记忆
</div>

记忆和 规则 可随时通过以下方式访问和配置：在 Cascade 中点击右上角滑出菜单里的 `Customizations` 图标，或点击右下角的 “Devin - 设置”。要编辑现有记忆，只需点开相应记忆，然后点击 `Edit` 按钮。

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

<div id="memories">
  ## 记忆
</div>

在对话过程中，如果 Cascade 遇到它认为值得记住的上下文，就会自动生成并存储记忆。

此外，你也可以随时让 Cascade 创建一条记忆。只需提示 Cascade“创建一条关于……的记忆”。

Cascade 自动生成的记忆会与创建它们的工作区相关联，并存储在本地的 `~/.codeium/windsurf/memories/` 中。Cascade 会在它认为这些记忆相关时调取它们。在一个工作区中生成的记忆无法在另一个工作区中使用，并且不会提交到你的代码仓库。

<Tip>创建和使用自动生成的记忆**不会**消耗额度。</Tip>

<Note>
  自动生成的记忆仅保存在你的机器上。如果你希望 Cascade 持久地记住某些内容——并与你的团队共享——请改为让 Cascade 将其写入 `.devin/rules/` (或旧版的 `.windsurf/rules/`) 中的 [Rule](#rules) 或你代码仓库中的 `AGENTS.md`。
</Note>

<div id="rules">
  ## 规则
</div>

用户可以明确地定义自己的规则，供 Cascade 遵循。

规则可以在全局、工作区或系统级别定义，也可以从 [AGENTS.md](/zh/desktop/cascade/agents-md) 文件中识别出来。

| 作用域                                               | 位置                                                         | 说明                                                                                                     |
| ------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| 全局                                                | `~/.codeium/windsurf/memories/global_rules.md`             | 单个文件，适用于所有工作区。始终生效。最多 6,000 个字符。                                                                       |
| 工作区                                               | `.devin/rules/*.md` (首选) 或 `.windsurf/rules/*.md` (回退)     | 每条规则对应一个文件，每个文件都有各自的[激活模式](#activation-modes)。每个文件最多 12,000 个字符。工作区根目录中的旧版单文件 `.windsurfrules` 也仍会被读取。 |
| [AGENTS.md](/zh/desktop/cascade/agents-md)        | 工作区中的任意目录                                                  | 由同一规则引擎处理——根目录级别 = 始终生效，子目录 = 自动对该目录进行 glob 匹配。                                                        |
| [系统 (Enterprise)](#system-level-rules-enterprise) | 因操作系统而异 (例如 `/etc/devin/rules/`，旧版 `/etc/windsurf/rules/`) | 由 IT 部署，终端用户仅可读取。                                                                                      |

<div id="rules-discovery">
  ## 规则发现
</div>

Devin Desktop 会自动从多个位置发现规则，从而支持更灵活的组织方式。`.devin/` 目录是首选位置并具有更高优先级，而 `.windsurf/` 则作为向后兼容的后备保留：

* **当前工作区和子目录**：当前工作区及其子目录中所有的 `.devin/rules` (以及旧版 `.windsurf/rules`) 目录
* **Git 仓库结构**：对于 Git 仓库，Devin Desktop 还会向上搜索到 Git 根目录，以查找父目录中的规则
* **支持多个工作区**：当同一工作区中打开了多个文件夹时，系统会对规则去重，并以最短相对路径显示

<div id="rules-storage-locations">
  ### 规则 存储位置
</div>

规则 可以存储在以下任一位置 (优先使用 `.devin/`，且其优先级高于 `.windsurf/`) ：

* 你当前工作区目录中的 `.devin/rules` 或 `.windsurf/rules`
* 你工作区任意子目录中的 `.devin/rules` 或 `.windsurf/rules`
* git 根目录之前的各级父目录中的 `.devin/rules` 或 `.windsurf/rules` (适用于 git 代码仓库)

当你创建新规则时，它会保存在当前工作区的 `.devin/rules` 目录中，不一定是在 git 根目录下。

要开始使用 规则，请点击 Cascade 右上角侧边滑出菜单中的 `Customizations` 图标，然后进入 `规则` 面板。在这里，你可以分别点击 `+ 全局` 或 `+ 工作区` 按钮，在全局级别或工作区级别创建新规则。

<Tip>你可以在 [https://windsurf.com/editor/directory](https://windsurf.com/editor/directory) 找到由 Devin Desktop 团队整理的示例规则模板，帮助你快速上手。</Tip>

每个工作区规则文件最多可包含 12,000 个字符。全局规则文件最多可包含 6,000 个字符。

<div id="activation-modes">
  ### 激活模式
</div>

每条 工作区 规则都会在其 frontmatter 中通过 `trigger` 字段声明一种激活模式。这决定了规则内容**何时**会提供给 Cascade，以及**会占用多少上下文窗口**：

| Mode     | `trigger:` value | How it reaches Cascade                                               | Context cost              |
| -------- | ---------------- | -------------------------------------------------------------------- | ------------------------- |
| **始终开启** | `always_on`      | 完整的规则内容会在每条消息中都包含在系统提示中。                                             | 每条消息都会占用                  |
| **模型决策** | `model_decision` | 系统提示中只会显示 `description`。当 Cascade 判断该描述相关时，会读取完整的规则文件。               | 始终包含 Description；完整内容按需加载 |
| **Glob** | `glob`           | 当 Cascade 读取或编辑与 `globs` 模式匹配的文件时，会应用该规则 (例如 `*.js`、`src/**/*.ts`) 。 | 仅在触及匹配文件时                 |
| **手动**   | `manual`         | 该规则**不会**出现在系统提示中。你可以在 Cascade 输入框中键入 `@rule-name` 来激活它。             | 仅在被 @ 提及时                 |

<Note>
  全局规则文件 (`global_rules.md`) 和根目录下的 `AGENTS.md` 文件不使用 frontmatter——它们始终处于开启状态。
</Note>

带有 frontmatter 的 工作区 规则示例：

```markdown theme={null}
---
trigger: glob
globs: **/*.test.ts
---

所有测试文件必须使用 `describe`/`it` 块，并模拟外部 API 调用。
```

<div id="best-practices">
  ### 最佳实践
</div>

为帮助 Cascade 更有效地遵循你的规则，建议采用以下最佳实践：

* 保持规则简单、简洁且具体。过长或含糊的规则可能会让 Cascade 难以理解。
* 无需添加通用规则 (例如 "编写优质代码") ，因为这些内容已经内置于 Cascade 的训练数据中。
* 使用项目符号、编号列表和 Markdown 来组织你的规则。与冗长的段落相比，这些格式更便于 Cascade 遵循。例如：

```
# Coding Guidelines 
- My project's programming language is python
- Use early returns when possible
- Always add documentation when creating new functions and classes
```

* XML 标签是传达信息并将相似规则归类到一起的有效方式。例如：

```
<coding_guidelines>
- My project's programming language is python
- Use early returns when possible
- Always add documentation when creating new functions and classes
</coding_guidelines>
```

<div id="system-level-rules-enterprise">
  ## 系统级规则 (Enterprise)
</div>

Enterprise 组织可以部署适用于所有工作区的全局系统级规则，终端用户若无管理员权限则无法修改。这非常适合用于强制执行组织范围内的编码标准、安全策略和合规要求。

系统级规则从操作系统特定的目录中加载。优先使用 `Devin` 目录并具有更高优先级，同时保留旧版 `Windsurf` 目录作为后备：

**macOS:**

```
/Library/Application Support/Devin/rules/*.md
/Library/Application Support/Windsurf/rules/*.md   # legacy fallback
```

**Linux/WSL：**

```
/etc/devin/rules/*.md
/etc/windsurf/rules/*.md   # 旧版回退
```

**Windows：**

```
C:\ProgramData\Devin\rules\*.md
C:\ProgramData\Windsurf\rules\*.md   # legacy 回退
```

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

<div id="how-system-rules-work">
  ### 系统规则的工作方式
</div>

系统级规则会与工作区规则和全局规则合并，为 Cascade 提供额外上下文，同时不会覆盖用户定义的规则。这样一来，组织既可以建立基线标准，也仍然允许团队添加项目级自定义配置。

在 Devin Desktop UI 中，系统级规则会显示“System”标签，终端用户无法删除。

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