> ## 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 的记忆和规则，通过全局规则、工作区规则以及企业系统级规则，在不同对话间持续保留上下文。

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

在 Cascade 中，可通过两种机制实现这一点：记忆 和规则。记忆 可由 Cascade 自动生成，而规则则由用户在本地和全局层级手动定义。

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

在 Cascade 中，随时都可以点击右上角侧滑菜单中的 `Customizations` 图标，访问并配置记忆和 规则。要编辑现有记忆，只需点进去，再点击 `Edit` 按钮即可。

<Frame>
  <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/managing-memories-jb.gif?s=88e9c5c87919fdf7768141c1a9d15137" width="800" height="506" data-path="desktop/assets/managing-memories-jb.gif" />
</Frame>

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

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

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

Cascade 自动生成的记忆会与其创建时所在的工作区相关联，并且 Cascade 会在它认为这些记忆相关时将其调取出来。在一个工作区中生成的记忆，无法在另一个工作区中使用。

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

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

用户可以显式定义自己的规则，供 Cascade 遵循。

规则既可以在全局级别定义，也可以在工作区级别定义。

`global_rules.md` - 适用于所有工作区的规则

`.windsurf/rules` - 工作区级目录，包含与 glob 模式或自然语言描述相关联的规则。

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

Windsurf 会自动从多个位置发现 规则，以便灵活组织：

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

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

规则 可以存储在以下任一位置：

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

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

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

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

每个 规则 文件最多可包含 12000 个字符。

<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">
  ## 系统级规则 (企业版)
</div>

企业版组织可以部署系统级规则，这些规则会在所有工作区中全局生效，且终端用户如果没有管理员权限则无法修改。对于强制执行组织范围内的编码标准、安全策略和合规要求，这种方式非常适合。

系统级规则会从特定于操作系统的目录中加载：

**macOS：**

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

**Linux/WSL：**

```
/etc/windsurf/rules/*.md
```

**Windows：**

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

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

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

系统级规则会与工作区规则和全局规则合并，在不覆盖用户自定义规则的前提下，为 Cascade 提供额外上下文。这使组织能够建立基础标准，同时仍允许团队添加项目级的自定义配置。

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

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